Merge pull request #303055 from r-ryantm/auto-update/libretro.mame2003-plus
[NixPkgs.git] / pkgs / top-level / perl-packages.nix
blobbf073f4b7bcfc27068f54d222a48d623968ac4da
1 /* This file defines the composition for CPAN (Perl) packages.  It has
2    been factored out of all-packages.nix because there are so many of
3    them.  Also, because most Nix expressions for CPAN packages are
4    trivial, most are actually defined here.  I.e. there's no function
5    for each package in a separate file: the call to the function would
6    be almost as much code as the function itself. */
8 { config
9 , stdenv, lib, buildPackages, pkgs, darwin
10 , fetchurl, fetchpatch, fetchFromGitHub, fetchFromGitLab
11 , perl, 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.isDarwin shortenPerlShebang;
104     propagatedBuildInputs = [ FileNext ];
105     postInstall = lib.optionalString stdenv.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 = "A 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 = "A 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 = "A 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.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 = "The 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.17";
590     src = fetchurl {
591       url = "mirror://cpan/authors/id/M/MS/MSTPLBG/AnyEvent-I3-0.17.tar.gz";
592       hash = "sha256-U4LJhMnxODlfKfDACvgaoMj0t2VYIFXHPt5LE/BKbWM=";
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 = "An 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 = "An 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.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     };
703   };
705   ApacheLogFormatCompiler = buildPerlModule {
706     pname = "Apache-LogFormat-Compiler";
707     version = "0.36";
708     src = fetchurl {
709       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz";
710       hash = "sha256-lFCVA+506oIBg9BwwRYw7lvA/YwSy3T66VPtYuShrBc=";
711     };
712     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
713     propagatedBuildInputs = [ POSIXstrftimeCompiler ];
714     # We cannot change the timezone on the fly.
715     prePatch = "rm t/04_tz.t";
716     meta = {
717       description = "Compile a log format string to perl-code";
718       homepage = "https://github.com/kazeburo/Apache-LogFormat-Compiler";
719       license = with lib.licenses; [ artistic1 gpl1Plus ];
720     };
721   };
723   ApacheSession = buildPerlModule {
724     pname = "Apache-Session";
725     version = "1.94";
726     src = fetchurl {
727       url = "mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.94.tar.gz";
728       hash = "sha256-/mm3aJmv6QuK5bgt4qqnV1rakIk39EhbgKrvMXVj6Z8=";
729     };
730     buildInputs = [ TestDeep TestException ];
731     meta = {
732       description = "A persistence framework for session data";
733       license = with lib.licenses; [ artistic1 gpl1Plus ];
734     };
735   };
737   ApacheTest = buildPerlPackage {
738     pname = "Apache-Test";
739     version = "1.43";
740     src = fetchurl {
741       url = "mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.43.tar.gz";
742       hash = "sha256-qZmfAqeBpYkhi1ibGHnBHEladFrwlXXly7It/LZWgKw=";
743     };
744     doCheck = false;
745     meta = {
746       description = "Test.pm wrapper with helpers for testing Apache";
747       license = with lib.licenses; [ asl20 ];
748     };
749   };
751   AppCLI = buildPerlPackage {
752     pname = "App-CLI";
753     version = "0.52";
754     src = fetchurl {
755       url = "mirror://cpan/authors/id/P/PT/PTC/App-CLI-0.52.tar.gz";
756       hash = "sha256-Ur1D9VWRPML/1kBfmVHSqr1Gr2PXAdm140amMycJ8M4=";
757     };
758     propagatedBuildInputs = [ CaptureTiny ClassLoad ];
759     buildInputs = [ TestKwalitee TestPod ];
760     meta = {
761       description = "Dispatcher module for command line interface programs";
762       license = with lib.licenses; [ artistic1 gpl1Plus ];
763     };
764   };
766   AppClusterSSH = buildPerlModule {
767     pname = "App-ClusterSSH";
768     version = "4.16";
769     src = fetchurl {
770       url = "mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-4.16.tar.gz";
771       hash = "sha256-G3y4q2BoViRK34vZrE0nUHwuQWh7OvGiJs4dsvP9VXg=";
772     };
773     propagatedBuildInputs = [ ExceptionClass Tk X11ProtocolOther XMLSimple ];
774     buildInputs = [ DataDump FileWhich Readonly TestDifferences TestTrap ];
775     preCheck = "rm t/30cluster.t t/15config.t"; # do not run failing tests
776     postInstall = ''
777       mkdir -p $out/share/bash-completion/completions
778       mv $out/bin/clusterssh_bash_completion.dist \
779         $out/share/bash-completion/completions/clusterssh_bash_completion
780       substituteInPlace $out/share/bash-completion/completions/clusterssh_bash_completion \
781         --replace '/bin/true' '${pkgs.coreutils}/bin/true' \
782         --replace 'grep' '${pkgs.gnugrep}/bin/grep' \
783         --replace 'sed' '${pkgs.gnused}/bin/sed'
784     '';
785     meta = {
786       description = "Cluster administration tool";
787       homepage = "https://github.com/duncs/clusterssh/wiki";
788       license = with lib.licenses; [ artistic1 gpl1Plus ];
789       mainProgram = "cssh";
790     };
791   };
793   AppCmd = buildPerlPackage {
794     pname = "App-Cmd";
795     version = "0.336";
796     src = fetchurl {
797       url = "mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.336.tar.gz";
798       hash = "sha256-35ZrV9WauxluADBIheW/EXypWBgq4/Tu3xchjqKDjoE=";
799     };
800     buildInputs = [ TestFatal ];
801     propagatedBuildInputs = [ CaptureTiny ClassLoad GetoptLongDescriptive IOTieCombine ModulePluggable StringRewritePrefix ];
802     meta = {
803       description = "Write command line apps with less suffering";
804       homepage = "https://github.com/rjbs/App-Cmd";
805       license = with lib.licenses; [ artistic1 gpl1Plus ];
806     };
807   };
809   AppConfig = buildPerlPackage {
810     pname = "AppConfig";
811     version = "1.71";
812     src = fetchurl {
813       url = "mirror://cpan/authors/id/N/NE/NEILB/AppConfig-1.71.tar.gz";
814       hash = "sha256-EXcCcCXssJ7mTZ+fJVYVwE214U91NsNEr2MgMuuIew8=";
815     };
816     buildInputs = [ TestPod ];
817     meta = {
818       description = "A bundle of Perl5 modules for reading configuration files and parsing command line arguments";
819       license = with lib.licenses; [ artistic1 gpl1Plus ];
820     };
821   };
823   AppFatPacker = buildPerlPackage {
824     pname = "App-FatPacker";
825     version = "0.010008";
826     src = fetchurl {
827       url = "mirror://cpan/authors/id/M/MS/MSTROUT/App-FatPacker-0.010008.tar.gz";
828       hash = "sha256-Ep2zbchFZhpYIoaBDP4tUhbrLOCCutQK4fzc4PRd7M8=";
829     };
830     meta = {
831       description = "Pack your dependencies onto your script file";
832       license = with lib.licenses; [ artistic1 gpl1Plus ];
833       mainProgram = "fatpack";
834     };
835   };
837   Appcpanminus = buildPerlPackage {
838     pname = "App-cpanminus";
839     version = "1.7047";
840     src = fetchurl {
841       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7047.tar.gz";
842       hash = "sha256-lj5jxuGocl/y9iTpCGOWrhUNtR3QozfDeB0JqZSvBaU=";
843     };
844     # Use TLS endpoints for downloads and metadata by default
845     preConfigure = ''
846       substituteInPlace bin/cpanm \
847         --replace http://www.cpan.org https://www.cpan.org \
848         --replace http://backpan.perl.org https://backpan.perl.org \
849         --replace http://fastapi.metacpan.org https://fastapi.metacpan.org \
850         --replace http://cpanmetadb.plackperl.org https://cpanmetadb.plackperl.org
851     '';
852     propagatedBuildInputs = [ IOSocketSSL ];
853     meta = {
854       description = "Get, unpack, build and install modules from CPAN";
855       homepage = "https://github.com/miyagawa/cpanminus";
856       license = with lib.licenses; [ artistic1 gpl1Plus ];
857       mainProgram = "cpanm";
858     };
859   };
861   Appcpm = buildPerlModule {
862     pname = "App-cpm";
863     version = "0.997014";
864     src = fetchurl {
865       url = "mirror://cpan/authors/id/S/SK/SKAJI/App-cpm-0.997014.tar.gz";
866       hash = "sha256-LdTAPFQDnC0CzN0u+VvG/1bPvbdGzQdvywqVR8UEmQg=";
867     };
868     buildInputs = [ ModuleBuildTiny ];
869     propagatedBuildInputs = [ CPAN02PackagesSearch CPANCommonIndex CPANDistnameInfo ClassTiny CommandRunner ExtUtilsInstall ExtUtilsInstallPaths FileCopyRecursive Filepushd HTTPTinyish MenloLegacy Modulecpmfile ModuleCPANfile ParsePMFile ParallelPipes locallib ];
870     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
871     postInstall = lib.optionalString stdenv.isDarwin ''
872       shortenPerlShebang $out/bin/cpm
873     '';
874     meta = {
875       description = "A fast CPAN module installer";
876       homepage = "https://github.com/skaji/cpm";
877       license = with lib.licenses; [ artistic1 gpl1Plus ];
878       maintainers = [ maintainers.zakame ];
879       mainProgram = "cpm";
880     };
881   };
883   Applify = buildPerlPackage {
884     pname = "Applify";
885     version = "0.23";
886     src = fetchurl {
887       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Applify-0.23.tar.gz";
888       hash = "sha256-fI3Z55e9DsJgDTAOzUnul4EZgxxlay0L3q7OoENIoRI=";
889     };
890     meta = {
891       description = "Write object oriented scripts with ease";
892       homepage = "https://github.com/jhthorsen/applify";
893       license = with lib.licenses; [ artistic2 ];
894       maintainers = [ maintainers.sgo ];
895     };
896   };
898   AppMusicChordPro = buildPerlPackage {
899     pname = "App-Music-ChordPro";
900     version = "6.030";
901     src = fetchurl {
902       url = "mirror://cpan/authors/id/J/JV/JV/App-Music-ChordPro-6.030.tar.gz";
903       hash = "sha256-a+5H8U5gmYPkrBUyxxwajPQy9m6sWeDlaeHTfg2cwnc=";
904     };
905     buildInputs = [ ObjectPad ];
906     propagatedBuildInputs = [ AppPackager FileLoadLines FileHomeDir IOString ImageInfo PDFAPI2 StringInterpolateNamed TextLayout ]
907       ++ lib.optionals (!stdenv.isDarwin) [ Wx ];
908     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
910     # Delete tests that fail when version env var is set, see
911     # https://github.com/ChordPro/chordpro/issues/293
912     patchPhase = ''
913       rm t/320_subst.t t/321_subst.t t/322_subst.t
914     '';
916     postInstall = lib.optionalString stdenv.isDarwin ''
917       shortenPerlShebang $out/bin/chordpro
918       rm $out/bin/wxchordpro # Wx not supported on darwin
919     '';
920     meta = {
921       description = "A lyrics and chords formatting program";
922       homepage = "https://www.chordpro.org";
923       license = with lib.licenses; [ artistic1 gpl1Plus ];
924       mainProgram = "chordpro";
925     };
926   };
928   AppPackager =  buildPerlPackage {
929     pname = "App-Packager";
930     version = "1.440";
931     src = fetchurl {
932       url = "mirror://cpan/authors/id/J/JV/JV/App-Packager-1.440.tar.gz";
933       hash = "sha256-VoFBa+b9eJe+mEg8TqKOsN3gzGWzwg5o1HswRN7PKHo=";
934     };
935     meta = {
936       description = "Abstraction for Packagers";
937       license = with lib.licenses; [ artistic1 gpl1Plus ];
938     };
939   };
941   Appperlbrew = buildPerlModule {
942     pname = "App-perlbrew";
943     version = "0.98";
944     src = fetchurl {
945       url = "mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.98.tar.gz";
946       hash = "sha256-oWD3ESJYjdU12pTbsLgwHkjlONJaRCobE/cZCWKIWTI=";
947     };
948     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
949     propagatedBuildInputs = [ CPANPerlReleases CaptureTiny DevelPatchPerl PodParser locallib ];
951     doCheck = false;
953     meta = {
954       description = "Manage perl installations in your $HOME";
955       license = with lib.licenses; [ mit ];
956       mainProgram = "perlbrew";
957     };
958   };
960   ArchiveAnyLite = buildPerlPackage {
961     pname = "Archive-Any-Lite";
962     version = "0.11";
963     src = fetchurl {
964       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Archive-Any-Lite-0.11.tar.gz";
965       hash = "sha256-FcGIJTmTpLZuVZnweJsTJvCmbAkr2/rJMTcG1BwoUXA=";
966     };
967     propagatedBuildInputs = [ ArchiveZip ];
968     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
969     meta = {
970       description = "Simple CPAN package extractor";
971       license = with lib.licenses; [ artistic1 gpl1Plus ];
972     };
973   };
975   AppSqitch = buildPerlModule {
976     version = "1.4.0";
977     pname = "App-Sqitch";
978     src = fetchurl {
979       url = "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v1.4.0.tar.gz";
980       hash = "sha256-sNs4cDH3dWJmLgA7xV16EComOAtK1/25qKO61XaeUBw=";
981     };
982     buildInputs = [ CaptureTiny TestDeep TestDir TestException TestFile TestFileContents TestMockModule TestMockObject TestNoWarnings TestWarn ];
983     propagatedBuildInputs = [ Clone ConfigGitLike DBI DateTime EncodeLocale HashMerge IOPager IPCRun3 IPCSystemSimple ListMoreUtils PathClass PerlIOutf8_strict PodParser StringFormatter StringShellQuote TemplateTiny Throwable TypeTiny URIdb libintl-perl ];
984     doCheck = false;  # Can't find home directory.
985     meta = {
986       description = "Sensible database change management";
987       homepage = "https://sqitch.org";
988       license = with lib.licenses; [ mit ];
989       mainProgram = "sqitch";
990     };
991   };
993   AppSt = buildPerlPackage {
994     pname = "App-St";
995     version = "1.1.4";
996     src = fetchurl {
997       url = "https://github.com/nferraz/st/archive/v1.1.4.tar.gz";
998       hash = "sha256-wCoW9n5MNXaQpUODGYQxSf1wDCIxKPn/6+yrKEnFi7g=";
999     };
1000     postInstall =
1001       ''
1002         ($out/bin/st --help || true) | grep Usage
1003       '';
1004     meta = {
1005       description = "Simple Statistics";
1006       homepage = "https://github.com/nferraz/st";
1007       license = with lib.licenses; [ mit ];
1008       maintainers = [ maintainers.eelco ];
1009       mainProgram = "st";
1010     };
1011   };
1013   AttributeParamsValidate = buildPerlPackage {
1014     pname = "Attribute-Params-Validate";
1015     version = "1.21";
1016     src = fetchurl {
1017       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Attribute-Params-Validate-1.21.tar.gz";
1018       hash = "sha256-WGuTnO/9s3GIt8Rh3RqPnzVpUYTIcDsFw19tUIyAkPU=";
1019     };
1020     buildInputs = [ TestFatal ];
1021     propagatedBuildInputs = [ ParamsValidate ];
1022     doCheck = false;
1023     meta = {
1024       description = "Validate method/function parameters";
1025       homepage = "https://metacpan.org/release/Params-Validate";
1026       license = with lib.licenses; [ artistic2 ];
1027     };
1028   };
1030   ArchiveLibarchive = buildPerlPackage {
1031     pname = "Archive-Libarchive";
1032     version = "0.08";
1033     src = fetchurl {
1034       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Archive-Libarchive-0.08.tar.gz";
1035       hash = "sha256-6ONC1U/T1uXn4xYP4IjBOgpQM8/76JSBodJHHUNyAFk=";
1036     };
1037     patches = [ ../development/perl-modules/ArchiveLibarchive-set-findlib-path.patch ];
1038     postPatch = ''
1039       substituteInPlace lib/Archive/Libarchive/Lib.pm --replace "@@libarchive@@" "${pkgs.libarchive.lib}/lib"
1040     '';
1041     buildInputs = [ FFIC Filechdir PathTiny SubIdentify TermTable Test2Suite Test2ToolsMemoryCycle TestArchiveLibarchive TestScript ];
1042     propagatedBuildInputs = [ FFICStat FFICheckLib FFIPlatypus FFIPlatypusTypeEnum FFIPlatypusTypePtrObject RefUtil ];
1043     meta = {
1044       homepage = "https://metacpan.org/pod/Archive::Libarchive";
1045       description = "Modern Perl bindings to libarchive";
1046       license = with lib.licenses; [ artistic1 gpl1Plus ];
1047       maintainers = with maintainers; [ tomasajt ];
1048     };
1049   };
1051   ArchiveLibarchiveExtract = buildPerlPackage {
1052     pname = "Archive-Libarchive-Extract";
1053     version = "0.03";
1054     src = fetchurl {
1055       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Archive-Libarchive-Extract-0.03.tar.gz";
1056       hash = "sha256-yXfAR0hnIX6zJvte5pA04e9spBQUkWHjEpAblf0SwIE=";
1057     };
1058     buildInputs = [ Test2Suite TestScript ];
1059     propagatedBuildInputs = [ ArchiveLibarchive Filechdir PathTiny RefUtil ];
1060     meta = {
1061       homepage = "https://metacpan.org/pod/Archive::Libarchive::Extract";
1062       description = "An archive extracting mechanism (using libarchive)";
1063       license = with lib.licenses; [ artistic1 gpl1Plus ];
1064       maintainers = with maintainers; [ tomasajt ];
1065     };
1066   };
1068   ArchiveLibarchivePeek = buildPerlPackage {
1069     pname = "Archive-Libarchive-Peek";
1070     version = "0.04";
1071     src = fetchurl {
1072       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Archive-Libarchive-Peek-0.04.tar.gz";
1073       hash = "sha256-DYhJ4xG2RsozWz6gGodTtAIkK5XOgAo7zNXHCC4nJPo=";
1074     };
1075     buildInputs = [ Filechdir Test2Suite TestScript ];
1076     propagatedBuildInputs = [ ArchiveLibarchive PathTiny RefUtil ];
1077     meta = {
1078       homepage = "https://metacpan.org/pod/Archive::Libarchive::Peek";
1079       description = "Peek into archives without extracting them";
1080       license = with lib.licenses; [ artistic1 gpl1Plus ];
1081       maintainers = with maintainers; [ tomasajt ];
1082     };
1083   };
1085   ArrayCompare = buildPerlModule {
1086     pname = "Array-Compare";
1087     version = "3.0.8";
1088     src = fetchurl {
1089       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.8.tar.gz";
1090       hash = "sha256-MEc7XpEBU4QNJDHqlGO55W5SPN56PFBhadaaK5dC2DQ=";
1091     };
1093     buildInputs = [ TestNoWarnings ];
1094     propagatedBuildInputs = [ Moo TypeTiny ];
1095     meta = {
1096       description = "Perl extension for comparing arrays";
1097       license = with lib.licenses; [ artistic1 gpl1Plus ];
1098     };
1099   };
1101   ArrayDiff = buildPerlPackage {
1102     pname = "Array-Diff";
1103     version = "0.09";
1104     src = fetchurl {
1105       url = "mirror://cpan/authors/id/N/NE/NEILB/Array-Diff-0.09.tar.gz";
1106       hash = "sha256-gAY5Lphh50FTfCu8kRbI5CuWLy4H6NZBov9qEcZEUHc=";
1107     };
1108     propagatedBuildInputs = [ AlgorithmDiff ClassAccessor ];
1109     meta = {
1110       description = "Find the differences between two arrays";
1111       homepage = "https://github.com/neilb/array-diff-perl";
1112       license = with lib.licenses; [ artistic1 gpl1Plus ];
1113     };
1114   };
1116   ArrayFIFO = buildPerlPackage {
1117     pname = "Array-FIFO";
1118     version = "0.13";
1119     src = fetchurl {
1120       url = "mirror://cpan/authors/id/D/DB/DBURKE/Array-FIFO-0.13.tar.gz";
1121       hash = "sha256-virrX1qa8alvADNQilacqTrRmtFdx8a5mObXvHQMZvc=";
1122     };
1123     buildInputs = [ TestDeep TestSpec TestTrap ];
1124     propagatedBuildInputs = [ Moose namespaceautoclean ];
1125     meta = {
1126       description = "A Simple limitable FIFO array, with sum and average methods";
1127       homepage = "https://github.com/dwburke/perl-Array-FIFO";
1128       license = with lib.licenses; [ artistic2 ];
1129     };
1130   };
1132   ArrayRefElem = buildPerlPackage {
1133     pname = "Array-RefElem";
1134     version = "1.00";
1135     src = fetchurl {
1136       url = "mirror://cpan/authors/id//G/GA/GAAS/Array-RefElem-1.00.tar.gz";
1137       hash = "sha256-U7iAo67AQ+TjcM4SaCtHVt5F3XQtq1cpT+IaFUU87+M=";
1138     };
1139     meta = {
1140       description = "Set up array elements as aliases";
1141       license = with lib.licenses; [ artistic1 gpl1Plus ];
1142     };
1143   };
1145   ArrayUtils = buildPerlPackage {
1146     pname = "ArrayUtils";
1147     version = "0.5";
1148     src = fetchurl {
1149       url = "https://cpan.metacpan.org/authors/id/Z/ZM/ZMIJ/Array/Array-Utils-0.5.tar.gz";
1150       hash = "sha256-id0bf82bQ3lJKjp3SW45/mzTebdz/QOmsWDdJu3mN3A=";
1151     };
1152     meta = {
1153       description = "Small utils for array manipulation";
1154       homepage = "https://metacpan.org/pod/Array::Utils";
1155       license = with lib.licenses; [ artistic1 gpl1Plus ];
1156     };
1157   };
1159   AsyncPing = buildPerlPackage {
1160     pname = "AsyncPing";
1161     version = "2016.1207";
1162     src = fetchurl {
1163       url = "mirror://cpan/authors/id/X/XI/XINFWANG/AsyncPing-2016.1207.tar.gz";
1164       hash = "sha256-b76a/sF6d3B2+K2JksjSMAr2WpUDRD0dT/nD+NKZyVo=";
1165     };
1166     meta = {
1167       description = "Ping a huge number of servers in several seconds";
1168       license = with lib.licenses; [ artistic2 ];
1169     };
1170   };
1172   AsyncUtil = buildPerlPackage {
1173     pname = "Async-Util";
1174     version = "0.01";
1175     src = fetchurl {
1176       url = "mirror://cpan/authors/id/W/WH/WHITNEY/Async-Util-0.01.tar.gz";
1177       hash = "sha256-jzKxHKvFD2Xjh79W8mWBV6IsNah5Nmbhtfis/hMQkQY=";
1178     };
1179     buildInputs = [ AnyEvent ListMoreUtils ];
1180     meta = {
1181       description = "Utilities for doing common async operations";
1182       license = with lib.licenses; [ artistic1 gpl1Plus ];
1183     };
1184   };
1186   ArchiveCpio = buildPerlPackage {
1187     pname = "Archive-Cpio";
1188     version = "0.10";
1189     src = fetchurl {
1190       url = "mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.10.tar.gz";
1191       hash = "sha256-JG+zFml2TngzayGRE0Ei4HxE8tgtxPN9VSqyj4ZovtM=";
1192     };
1193     meta = {
1194       description = "Module for manipulations of cpio archives";
1195       license = with lib.licenses; [ artistic1 gpl1Plus ]; # See https://rt.cpan.org/Public/Bug/Display.html?id=43597#txn-569710
1196       mainProgram = "cpio-filter";
1197     };
1198   };
1200   ArchiveExtract = buildPerlPackage {
1201     pname = "Archive-Extract";
1202     version = "0.88";
1203     src = fetchurl {
1204       url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.88.tar.gz";
1205       hash = "sha256-z/zxNc0GIih9OwIVT31nFklUSfyu0DlmYhlI4l6l90I=";
1206     };
1207     meta = {
1208       description = "Generic archive extracting mechanism";
1209       license = with lib.licenses; [ artistic1 gpl1Plus ];
1210     };
1211   };
1213   ArchiveTar = buildPerlPackage {
1214     pname = "Archive-Tar";
1215     version = "3.02";
1216     src = fetchurl {
1217       url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Tar-3.02.tar.gz";
1218       hash = "sha256-gWM8h/c3hGGD01wPTJ1ALalHqEa0iBswzObZ6+PInRk=";
1219     };
1220     meta = {
1221       description = "Manipulates TAR archives";
1222       license = with lib.licenses; [ artistic1 gpl1Plus ];
1223       mainProgram = "ptar";
1224     };
1225   };
1227   ArchiveTarWrapper = buildPerlPackage {
1228     pname = "Archive-Tar-Wrapper";
1229     version = "0.38";
1230     src = fetchurl {
1231       url = "mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.38.tar.gz";
1232       hash = "sha256-GfPQ2qi5XP+2jHBDUN0GdKI+HS8U0DKQO36WCe23s3o=";
1233     };
1234     propagatedBuildInputs = [ FileWhich IPCRun LogLog4perl ];
1235     meta = {
1236       description = "API wrapper around the 'tar' utility";
1237       license = with lib.licenses; [ gpl3Plus ];
1238     };
1239   };
1241   ArchiveZip = buildPerlPackage {
1242     pname = "Archive-Zip";
1243     version = "1.68";
1244     src = fetchurl {
1245       url = "mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.68.tar.gz";
1246       hash = "sha256-mE4YXXhbr2EpxudfjrREEXRawAv2Ei+xyOgio4YexlA=";
1247     };
1248     buildInputs = [ TestMockModule ];
1249     meta = {
1250       description = "Provide an interface to ZIP archive files";
1251       license = with lib.licenses; [ artistic1 gpl1Plus ];
1252       mainProgram = "crc32";
1253     };
1254   };
1256   AstroFITSHeader = buildPerlModule rec {
1257     pname = "Astro-FITS-Header";
1258     version = "3.09";
1259     src = fetchurl {
1260       url = "mirror://cpan/authors/id/G/GS/GSB/Astro-FITS-Header-3.09.tar.gz";
1261       hash = "sha256-cq1oveWku+zv8VFtZ3A/4tACFDlwQpo81pplFlLVaYY=";
1262     };
1263     meta = {
1264       description = "Object-oriented interface to FITS HDUs";
1265       homepage = "https://github.com/timj/perl-Astro-FITS-Header";
1266       license = with lib.licenses; [ gpl3Plus ];
1267     };
1268   };
1270   AudioCuefileParser = buildPerlPackage {
1271     pname = "Audio-Cuefile-Parser";
1272     version = "0.02";
1273     src = fetchurl {
1274       url = "mirror://cpan/authors/id/M/MA/MATTK/Audio-Cuefile-Parser-0.02.tar.gz";
1275       hash = "sha256-ulbQcMhz2WxoatmoH99P6JuETkPrSd/gAL+c70PFtmk=";
1276     };
1277     meta = {
1278       license = with lib.licenses; [ artistic1 gpl1Plus ];
1279     };
1280   };
1282   AudioFLACHeader = buildPerlPackage {
1283     pname = "Audio-FLAC-Header";
1284     version = "2.4";
1285     src = fetchurl {
1286       url = "mirror://cpan/authors/id/D/DA/DANIEL/Audio-FLAC-Header-2.4.tar.gz";
1287       hash = "sha256-+6WRHWwi2BUGVlzZoUOOhgVCD/eYbPA9GhLQBqQHBUM=";
1288     };
1289     meta = {
1290       description = "Interface to FLAC header metadata";
1291       license = with lib.licenses; [ artistic1 gpl1Plus ];
1292     };
1293   };
1295   AudioScan = buildPerlPackage {
1296     pname = "Audio-Scan";
1297     version = "1.05";
1298     src = fetchurl {
1299         url = "https://github.com/Logitech/slimserver-vendor/raw/public/8.3/CPAN/Audio-Scan-1.05.tar.gz";
1300         hash = "sha256-9YXC8GHPRWKlV8emmTke7RB0HhiCbALmZQqtQFLcBi4=";
1301     };
1302     buildInputs = [ pkgs.zlib TestWarn ];
1303     env.NIX_CFLAGS_COMPILE = "-I${pkgs.zlib.dev}/include";
1304     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
1305     meta = {
1306       description = "Fast C metadata and tag reader for all common audio file formats, slimserver fork";
1307       homepage = "https://github.com/Logitech/slimserver-vendor";
1308       license = with lib.licenses; [ gpl2Plus ];
1309     };
1310   };
1312   AuthenDecHpwd = buildPerlModule {
1313     pname = "Authen-DecHpwd";
1314     version = "2.007";
1315     src = fetchurl {
1316       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz";
1317       hash = "sha256-9DqTuwK0H3Mn2S+eljtpUF9nNQpS6PUHlvmK/E+z8Xc=";
1318     };
1319     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
1320     propagatedBuildInputs = [ DataInteger DigestCRC ScalarString ];
1321     meta = {
1322       description = "DEC VMS password hashing";
1323       license = with lib.licenses; [ gpl1Plus ];
1324     };
1325   };
1327   AuthenHtpasswd = buildPerlPackage {
1328     pname = "Authen-Htpasswd";
1329     version = "0.171";
1330     src = fetchurl {
1331       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Authen-Htpasswd-0.171.tar.gz";
1332       hash = "sha256-tfr0fj+UikUoEGzLiMxxBIz+WY5bAmpEQ2i8fjk0gGc=";
1333     };
1334     propagatedBuildInputs = [ ClassAccessor CryptPasswdMD5 DigestSHA1 IOLockedFile ];
1335     # Remove test files that fail after DES support was removed from crypt()
1336     postPatch = ''
1337       rm t/04core.t t/05edit.t
1338     '';
1339     meta = {
1340       description = "Interface to read and modify Apache .htpasswd files";
1341       license = with lib.licenses; [ artistic1 gpl1Plus ];
1342     };
1343   };
1345   AuthenKrb5 = buildPerlModule {
1346     pname = "Authen-Krb5";
1347     version = "1.905";
1348     src = fetchurl {
1349       url = "mirror://cpan/authors/id/I/IO/IOANR/Authen-Krb5-1.905.tar.gz";
1350       hash = "sha256-13sAuxUBpW9xGOkarAx+Qi2888QY+c6YuAF3HDqg900=";
1351     };
1352     perlPreHook = "export LD=$CC";
1353     propagatedBuildInputs = [ pkgs.libkrb5 ];
1354     buildInputs = [ DevelChecklib FileWhich PkgConfig ];
1355     meta = {
1356       description = "XS bindings for Kerberos 5";
1357       license = with lib.licenses; [ artistic1 gpl1Plus ];
1358     };
1359   };
1361   AuthenKrb5Admin = buildPerlPackage rec {
1362     pname = "Authen-Krb5-Admin";
1363     version = "0.17";
1364     src = fetchurl {
1365       url = "mirror://cpan/authors/id/S/SJ/SJQUINNEY/Authen-Krb5-Admin-0.17.tar.gz";
1366       hash = "sha256-XdScrNmD79YajD8aVlcbtzeF6xVZCLXXvsl+7XjfDFQ=";
1367     };
1368     propagatedBuildInputs = [ pkgs.krb5.dev AuthenKrb5 ];
1369     # The following ENV variables are required by Makefile.PL to find
1370     # programs in krb5.dev. It is not enough to just specify the
1371     # path to krb5-config as this tool returns the prefix of krb5,
1372     # which implies a working value for KRB5_LIBDIR, but not the others.
1373     perlPreHook = ''
1374       export KRB5_CONFTOOL=${pkgs.krb5.dev}/bin/krb5-config
1375       export KRB5_BINDIR=${pkgs.krb5.dev}/bin
1376       export KRB5_INCDIR=${pkgs.krb5.dev}/include
1377     '';
1378     # Tests require working Kerberos infrastructure so replace with a
1379     # simple attempt to exercise the module.
1380     checkPhase = ''
1381       perl -I blib/lib -I blib/arch -MAuthen::Krb5::Admin -e 'print "1..1\nok 1\n"'
1382     '';
1383     meta = {
1384       description = "Perl extension for MIT Kerberos 5 admin interface";
1385       license = with lib.licenses; [ bsd3 ];
1386     };
1387   };
1389   AuthenModAuthPubTkt = buildPerlPackage {
1390     pname = "Authen-ModAuthPubTkt";
1391     version = "0.1.1";
1392     src = fetchurl {
1393       url = "mirror://cpan/authors/id/A/AG/AGORDON/Authen-ModAuthPubTkt-0.1.1.tar.gz";
1394       hash = "sha256-eZbhpCxRIWADzPA8S1JQKGtMVWhCV5cYUfXs6RYdx90=";
1395     };
1396     propagatedBuildInputs = [ pkgs.openssl IPCRun3 ];
1397     patchPhase = ''
1398       sed -i 's|my $openssl_bin = "openssl";|my $openssl_bin = "${pkgs.openssl}/bin/openssl";|' lib/Authen/ModAuthPubTkt.pm
1399       # -dss1 doesn't exist for dgst in openssl 1.1, -sha1 can also handle DSA keys now
1400       sed -i 's|-dss1|-sha1|' lib/Authen/ModAuthPubTkt.pm
1401     '';
1402     meta = {
1403       description = "Generate Tickets (Signed HTTP Cookies) for mod_auth_pubtkt protected websites";
1404       license = with lib.licenses; [ artistic1 gpl1Plus ];
1405       mainProgram = "mod_auth_pubtkt.pl";
1406     };
1407   };
1409   AuthenOATH = buildPerlPackage {
1410     pname = "Authen-OATH";
1411     version = "2.0.1";
1412     src = fetchurl {
1413       url = "mirror://cpan/authors/id/O/OA/OALDERS/Authen-OATH-2.0.1.tar.gz";
1414       hash = "sha256-GoE9vcBcP72d0528/YXiz7C6PQ9lLPaybsg6uBRt3Hc=";
1415     };
1416     buildInputs = [ TestNeeds ];
1417     propagatedBuildInputs = [ DigestHMAC Moo TypeTiny ];
1418     meta = {
1419       description = "OATH One Time Passwords";
1420       homepage = "https://github.com/oalders/authen-oath";
1421       license = with lib.licenses; [ artistic1 gpl1Plus ];
1422       maintainers = [ maintainers.sgo ];
1423     };
1424   };
1426   AuthenPassphrase = buildPerlModule {
1427     pname = "Authen-Passphrase";
1428     version = "0.008";
1429     src = fetchurl {
1430       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-0.008.tar.gz";
1431       hash = "sha256-VdtFIGF9hZ2IwO5Ull2oFbcibXkrjNyN6/kgc1WeBGM=";
1432     };
1433     propagatedBuildInputs = [ AuthenDecHpwd CryptDES CryptEksblowfish CryptMySQL CryptPasswdMD5 CryptUnixCryptXS DataEntropy DigestMD4 ModuleRuntime ];
1434     meta = {
1435       description = "Hashed passwords/passphrases as objects";
1436       license = with lib.licenses; [ artistic1 gpl1Plus ];
1437     };
1438   };
1440   AuthenRadius = buildPerlPackage {
1441     pname = "Authen-Radius";
1442     version = "0.32";
1443     src = fetchurl {
1444       url = "mirror://cpan/authors/id/P/PO/PORTAONE/Authen-Radius-0.32.tar.gz";
1445       hash = "sha256-eyCPmDfIOhhCZyVIklNlh+7Qvd5J577euj1ypmUjF0A=";
1446     };
1447     buildInputs = [ TestNoWarnings ];
1448     propagatedBuildInputs = [ DataHexDump NetIP ];
1449     meta = {
1450       description = "Provide simple Radius client facilities";
1451       license = with lib.licenses; [ artistic2 ];
1452     };
1453   };
1455   AuthenSASL = buildPerlPackage {
1456     pname = "Authen-SASL";
1457     version = "2.1700";
1458     src = fetchurl {
1459       url = "mirror://cpan/authors/id/E/EH/EHUELS/Authen-SASL-2.1700.tar.gz";
1460       hash = "sha256-uG1aV2uNOHruJPOfR6VK/RS7ZrCQA9tQZQAfHeA6js4=";
1461     };
1462     propagatedBuildInputs = [ DigestHMAC ];
1463     meta = {
1464       description = "SASL Authentication framework";
1465       license = with lib.licenses; [ artistic1 gpl1Plus ];
1466     };
1467   };
1469   AuthenSASLSASLprep = buildPerlModule {
1470     pname = "Authen-SASL-SASLprep";
1471     version = "1.100";
1472     src = fetchurl {
1473       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Authen-SASL-SASLprep-1.100.tar.gz";
1474       hash = "sha256-pMzMNLs/U6zwunjJ/GGvjRVtEJ0cEEh7pZiKVQd9H3A=";
1475     };
1476     buildInputs = [ TestNoWarnings ];
1477     propagatedBuildInputs = [ UnicodeStringprep ];
1478     meta = {
1479       description = "A Stringprep Profile for User Names and Passwords (RFC 4013)";
1480       license = with lib.licenses; [ artistic1 gpl1Plus ];
1481       maintainers = [ maintainers.sgo ];
1482     };
1483   };
1485   AuthenSCRAM = buildPerlPackage {
1486     pname = "Authen-SCRAM";
1487     version = "0.011";
1488     src = fetchurl {
1489       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Authen-SCRAM-0.011.tar.gz";
1490       hash = "sha256-RRCMI5pzc9AJQdzw0XGs0D58FqY85vfZVo/wUrF89ag=";
1491     };
1492     buildInputs = [ TestFailWarnings TestFatal ];
1493     propagatedBuildInputs = [ AuthenSASLSASLprep CryptURandom Moo PBKDF2Tiny TypeTiny namespaceclean ];
1494     meta = {
1495       description = "Salted Challenge Response Authentication Mechanism (RFC 5802)";
1496       homepage = "https://github.com/dagolden/Authen-SCRAM";
1497       license = with lib.licenses; [ asl20 ];
1498       maintainers = [ maintainers.sgo ];
1499     };
1500   };
1502   AuthenSimple = buildPerlPackage {
1503     pname = "Authen-Simple";
1504     version = "0.5";
1505     src = fetchurl {
1506       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-0.5.tar.gz";
1507       hash = "sha256-As3atH+L8aHL1Mm/jSWPbQURFJnDP4MV5yRIEvcmE6o=";
1508     };
1509     # Our C crypt() doesn't support this weak "crypt" algorithm anymore.
1510     postPatch = ''
1511       patch -p1 <<-EOF
1512         --- a/t/09password.t
1513         +++ b/t/09password.t
1514         @@ -10 +10 @@
1515         -use Test::More tests => 16;
1516         +use Test::More tests => 14;
1517         @@ -14 +13,0 @@
1518         -    [ 'crypt',     'lk9Mh5KHGjAaM',                          'crypt'        ],
1519         @@ -18 +16,0 @@
1520         -    [ 'crypt',     '{CRYPT}lk9Mh5KHGjAaM',                   '{CRYPT}'      ],
1521       EOF
1522     '';
1523     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable CryptPasswdMD5 ParamsValidate ];
1524     meta = {
1525       description = "Simple Authentication";
1526       license = with lib.licenses; [ artistic1 gpl1Plus ];
1527     };
1528   };
1530   AuthenSimplePasswd = buildPerlModule {
1531     pname = "Authen-Simple-Passwd";
1532     version = "0.6";
1533     src = fetchurl {
1534       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-Passwd-0.6.tar.gz";
1535       hash = "sha256-z1W8NiWe3w/Wr5rSusgbMdxbVqFixmBZDsuWnHwWdLI=";
1536     };
1537     # Our C crypt() doesn't support this weak "crypt" algorithm anymore.
1538     postPatch = ''
1539       sed -e 's/tests => 8/tests => 7/' -e "/'crypt'/d" -i t/04basic.t
1540     '';
1541     propagatedBuildInputs = [ AuthenSimple ];
1542     meta = {
1543       description = "Simple Passwd authentication";
1544       license = with lib.licenses; [ artistic1 gpl1Plus ];
1545     };
1546   };
1548   autobox = buildPerlPackage {
1549     pname = "autobox";
1550     version = "3.0.1";
1551     src = fetchurl {
1552       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-v3.0.1.tar.gz";
1553       hash = "sha256-wwO3/M+qH/TUxCmrPxXlyip3VU74yfw7jGK6hZ6HTJg=";
1554     };
1555     propagatedBuildInputs = [ ScopeGuard ];
1556     buildInputs = [ IPCSystemSimple TestFatal ];
1557     meta = {
1558       description = "Call methods on native types";
1559       license = with lib.licenses; [ artistic2 ];
1560     };
1561   };
1563   Autodia = buildPerlPackage {
1564     pname = "Autodia";
1565     version = "2.14";
1566     src = fetchurl {
1567       url = "mirror://cpan/authors/id/T/TE/TEEJAY/Autodia-2.14.tar.gz";
1568       hash = "sha256-rIElyIq+Odn+Aco6zBOgCinzM2pLt+9gRH5ri4Iv9CI=";
1569     };
1570     propagatedBuildInputs = [ TemplateToolkit XMLSimple ];
1571     buildInputs = [ DBI ];
1573     meta = {
1574       description = "AutoDia, create UML diagrams from source code";
1575       longDescription = ''
1576         AutoDia is a modular application that parses source code, XML or data
1577         and produces an XML document in Dia format (or images via graphviz
1578         and vcg).  Its goal is to be a UML / DB Schema diagram autocreation
1579         package.  The diagrams its creates are standard UML diagrams showing
1580         dependencies, superclasses, packages, classes and inheritances, as
1581         well as the methods, etc of each class.
1583         AutoDia supports any language that a Handler has been written for,
1584         which includes C, C++, Java, Perl, Python, and more.
1585       '';
1586       homepage = "http://www.aarontrevena.co.uk/opensource/autodia/";
1587       license = with lib.licenses; [ gpl2Plus ];
1588       mainProgram = "autodia.pl";
1589     };
1590   };
1592   AWSSignature4 = buildPerlModule {
1593     pname = "AWS-Signature4";
1594     version = "1.02";
1595     src = fetchurl {
1596       url = "mirror://cpan/authors/id/L/LD/LDS/AWS-Signature4-1.02.tar.gz";
1597       hash = "sha256-ILvBbLNFT+XozzT+YfGpH+JsPxfkSf9mX8u7kqtEPr0=";
1598     };
1599     propagatedBuildInputs = [ LWP TimeDate URI ];
1600     meta = {
1601       description = "Create a version4 signature for Amazon Web Services";
1602       license = with lib.licenses; [ artistic1 gpl1Plus ];
1603     };
1604   };
1606   autovivification = buildPerlPackage {
1607     pname = "autovivification";
1608     version = "0.18";
1609     src = fetchurl {
1610       url = "mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz";
1611       hash = "sha256-LZmXVoUkKYDQqZBPY5FEwFnW7OFYme/eSst0LTJT8QU=";
1612     };
1613     meta = {
1614       description = "Lexically disable autovivification";
1615       homepage = "https://search.cpan.org/dist/autovivification";
1616       license = with lib.licenses; [ artistic1 gpl1Plus ];
1617     };
1618   };
1620   BarcodeZBar = buildPerlPackage {
1621     pname = "Barcode-ZBar";
1622     version = "0.04pre";
1623     # The meta::cpan version of this module has been unmaintained from 2009
1624     # This uses an updated version from the ZBar repo that works with the current ZBar library
1625     src = "${pkgs.zbar.src}/perl";
1626     postPatch = ''
1627       substituteInPlace Makefile.PL --replace "-lzbar" "-L${pkgs.zbar.lib}/lib -lzbar"
1628       rm t/Processor.t
1629     '';
1630     buildInputs =[ ExtUtilsMakeMaker ];
1631     propagatedBuildInputs = [ pkgs.zbar PerlMagick ];
1632     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
1633     meta = {
1634       description = "Perl interface to the ZBar Barcode Reader";
1635       homepage = "https://metacpan.org/pod/Barcode::ZBar";
1636       license = with lib.licenses; [ lgpl21Plus ];
1637     };
1638   };
1640   BC = buildPerlPackage {
1641     pname = "B-C";
1642     version = "1.57";
1643     src = fetchurl {
1644       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-C-1.57.tar.gz";
1645       hash = "sha256-BFKmEdNDrfnZX86ra6a2YXbjrX/MzlKAkiwOQx9RSf8=";
1646     };
1647     propagatedBuildInputs = [ BFlags IPCRun Opcodes ];
1648     doCheck = false; /* test fails */
1649     meta = {
1650       description = "Perl compiler";
1651       homepage = "https://github.com/rurban/perl-compiler";
1652       license = with lib.licenses; [ artistic1 gpl1Plus ];
1653       mainProgram = "perlcc";
1654     };
1655   };
1657   BCOW = buildPerlPackage {
1658     pname = "B-COW";
1659     version = "0.007";
1660     src = fetchurl {
1661       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/B-COW-0.007.tar.gz";
1662       hash = "sha256-EpDa8ifosJiJoxzxguKRBvHPnxpOm/d1L53pLtEVi0Q=";
1663     };
1664     meta = {
1665       description = "B::COW additional B helpers to check COW status";
1666       license = with lib.licenses; [ artistic1 gpl1Plus ];
1667     };
1668   };
1670   BFlags = buildPerlPackage {
1671     pname = "B-Flags";
1672     version = "0.17";
1673     src = fetchurl {
1674       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Flags-0.17.tar.gz";
1675       hash = "sha256-wduX0BMVvtEJtMSJWM0yGVz8nvXTt3B+tHhAwdV8ELI=";
1676     };
1677     meta = {
1678       description = "Friendlier flags for B";
1679       license = with lib.licenses; [ artistic1 gpl1Only ];
1680     };
1681   };
1683   BeanstalkClient = buildPerlPackage {
1684     pname = "Beanstalk-Client";
1685     version = "1.07";
1686     src = fetchurl {
1687       url = "mirror://cpan/authors/id/G/GB/GBARR/Beanstalk-Client-1.07.tar.gz";
1688       hash = "sha256-MYirESfyyrqX32XIT2nbDscMZOXXDylvmiZ0+nnBEsw=";
1689     };
1690     propagatedBuildInputs = [ ClassAccessor YAMLSyck ];
1691     meta = {
1692       description = "Client to communicate with beanstalkd server";
1693       license = with lib.licenses; [ artistic1 gpl1Plus ];
1694     };
1695   };
1697   BerkeleyDB = buildPerlPackage {
1698     pname = "BerkeleyDB";
1699     version = "0.65";
1701     src = fetchurl {
1702       url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.65.tar.gz";
1703       hash = "sha256-QQqonnIylB1JEGyeBI1jN0dVQ+wdIz6nzbcly1uWNQQ=";
1704     };
1706     preConfigure = ''
1707       echo "LIB = ${pkgs.db.out}/lib" > config.in
1708       echo "INCLUDE = ${pkgs.db.dev}/include" >> config.in
1709     '';
1710     meta = {
1711       description = "Perl extension for Berkeley DB version 2, 3, 4, 5 or 6";
1712       license = with lib.licenses; [ artistic1 gpl1Plus ];
1713     };
1714   };
1716   BDB = buildPerlPackage rec {
1717     pname = "BDB";
1718     version = "1.92";
1719     src = fetchurl {
1720       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
1721       hash = "sha256-o/LKnSuu/BqqQJCLL5y5KS/aPn15fji7146rudna62s=";
1722     };
1723     env.NIX_CFLAGS_COMPILE = "-I${pkgs.db4.dev}/include";
1724     NIX_CFLAGS_LINK = "-L${pkgs.db4.out}/lib -ldb";
1725     buildInputs = [ pkgs.db4 ];
1726     propagatedBuildInputs = [ commonsense ];
1727     meta = {
1728       description = "Asynchronous Berkeley DB access";
1729       license = with lib.licenses; [ artistic1 gpl1Plus ];
1730     };
1731   };
1733   BHooksEndOfScope = buildPerlPackage {
1734     pname = "B-Hooks-EndOfScope";
1735     version = "0.26";
1736     src = fetchurl {
1737       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.26.tar.gz";
1738       hash = "sha256-Od8vjAB6dUZyB1+VuQeXuuvpetptlEsZemNScJyzBnE=";
1739     };
1740     propagatedBuildInputs = [ ModuleImplementation SubExporterProgressive ];
1741     meta = {
1742       description = "Execute code after a scope finished compilation";
1743       homepage = "https://github.com/karenetheridge/B-Hooks-EndOfScope";
1744       license = with lib.licenses; [ artistic1 gpl1Plus ];
1745     };
1746   };
1748   BHooksOPAnnotation = buildPerlPackage {
1749     pname = "B-Hooks-OP-Annotation";
1750     version = "0.44";
1751     src = fetchurl {
1752       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/B-Hooks-OP-Annotation-0.44.tar.gz";
1753       hash = "sha256-bib5k2f06pRBac9uBc9NBngyCCQkyo7O/Mt7WmMhexY=";
1754     };
1755     propagatedBuildInputs = [ ExtUtilsDepends ];
1756     meta = {
1757       description = "Annotate and delegate hooked OPs";
1758       license = with lib.licenses; [ artistic1 gpl1Plus ];
1759     };
1760   };
1762   BHooksOPCheck = buildPerlPackage {
1763     pname = "B-Hooks-OP-Check";
1764     version = "0.22";
1765     src = fetchurl {
1766       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz";
1767       hash = "sha256-x7XRvvWe+Qh/9n6zFo0mJL6UrlRkRp4lmtEb+4rYzc0=";
1768     };
1769     buildInputs = [ ExtUtilsDepends ];
1770     meta = {
1771       description = "Wrap OP check callbacks";
1772       homepage = "https://github.com/karenetheridge/B-Hooks-OP-Check";
1773       license = with lib.licenses; [ artistic1 gpl1Plus ];
1774     };
1775   };
1777   BioExtAlign = callPackage ../development/perl-modules/Bio-Ext-Align { };
1779   BioDBHTS = buildPerlModule {
1780     pname = "Bio-DB-HTS";
1781     version = "3.01";
1782     src = fetchurl {
1783       url = "mirror://cpan/authors/id/A/AV/AVULLO/Bio-DB-HTS-3.01.tar.gz";
1784       sha256 = "12a6bc1f579513cac8b9167cce4e363655cc8eba26b7d9fe1170dfe95e044f42";
1785     };
1787     buildInputs = [ pkgs.htslib pkgs.zlib ];
1789     propagatedBuildInputs = [ BioPerl ];
1790     htslibStore = toString pkgs.htslib;
1792     postPatch = ''
1793       # -Wl,-rpath not recognized : replaced by -rpath=
1794       sed -i 's/Wl,-rpath,/rpath=/' Build.PL
1795     '';
1797     preBuild = ''
1798       export HTSLIB_DIR=${pkgs.htslib}
1799     '';
1801     meta = {
1802       description = "Perl interface to HTS library for DNA sequencing";
1803       license = lib.licenses.asl20;
1804     };
1805   };
1807   BioBigFile = callPackage ../development/perl-modules/Bio-BigFile { };
1809   BioPerl = buildPerlPackage {
1810     pname = "BioPerl";
1811     version = "1.7.8";
1812     src = fetchurl {
1813       url = "mirror://cpan/authors/id/C/CJ/CJFIELDS/BioPerl-1.7.8.tar.gz";
1814       hash = "sha256-xJCjvncV6m5DBe/ZcQ5e2rgtq8Vf14a2UFtVCjDXFzg=";
1815     };
1816     buildInputs = [ ModuleBuild TestMemoryCycle TestWeaken TestDeep TestWarn TestException TestDifferences ];
1817     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 ];
1818     meta = {
1819       description = "Perl modules for biology";
1820       homepage = "https://metacpan.org/release/BioPerl";
1821       license = with lib.licenses; [ artistic1 gpl1Plus ];
1822     };
1823   };
1825   BitVector = buildPerlPackage {
1826     pname = "Bit-Vector";
1827     version = "7.4";
1828     src = fetchurl {
1829       url = "mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz";
1830       hash = "sha256-PG2qZx/s+8Nfkqk4W1Y9ZfUN/Gvci0gF+e9GwNA1qSY=";
1831     };
1832     propagatedBuildInputs = [ CarpClan ];
1833     meta = {
1834       description = "Efficient bit vector, set of integers and 'big int' math library";
1835       license = with lib.licenses; [ artistic1 gpl1Plus lgpl2Only ];
1836     };
1837   };
1839   BKeywords = buildPerlPackage rec {
1840     pname = "B-Keywords";
1841     version = "1.26";
1842     src = fetchurl {
1843       url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.26.tar.gz";
1844       hash = "sha256-LaoVXS8mf7De3Yf4pMT7VmOHn8EGUXse4lg1Pvh67TQ=";
1845     };
1846     meta = {
1847       description = "Lists of reserved barewords and symbol names";
1848       license = with lib.licenses; [ artistic1 gpl2Only ];
1849     };
1850   };
1852   boolean = buildPerlPackage {
1853     pname = "boolean";
1854     version = "0.46";
1855     src = fetchurl {
1856       url = "mirror://cpan/authors/id/I/IN/INGY/boolean-0.46.tar.gz";
1857       hash = "sha256-lcCICFw+g79oD+bOFtgmTsJjEEkPfRaA5BbqehGPFWo=";
1858     };
1859     meta = {
1860       description = "Boolean support for Perl";
1861       homepage = "https://github.com/ingydotnet/boolean-pm";
1862       license = with lib.licenses; [ artistic1 gpl1Plus ];
1863     };
1864   };
1866   BoostGeometryUtils = buildPerlModule {
1867     pname = "Boost-Geometry-Utils";
1868     version = "0.15";
1869     src = fetchurl {
1870       url = "mirror://cpan/authors/id/A/AA/AAR/Boost-Geometry-Utils-0.15.tar.gz";
1871       hash = "sha256-AFTdP1c70/b0e3PugdHoRYQvugSq21KICqUnAcaH0co=";
1872     };
1873     patches = [
1874       # Fix out of memory error on Perl 5.19.4 and later.
1875       ../development/perl-modules/boost-geometry-utils-fix-oom.patch
1876     ];
1877     perlPreHook = "export LD=$CC";
1878     buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp ];
1879     meta = {
1880       description = "Bindings for the Boost Geometry library";
1881       license = with lib.licenses; [ artistic1 gpl1Plus ];
1882     };
1883   };
1885   BotTraining = buildPerlPackage {
1886     pname = "Bot-Training";
1887     version = "0.07";
1888     src = fetchurl {
1889       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-0.07.tar.gz";
1890       hash = "sha256-7ma7+BTw3D0egGgOBQ+tELHgGP7Xkp9lPtQOCIsqopU=";
1891     };
1892     buildInputs = [ FileSlurp ];
1893     propagatedBuildInputs = [ ClassLoad DirSelf FileShareDir ModulePluggable MooseXGetopt namespaceclean  ];
1894     meta = {
1895       description = "Plain text training material for bots like Hailo and AI::MegaHAL";
1896       homepage = "https://metacpan.org/release/Bot-Training";
1897       license = with lib.licenses; [ artistic1 gpl1Plus ];
1898       mainProgram = "bot-training";
1899     };
1900   };
1902   BotTrainingMegaHAL = buildPerlPackage {
1903     pname = "Bot-Training-MegaHAL";
1904     version = "0.03";
1905     src = fetchurl {
1906       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-MegaHAL-0.03.tar.gz";
1907       hash = "sha256-lWByr/BPIW5cO4GWlltdgNTUdpXXfsqr1W5Z1l8iv2A=";
1908     };
1909     buildInputs = [ FileShareDirInstall ];
1910     propagatedBuildInputs = [ BotTraining ];
1911     meta = {
1912       description = "Provide megahal.trn via Bot::Training";
1913       homepage = "https://metacpan.org/release/Bot-Training-MegaHAL";
1914       license = with lib.licenses; [ artistic1 gpl1Plus ];
1915     };
1916   };
1918   BotTrainingStarCraft = buildPerlPackage {
1919     pname = "Bot-Training-StarCraft";
1920     version = "0.03";
1921     src = fetchurl {
1922       url = "mirror://cpan/authors/id/A/AV/AVAR/Bot-Training-StarCraft-0.03.tar.gz";
1923       hash = "sha256-58640Bxi5zLdib/l9Ng+eBwc2RJULRd8Iudht8hhTV4=";
1924     };
1925     buildInputs = [ FileShareDirInstall ];
1926     propagatedBuildInputs = [ BotTraining ];
1927     meta = {
1928       description = "Provide starcraft.trn via Bot::Training";
1929       homepage = "https://metacpan.org/release/Bot-Training-StarCraft";
1930       license = with lib.licenses; [ artistic1 gpl1Plus ];
1931     };
1932   };
1934   BSDResource = buildPerlPackage {
1935     pname = "BSD-Resource";
1936     version = "1.2911";
1937     src = fetchurl {
1938       url = "mirror://cpan/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz";
1939       hash = "sha256-nRz7oGPMGPckJ6IkUfeQiDa3MxrIeF2+B1U8WwQ6DD0=";
1940     };
1941     meta = {
1942       description = "BSD process resource limit and priority functions";
1943       license = with lib.licenses; [ artistic2 ];
1944       maintainers = teams.deshaw.members;
1945     };
1946   };
1948   BSON = buildPerlPackage {
1949     pname = "BSON";
1950     version = "1.12.2";
1951     src = fetchurl {
1952       url = "mirror://cpan/authors/id/M/MO/MONGODB/BSON-v1.12.2.tar.gz";
1953       hash = "sha256-9GEsDDVDEHQbmattJkUSJoIxUMonEJsbORIy1c/dpts=";
1954     };
1955     buildInputs = [ JSONMaybeXS PathTiny TestDeep TestFatal ];
1956     propagatedBuildInputs = [ CryptURandom Moo TieIxHash boolean namespaceclean ];
1957     meta = {
1958       description = "BSON serialization and deserialization (EOL)";
1959       homepage = "https://github.com/mongodb-labs/mongo-perl-bson";
1960       license = with lib.licenses; [ asl20 ];
1961     };
1962   };
1964   BSONXS = buildPerlPackage {
1965     pname = "BSON-XS";
1966     version = "0.8.4";
1967     src = fetchurl {
1968       url = "mirror://cpan/authors/id/M/MO/MONGODB/BSON-XS-v0.8.4.tar.gz";
1969       hash = "sha256-KPfTOP14tvnJpggL6d4/XLI9iIuW6/b8v6zp8pZq6/k=";
1970     };
1971     buildInputs = [ ConfigAutoConf JSONMaybeXS PathTiny TestDeep TestFatal TieIxHash ];
1972     propagatedBuildInputs = [ BSON boolean JSONXS JSONPP CpanelJSONXS ];
1973     meta = {
1974       description = "XS implementation of MongoDB's BSON serialization (EOL)";
1975       homepage = "https://github.com/mongodb-labs/mongo-perl-bson-xs";
1976       license = with lib.licenses; [ asl20 ];
1977       platforms = lib.platforms.linux; # configure phase fails with "ld: unknown option: -mmacosx-version-min=10.12"
1978     };
1979   };
1981   BUtils = buildPerlPackage {
1982     pname = "B-Utils";
1983     version = "0.27";
1984     src = fetchurl {
1985       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Utils-0.27.tar.gz";
1986       hash = "sha256-+X9T9qMFAQmqQU/usYTK0QGBLUF2DpUrXYSZP2aF/+o=";
1987     };
1988     propagatedBuildInputs = [ TaskWeaken ];
1989     buildInputs = [ ExtUtilsDepends ];
1990     meta = {
1991       description = "Helper functions for op tree manipulation";
1992       homepage = "https://search.cpan.org/dist/B-Utils";
1993       license = with lib.licenses; [ artistic1 gpl1Plus ];
1994     };
1995   };
1997   BusinessHours = buildPerlPackage {
1998     pname = "Business-Hours";
1999     version = "0.13";
2000     src = fetchurl {
2001       url = "mirror://cpan/authors/id/B/BP/BPS/Business-Hours-0.13.tar.gz";
2002       hash = "sha256-qAf+P/u4T/pTlnEazOdXZPOknyQjZGc1DHHIp3pcPsI=";
2003     };
2004     propagatedBuildInputs = [ SetIntSpan ];
2005     meta = {
2006       description = "Calculate business hours in a time period";
2007       license = with lib.licenses; [ artistic1 gpl1Plus ];
2008     };
2009   };
2011   BusinessISBN = buildPerlPackage {
2012     pname = "Business-ISBN";
2013     version = "3.008";
2014     src = fetchurl {
2015       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-3.008.tar.gz";
2016       hash = "sha256-GcSh1NmaDddpWpAZKxNASg4+7r7fy+l6AgLjayOMDmk=";
2017     };
2018     propagatedBuildInputs = [ BusinessISBNData ];
2019     meta = {
2020       description = "Work with International Standard Book Numbers";
2021       homepage = "https://github.com/briandfoy/business-isbn";
2022       license = with lib.licenses; [ artistic2 ];
2023     };
2024   };
2026   BusinessISBNData = buildPerlPackage {
2027     pname = "Business-ISBN-Data";
2028     version = "20231006.001";
2029     src = fetchurl {
2030       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20231006.001.tar.gz";
2031       hash = "sha256-KhazbjIzXOjI337m8ig2LzSuc8T8wSNQCVCiyMd/F0g=";
2032     };
2033     meta = {
2034       description = "Data pack for Business::ISBN";
2035       homepage = "https://github.com/briandfoy/business-isbn-data";
2036       license = with lib.licenses; [ artistic2 ];
2037     };
2038   };
2040   BusinessISMN = buildPerlPackage {
2041     pname = "Business-ISMN";
2042     version = "1.203";
2043     src = fetchurl {
2044       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.203.tar.gz";
2045       hash = "sha256-T1Ou2rLmh9Th9yhW6vwiFZOQYhEj2q955FBqiX4pPog=";
2046     };
2047     propagatedBuildInputs = [ TieCycle ];
2048     meta = {
2049       description = "Work with International Standard Music Numbers";
2050       homepage = "https://github.com/briandfoy/business-ismn";
2051       license = with lib.licenses; [ artistic2 ];
2052     };
2053   };
2055   BusinessISSN = buildPerlPackage {
2056     pname = "Business-ISSN";
2057     version = "1.005";
2058     src = fetchurl {
2059       url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-1.005.tar.gz";
2060       hash = "sha256-OwmwJn8KZmD7krb1DEx3lu9qJjtirTu+qgcYmgx8ObM=";
2061     };
2062     meta = {
2063       description = "Perl extension for International Standard Serial Numbers";
2064       homepage = "https://github.com/briandfoy/business-issn";
2065       license = with lib.licenses; [ artistic2 ];
2066     };
2067   };
2069   BytesRandomSecure = buildPerlPackage {
2070     pname = "Bytes-Random-Secure";
2071     version = "0.29";
2072     src = fetchurl {
2073       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-0.29.tar.gz";
2074       hash = "sha256-U7vTOeahHvygfGGaYVx8GIpouyvoSaHLfvw91Nmuha4=";
2075     };
2076     propagatedBuildInputs = [ CryptRandomSeed MathRandomISAAC ];
2077     meta = {
2078       description = "Perl extension to generate cryptographically-secure random bytes";
2079       license = with lib.licenses; [ artistic1 gpl1Plus ];
2080       maintainers = [ maintainers.sgo ];
2081     };
2082   };
2084   BytesRandomSecureTiny = buildPerlPackage {
2085     pname = "Bytes-Random-Secure-Tiny";
2086     version = "1.011";
2087     src = fetchurl {
2088       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Bytes-Random-Secure-Tiny-1.011.tar.gz";
2089       hash = "sha256-A9lntfgoRpCRN9WrmYSsVwrBCkQB4MYC89IgjEZayYI=";
2090     };
2091     meta = {
2092       description = "A tiny Perl extension to generate cryptographically-secure random bytes";
2093       license = with lib.licenses; [ artistic1 gpl1Plus ];
2094       maintainers = [ maintainers.sgo ];
2095     };
2096   };
2098   CacheCache = buildPerlPackage {
2099     pname = "Cache-Cache";
2100     version = "1.08";
2101     src = fetchurl {
2102       url = "mirror://cpan/authors/id/R/RJ/RJBS/Cache-Cache-1.08.tar.gz";
2103       hash = "sha256-0sf9Xbpd0BC32JI1FokLtsz2tfGIzLafNcsP1sAx0eg=";
2104     };
2105     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
2106     doCheck = false; # randomly fails
2107     meta = {
2108       description = "The Cache Interface";
2109       license = with lib.licenses; [ artistic1 gpl1Plus ];
2110     };
2111   };
2113   CacheFastMmap = buildPerlPackage {
2114     pname = "Cache-FastMmap";
2115     version = "1.57";
2116     src = fetchurl {
2117       url = "mirror://cpan/authors/id/R/RO/ROBM/Cache-FastMmap-1.57.tar.gz";
2118       hash = "sha256-4Es6KNmJ7bj7lur6zcK4f57MuE8EfrLifLJqp9CMx7g=";
2119     };
2120     buildInputs = [ TestDeep ];
2121     meta = {
2122       description = "Uses an mmap'ed file to act as a shared memory interprocess cache";
2123       license = with lib.licenses; [ artistic1 gpl1Plus ];
2124     };
2125   };
2127   CacheKyotoTycoon = buildPerlModule {
2128     pname = "Cache-KyotoTycoon";
2129     version = "0.16";
2130     src = fetchurl {
2131       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Cache-KyotoTycoon-0.16.tar.gz";
2132       hash = "sha256-zLBII1iUxItpegDleMtFC05evBQYpVSnz6hjJwezlHw=";
2133     };
2134     propagatedBuildInputs = [ Furl URI ];
2135     buildInputs = [ FileWhich TestRequires TestSharedFork TestTCP ];
2136     meta = {
2137       description = "KyotoTycoon client library";
2138       homepage = "https://github.com/tokuhirom/Cache-KyotoTycoon";
2139       license = with lib.licenses; [ artistic1 gpl1Plus ];
2140     };
2141   };
2143   CacheMemcached = buildPerlPackage {
2144     pname = "Cache-Memcached";
2145     version = "1.30";
2146     src = fetchurl {
2147       url =
2148       "mirror://cpan/authors/id/D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz";
2149       hash = "sha256-MbPFHsDqrwMALizI49fVy+YZGc/a2mHACOuYU6ysQqk=";
2150     };
2151     propagatedBuildInputs = [ StringCRC32 ];
2152     meta = {
2153       description = "Client library for memcached (memory cache daemon)";
2154       license = with lib.licenses; [ artistic1 gpl1Plus ];
2155     };
2156   };
2158   CacheMemcachedFast = buildPerlPackage {
2159     pname = "Cache-Memcached-Fast";
2160     version = "0.28";
2161     src = fetchurl {
2162       url = "mirror://cpan/authors/id/R/RA/RAZ/Cache-Memcached-Fast-0.28.tar.gz";
2163       hash = "sha256-fEJMJTtl/2LPFXe7QYgCGSoYgF6jH6/Ap65YnkRsidI=";
2164     };
2165     buildInputs = [ Test2Suite ];
2166     meta = {
2167       description = "Perl client for memcached, in C language";
2168       license = with lib.licenses; [ artistic1 gpl1Plus ];
2169     };
2170   };
2172   CacheMemory = buildPerlModule {
2173     pname = "Cache";
2174     version = "2.11";
2175     src = fetchurl {
2176       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Cache-2.11.tar.gz";
2177       hash = "sha256-4dLYlneYEWarxbtuXsxkcfAB8T61bVvpVE2AR9wIpZI=";
2178     };
2179     propagatedBuildInputs = [ DBFile FileNFSLock HeapFibonacci IOString TimeDate ];
2180     doCheck = false; # can time out
2181     meta = {
2182       description = "Memory based implementation of the Cache interface";
2183       license = with lib.licenses; [ artistic1 gpl1Plus ];
2184     };
2185   };
2187   CacheSimpleTimedExpiry = buildPerlPackage {
2188     pname = "Cache-Simple-TimedExpiry";
2189     version = "0.27";
2190     src = fetchurl {
2191       url = "mirror://cpan/authors/id/J/JE/JESSE/Cache-Simple-TimedExpiry-0.27.tar.gz";
2192       hash = "sha256-Tni35N0jG1VxpIzQ7htjlT9eNHkMnQIOFZWnx9Crvkk=";
2193     };
2194     meta = {
2195       description = "A lightweight cache with timed expiration";
2196       license = with lib.licenses; [ artistic1 gpl1Plus ];
2197     };
2198   };
2200   Cairo = buildPerlPackage {
2201     pname = "Cairo";
2202     version = "1.109";
2203     src = fetchurl {
2204       url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.109.tar.gz";
2205       hash = "sha256-ghlzbkAcIxHaX1FXdd5D/YfmOEtQTaNqGS8rIXZDB38=";
2206     };
2207     buildInputs = [ pkgs.cairo ];
2208     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
2209     meta = {
2210       description = "Perl interface to the cairo 2d vector graphics library";
2211       homepage = "https://gtk2-perl.sourceforge.net";
2212       license = with lib.licenses; [ lgpl21Only ];
2213     };
2214   };
2216   CairoGObject = buildPerlPackage {
2217     pname = "Cairo-GObject";
2218     version = "1.005";
2219     src = fetchurl {
2220       url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz";
2221       hash = "sha256-jYlkRNceHQvKPSTjHl2CvQ2VQqrtkdH7fqs2e85nXFA=";
2222     };
2223     buildInputs = [ pkgs.cairo ];
2224     propagatedBuildInputs = [ Cairo Glib ];
2225     meta = {
2226       description = "Integrate Cairo into the Glib type system";
2227       homepage = "https://gtk2-perl.sourceforge.net";
2228       license = with lib.licenses; [ lgpl21Only ];
2229     };
2230   };
2232   CallContext = buildPerlPackage {
2233     pname = "Call-Context";
2234     version = "0.03";
2235     src = fetchurl {
2236       url = "mirror://cpan/authors/id/F/FE/FELIPE/Call-Context-0.03.tar.gz";
2237       hash = "sha256-Dua/RrxydVrbemsI550S4gfeX3gJcHs8NTtYyy8LWiY=";
2238     };
2239     meta = {
2240       description = "Sanity-check calling context";
2241       license = with lib.licenses; [ artistic1 gpl1Plus ];
2242       maintainers = [ maintainers.sgo ];
2243     };
2244   };
2246   cam_pdf = buildPerlModule {
2247     pname = "CAM-PDF";
2248     version = "1.60";
2249     src = fetchurl {
2250       url = "mirror://cpan/authors/id/C/CD/CDOLAN/CAM-PDF-1.60.tar.gz";
2251       hash = "sha256-52r8fzimJJJKd8XJiMNsnjiL+ncW51zTl/744bQuu4k=";
2252     };
2253     propagatedBuildInputs = [ CryptRC4 TextPDF ];
2254     meta = {
2255       description = "PDF manipulation library";
2256       license = with lib.licenses; [ artistic1 gpl1Plus ];
2257     };
2258   };
2260   capitalization = buildPerlPackage {
2261     pname = "capitalization";
2262     version = "0.03";
2263     src = fetchurl {
2264       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/capitalization-0.03.tar.gz";
2265       hash = "sha256-8TUW1XKUH2ihwj8uDkn1vwmyL5B+uSkrcrr/5ie77jw=";
2266     };
2267     propagatedBuildInputs = [ DevelSymdump ];
2268     meta = {
2269       description = "No capitalization on method names";
2270       license = with lib.licenses; [ artistic1 gpl1Plus ];
2271     };
2272   };
2274   CanaryStability = buildPerlPackage {
2275     pname = "Canary-Stability";
2276     version = "2013";
2277     src = fetchurl {
2278       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz";
2279       hash = "sha256-pckcYs+V/Lho9g6rXIMpCPaQUiEBP+orzj/1cEbXtuo=";
2280     };
2281     meta = {
2282       description = "Canary to check perl compatibility for schmorp's modules";
2283       license = with lib.licenses; [ gpl1Plus ];
2284     };
2285   };
2287   CaptchaReCAPTCHA = buildPerlPackage {
2288     pname = "Captcha-reCaptcha";
2289     version = "0.99";
2290     src = fetchurl {
2291       url = "mirror://cpan/authors/id/S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz";
2292       hash = "sha256-uJI1dmARZu3j9/Ly/1X/bjw7znDmnzZaUe076MykQ5I=";
2293     };
2294     propagatedBuildInputs = [ HTMLTiny LWP ];
2295     meta = {
2296       description = "A Perl implementation of the reCAPTCHA API";
2297       license = with lib.licenses; [ artistic1 gpl1Plus ];
2298     };
2299   };
2301   CaptureTiny = buildPerlPackage {
2302     pname = "Capture-Tiny";
2303     version = "0.48";
2304     src = fetchurl {
2305       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz";
2306       hash = "sha256-bCMRPoe605MwjJCiBwE+UF9lknRzZjjYx5usnGfMPhk=";
2307     };
2308     meta = {
2309       description = "Capture STDOUT and STDERR from Perl, XS or external programs";
2310       homepage = "https://github.com/dagolden/Capture-Tiny";
2311       license = with lib.licenses; [ asl20 ];
2312     };
2313   };
2315   CarpAlways = buildPerlPackage {
2316     pname = "Carp-Always";
2317     version = "0.16";
2318     src = fetchurl {
2319       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-0.16.tar.gz";
2320       hash = "sha256-mKoRSSFxwBb7CCdYGrH6XtAbHpnGNXSJ3fOoJzFYZvE=";
2321     };
2322     buildInputs = [ TestBase ];
2323     meta = {
2324       description = "Warns and dies noisily with stack backtraces";
2325       license = with lib.licenses; [ artistic1 gpl1Plus ];
2326     };
2327   };
2329   CarpAssert = buildPerlPackage {
2330     pname = "Carp-Assert";
2331     version = "0.22";
2332     src = fetchurl {
2333       url = "mirror://cpan/authors/id/Y/YV/YVES/Carp-Assert-0.22.tar.gz";
2334       hash = "sha256-gH6pfGvtdqwuSWnvun2uSP7+ufKHl/ESZxs6yKSTVfc=";
2335     };
2336     meta = {
2337       description = "Executable comments";
2338       license = with lib.licenses; [ artistic1 gpl1Plus ];
2339     };
2340   };
2342   CarpAssertMore = buildPerlPackage {
2343     pname = "Carp-Assert-More";
2344     version = "2.3.0";
2345     src = fetchurl {
2346       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-2.3.0.tar.gz";
2347       hash = "sha256-/2nqCb2maiAPygiK3ZHFww5lcqt7ujF6f58zxRKzzqc=";
2348     };
2349     propagatedBuildInputs = [ CarpAssert ];
2350     buildInputs = [ TestException ];
2351     meta = {
2352       description = "Convenience assertions for common situations";
2353       license = with lib.licenses; [ artistic2 ];
2354     };
2355   };
2357   CarpClan = buildPerlPackage {
2358     pname = "Carp-Clan";
2359     version = "6.08";
2360     src = fetchurl {
2361       url = "mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.08.tar.gz";
2362       hash = "sha256-x1+S40QizFplqwXRVYQrcBRSQ06a77ZJ1uIonEfvZwg=";
2363     };
2364     meta = {
2365       description = "Report errors from perspective of caller of a \"clan\" of modules";
2366       homepage = "https://github.com/karenetheridge/Carp-Clan";
2367       license = with lib.licenses; [ artistic1 gpl1Plus ];
2368     };
2369   };
2371   Carton = buildPerlPackage {
2372     pname = "Carton";
2373     version = "1.0.35";
2374     src = fetchurl {
2375       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Carton-v1.0.35.tar.gz";
2376       hash = "sha256-nEVYypfNCLaf37UrKMPdwgQ+9S8GJ7kOU9BaQIc0QXU=";
2377     };
2378     propagatedBuildInputs = [ MenloLegacy PathTiny TryTiny ];
2379     meta = {
2380       description = "Perl module dependency manager (aka Bundler for Perl)";
2381       homepage = "https://github.com/perl-carton/carton";
2382       license = with lib.licenses; [ artistic1 gpl1Plus ];
2383       mainProgram = "carton";
2384     };
2385   };
2387   CatalystActionRenderView = buildPerlPackage {
2388     pname = "Catalyst-Action-RenderView";
2389     version = "0.16";
2390     src = fetchurl {
2391       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz";
2392       hash = "sha256-hWUgOVCgV9Q+zWTpWTcV1WXC+9iwLJH0PFOyERrNOUg=";
2393     };
2394     propagatedBuildInputs = [ CatalystRuntime DataVisitor ];
2395     buildInputs = [ HTTPRequestAsCGI ];
2396     meta = {
2397       description = "Sensible default end action";
2398       license = with lib.licenses; [ artistic1 gpl1Plus ];
2399     };
2400   };
2402   CatalystActionREST = buildPerlPackage {
2403     pname = "Catalyst-Action-REST";
2404     version = "1.21";
2405     src = fetchurl {
2406       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.21.tar.gz";
2407       hash = "sha256-zPgbulIA06CtaQH5I68XOj1EFmGK6gimk4uq/970yyA=";
2408     };
2409     buildInputs = [ TestRequires ];
2410     propagatedBuildInputs = [ CatalystRuntime URIFind ];
2411     meta = {
2412       description = "Automated REST Method Dispatching";
2413       license = with lib.licenses; [ artistic1 gpl1Plus ];
2414     };
2415   };
2417   CatalystAuthenticationCredentialHTTP = buildPerlModule {
2418     pname = "Catalyst-Authentication-Credential-HTTP";
2419     version = "1.018";
2420     src = fetchurl {
2421       url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Credential-HTTP-1.018.tar.gz";
2422       hash = "sha256-b6GBbe5kSw216gzBXF5xHcLO0gg2JavOcJZSHx1lpSk=";
2423     };
2424     buildInputs = [ ModuleBuildTiny TestException TestMockObject TestNeeds ];
2425     propagatedBuildInputs = [ CatalystPluginAuthentication ClassAccessor DataUUID StringEscape ];
2426     meta = {
2427       description = "HTTP Basic and Digest authentication for Catalyst";
2428       homepage = "https://github.com/perl-catalyst/Catalyst-Authentication-Credential-HTTP";
2429       license = with lib.licenses; [ artistic1 gpl1Plus ];
2430     };
2431   };
2433   CatalystAuthenticationStoreHtpasswd = buildPerlModule {
2434     pname = "Catalyst-Authentication-Store-Htpasswd";
2435     version = "1.006";
2436     src = fetchurl {
2437       url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Store-Htpasswd-1.006.tar.gz";
2438       hash = "sha256-x/2FYnXo3hjAAWHXNJTsZr0N3QoZ27dMQtVXHJ7ggE8=";
2439     };
2440     buildInputs = [ ModuleBuildTiny TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
2441     propagatedBuildInputs = [ AuthenHtpasswd CatalystPluginAuthentication ];
2442     patches = [
2443       ../development/perl-modules/CatalystAuthenticationStoreHtpasswd-test-replace-DES-hash-with-bcrypt.patch
2444     ];
2445     meta = {
2446       description = "Authen::Htpasswd based user storage/authentication";
2447       license = with lib.licenses; [ artistic1 gpl1Plus ];
2448     };
2449   };
2451   CatalystAuthenticationStoreDBIxClass = buildPerlPackage {
2452     pname = "Catalyst-Authentication-Store-DBIx-Class";
2453     version = "0.1506";
2454     src = fetchurl {
2455       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz";
2456       hash = "sha256-fFefJZUoXmTD3LVUAzSqmgAkQ+HUyMg6tEk7kMxRskQ=";
2457     };
2458     propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication ];
2459     buildInputs = [ TestWarn ];
2460     meta = {
2461       description = "Extensible and flexible object <-> relational mapper";
2462       license = with lib.licenses; [ artistic1 gpl1Plus ];
2463     };
2464   };
2466   CatalystAuthenticationStoreLDAP = buildPerlPackage {
2467     pname = "Catalyst-Authentication-Store-LDAP";
2468     version = "1.017";
2469     src = fetchurl {
2470       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-LDAP-1.017.tar.gz";
2471       hash = "sha256-keW4vd/XOGYqNh6/6nPYQrO6Me1wne2xqE7DRB3O7sU=";
2472     };
2473     propagatedBuildInputs = [ perlldap CatalystPluginAuthentication ClassAccessor ];
2474     buildInputs = [ TestMockObject TestException NetLDAPServerTest ];
2475     doCheck = !stdenv.isDarwin; # t/02-realms_api.t and t/50.auth.case.sensitivity.t
2476     meta = {
2477       description = "Authenticate Users against LDAP Directories";
2478       license = with lib.licenses; [ artistic1 gpl1Plus ];
2479     };
2480   };
2482   CatalystComponentInstancePerContext = buildPerlPackage {
2483     pname = "Catalyst-Component-InstancePerContext";
2484     version = "0.001001";
2485     src = fetchurl {
2486       url = "mirror://cpan/authors/id/G/GR/GRODITI/Catalyst-Component-InstancePerContext-0.001001.tar.gz";
2487       hash = "sha256-f2P5MOHmE/FZVcnm1zhzZ1xQwKO8KmGgNHMzYe0m0nE=";
2488     };
2489     propagatedBuildInputs = [ CatalystRuntime ];
2490     meta = {
2491       description = "Moose role to create only one instance of component per context";
2492       license = with lib.licenses; [ artistic1 gpl1Plus ];
2493     };
2494   };
2496   CatalystControllerHTMLFormFu = buildPerlPackage {
2497     pname = "Catalyst-Controller-HTML-FormFu";
2498     version = "2.04";
2499     src = fetchurl {
2500       url = "mirror://cpan/authors/id/N/NI/NIGELM/Catalyst-Controller-HTML-FormFu-2.04.tar.gz";
2501       hash = "sha256-8T+5s7OwCzXwarwxYURhyNc0b74H+1accejVhuXrXdw=";
2502     };
2503     buildInputs = [ CatalystActionRenderView CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFile CatalystViewTT CodeTidyAllPluginPerlAlignMooseAttributes PodCoverageTrustPod PodTidy TemplateToolkit TestCPANMeta TestDifferences TestEOL TestKwalitee TestLongString TestMemoryCycle TestNoTabs TestPAUSEPermissions TestPod TestPodCoverage TestWWWMechanize TestWWWMechanizeCatalyst ];
2504     propagatedBuildInputs = [ CatalystComponentInstancePerContext HTMLFormFuMultiForm RegexpAssemble ];
2505     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
2506     meta = {
2507       description = "HTML Form Creation, Rendering and Validation Framework";
2508       homepage = "https://github.com/FormFu/HTML-FormFu";
2509       license = with lib.licenses; [ artistic1 gpl1Plus ];
2510     };
2511   };
2513   CatalystControllerPOD = buildPerlModule {
2514     pname = "Catalyst-Controller-POD";
2515     version = "1.0.0";
2516     src = fetchurl {
2517       url = "mirror://cpan/authors/id/P/PE/PERLER/Catalyst-Controller-POD-1.0.0.tar.gz";
2518       hash = "sha256-7ipLs+14uqFGQzVAjyhDRba6DvZXate/vXtlbHiKOfk=";
2519     };
2520     buildInputs = [ ModuleInstall TestLongString TestWWWMechanize TestWWWMechanizeCatalyst ];
2521     propagatedBuildInputs = [ CatalystPluginStaticSimple ClassAccessor FileSlurp JSONXS ListMoreUtils PodPOMViewTOC XMLSimple ];
2522     meta = {
2523       description = "Serves PODs right from your Catalyst application";
2524       homepage = "https://search.cpan.org/dist/Catalyst-Controller-POD";
2525       license = with lib.licenses; [ bsd3 ];
2526     };
2527   };
2529   CatalystDevel = buildPerlPackage {
2530     pname = "Catalyst-Devel";
2531     version = "1.42";
2532     src = fetchurl {
2533       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Devel-1.42.tar.gz";
2534       hash = "sha256-fsbwtsq1uMCX5Hdp/HOk1MAVpYxB/bQPwk3z7nfEir0=";
2535     };
2536     buildInputs = [ FileShareDirInstall TestFatal ];
2537     propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
2538     meta = {
2539       description = "Catalyst Development Tools";
2540       homepage = "http://dev.catalyst.perl.org";
2541       license = with lib.licenses; [ artistic1 gpl1Plus ];
2542     };
2543   };
2545   CatalystDispatchTypeRegex = buildPerlModule {
2546     pname = "Catalyst-DispatchType-Regex";
2547     version = "5.90035";
2548     src = fetchurl {
2549       url = "mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90035.tar.gz";
2550       hash = "sha256-AC3Pnv7HxYiSoYP5CAFTnQzxPsOvzPjTrRkhfCsNWBo=";
2551     };
2552     propagatedBuildInputs = [ CatalystRuntime ];
2553     meta = {
2554       description = "Regex DispatchType";
2555       license = with lib.licenses; [ artistic1 gpl1Plus ];
2556     };
2557   };
2559   CatalystManual = buildPerlPackage {
2560     pname = "Catalyst-Manual";
2561     version = "5.9011";
2562     src = fetchurl {
2563       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Manual-5.9011.tar.gz";
2564       hash = "sha256-s54zllkDwAWD4BgOPdUopUkg9SB83wUmBcoTgoz6wTw=";
2565     };
2566     meta = {
2567       description = "The Catalyst developer's manual";
2568       license = with lib.licenses; [ artistic1 gpl1Plus ];
2569     };
2570   };
2572   CatalystModelDBICSchema = buildPerlPackage {
2573     pname = "Catalyst-Model-DBIC-Schema";
2574     version = "0.66";
2575     src = fetchurl {
2576       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Model-DBIC-Schema-0.66.tar.gz";
2577       hash = "sha256-GST0wA6PD/HF0a+hbv5PhW8cXnT+VW7Cxfj1v2OtA0g=";
2578     };
2579     buildInputs = [ DBDSQLite TestException TestRequires ];
2580     propagatedBuildInputs = [ CatalystComponentInstancePerContext CatalystXComponentTraits DBIxClassSchemaLoader MooseXMarkAsMethods MooseXNonMoose MooseXTypesLoadableClass TieIxHash ];
2581     meta = {
2582       description = "DBIx::Class::Schema Model Class";
2583       license = with lib.licenses; [ artistic1 gpl1Plus ];
2584     };
2585   };
2587   CatalystRuntime = buildPerlPackage {
2588     pname = "Catalyst-Runtime";
2589     version = "5.90131";
2590     src = fetchurl {
2591       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90131.tar.gz";
2592       hash = "sha256-nWQe+s8PmTXm7LmPWjtHbJYbH4Gb0vjyOmR9HYZ+GEk=";
2593     };
2594     buildInputs = [ TestFatal TypeTiny ];
2595     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 ];
2596     meta = {
2597       description = "The Catalyst Framework Runtime";
2598       homepage = "http://dev.catalyst.perl.org";
2599       license = with lib.licenses; [ artistic1 gpl1Plus ];
2600       mainProgram = "catalyst.pl";
2601     };
2602   };
2604   CatalystPluginAccessLog = buildPerlPackage {
2605     pname = "Catalyst-Plugin-AccessLog";
2606     version = "1.10";
2607     src = fetchurl {
2608       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.10.tar.gz";
2609       hash = "sha256-hz245OcqmU4+F661PSuDfm1SS0uLDzU58mITXIjMISA=";
2610     };
2611     propagatedBuildInputs = [ CatalystRuntime DateTime ];
2612     meta = {
2613       description = "Request logging from within Catalyst";
2614       homepage = "https://metacpan.org/release/Catalyst-Plugin-AccessLog";
2615       license = with lib.licenses; [ artistic1 gpl1Plus ];
2616     };
2617   };
2619   CatalystPluginAuthentication = buildPerlPackage {
2620     pname = "Catalyst-Plugin-Authentication";
2621     version = "0.10023";
2622     src = fetchurl {
2623       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10023.tar.gz";
2624       hash = "sha256-NgOaq9rLB+Zoek16i/rHj+nQ+7BM2o1tlm1sHjJZ0Gw=";
2625     };
2626     buildInputs = [ TestException ];
2627     propagatedBuildInputs = [ CatalystPluginSession ];
2628     meta = {
2629       description = "Infrastructure plugin for the Catalyst authentication framework";
2630       license = with lib.licenses; [ artistic1 gpl1Plus ];
2631     };
2632   };
2634   CatalystPluginAuthorizationACL = buildPerlPackage {
2635     pname = "Catalyst-Plugin-Authorization-ACL";
2636     version = "0.16";
2637     src = fetchurl {
2638       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-Authorization-ACL-0.16.tar.gz";
2639       hash = "sha256-KjfmU0gu/SyTuGxqg4lB4FbF+U3YbA8LiT1RkzMSg3w=";
2640     };
2641     propagatedBuildInputs = [ CatalystRuntime ClassThrowable ];
2642     buildInputs = [ CatalystPluginAuthentication CatalystPluginAuthorizationRoles CatalystPluginSession CatalystPluginSessionStateCookie TestWWWMechanizeCatalyst ];
2643     meta = {
2644       description = "ACL support for Catalyst applications";
2645       license = with lib.licenses; [ artistic1 gpl1Plus ];
2646     };
2647   };
2649   CatalystPluginAuthorizationRoles = buildPerlPackage {
2650     pname = "Catalyst-Plugin-Authorization-Roles";
2651     version = "0.09";
2652     src = fetchurl {
2653       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz";
2654       hash = "sha256-7kBE5eKg2UxOxRL61V7gyN4UTh47h4Ugf5YCXPmkA1E=";
2655     };
2656     buildInputs = [ TestException ];
2657     propagatedBuildInputs = [ CatalystPluginAuthentication SetObject UNIVERSALisa ];
2658     meta = {
2659       description = "Role based authorization for Catalyst based on Catalyst::Plugin::Authentication";
2660       license = with lib.licenses; [ artistic1 gpl1Plus ];
2661     };
2662   };
2664   CatalystPluginCache = buildPerlPackage {
2665     pname = "Catalyst-Plugin-Cache";
2666     version = "0.12";
2667     src = fetchurl {
2668       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Cache-0.12.tar.gz";
2669       hash = "sha256-KV/tRJyTJLBleP1GjjOR4E+/ZK0kN2oARAjRvG9UQ+A=";
2670     };
2671     buildInputs = [ ClassAccessor TestDeep TestException ];
2672     propagatedBuildInputs = [ CatalystRuntime ];
2673     meta = {
2674       description = "Flexible caching support for Catalyst";
2675       license = with lib.licenses; [ artistic1 gpl1Plus ];
2676     };
2677   };
2679   CatalystPluginCacheHTTP = buildPerlPackage {
2680     pname = "Catalyst-Plugin-Cache-HTTP";
2681     version = "0.001000";
2682     src = fetchurl {
2683       url = "mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz";
2684       hash = "sha256-aq2nDrKfYd90xTj5KaEHD92TIMW278lNJkwzghe8sWw=";
2685     };
2686     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
2687     propagatedBuildInputs = [ ClassAccessor HTTPMessage MROCompat ];
2688     meta = {
2689       description = "HTTP/1.1 cache validators for Catalyst";
2690       license = with lib.licenses; [ artistic1 gpl1Plus ];
2691     };
2692   };
2694   CatalystPluginCaptcha = buildPerlPackage {
2695     pname = "Catalyst-Plugin-Captcha";
2696     version = "0.04";
2697     src = fetchurl {
2698       url = "mirror://cpan/authors/id/D/DI/DIEGOK/Catalyst-Plugin-Captcha-0.04.tar.gz";
2699       hash = "sha256-Sj1ccgBiTT567ULQWnBnSSdGg+t7rSYN6Sx1W/aQnlI=";
2700     };
2701     propagatedBuildInputs = [ CatalystPluginSession GDSecurityImage ];
2702     meta = {
2703       description = "Create and validate Captcha for Catalyst";
2704       license = with lib.licenses; [ artistic1 gpl1Plus ];
2705     };
2706   };
2708   CatalystPluginConfigLoader = buildPerlPackage {
2709     pname = "Catalyst-Plugin-ConfigLoader";
2710     version = "0.35";
2711     src = fetchurl {
2712       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-ConfigLoader-0.35.tar.gz";
2713       hash = "sha256-nippim8tBG4NxeV1EpKc1CPIB9Sja6Pynp5a3NcaGXE=";
2714     };
2715     propagatedBuildInputs = [ CatalystRuntime ConfigAny DataVisitor ];
2716     meta = {
2717       description = "Load config files of various types";
2718       license = with lib.licenses; [ artistic1 gpl1Plus ];
2719     };
2720   };
2722   CatalystPluginFormValidator = buildPerlPackage {
2723     pname = "Catalyst-Plugin-FormValidator";
2724     version = "0.094";
2725     src = fetchurl {
2726       url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-0.094.tar.gz";
2727       hash = "sha256-WDTxG/XJ9LXTNtZcfOZjm3bOe/56KHXrBI1+ocgs4Fo=";
2728     };
2729     propagatedBuildInputs = [ CatalystRuntime DataFormValidator ];
2730     meta = {
2731       description = "Data::FormValidator";
2732       license = with lib.licenses; [ artistic1 gpl1Plus ];
2733     };
2734   };
2736   CatalystPluginFormValidatorSimple = buildPerlPackage {
2737     pname = "Catalyst-Plugin-FormValidator-Simple";
2738     version = "0.15";
2739     src = fetchurl {
2740       url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-Simple-0.15.tar.gz";
2741       hash = "sha256-SGxqDo9BD9AXJ59IBKueNbpGMh0zoKlyH+Hgijkd56A=";
2742     };
2743     propagatedBuildInputs = [ CatalystPluginFormValidator FormValidatorSimple ];
2744     meta = {
2745       description = "Validation with simple chains of constraints ";
2746       license = with lib.licenses; [ artistic1 gpl1Plus ];
2747     };
2748   };
2750   CatalystPluginLogHandler = buildPerlModule {
2751     pname = "Catalyst-Plugin-Log-Handler";
2752     version = "0.08";
2753     src = fetchurl {
2754       url = "mirror://cpan/authors/id/P/PE/PEPE/Catalyst-Plugin-Log-Handler-0.08.tar.gz";
2755       hash = "sha256-DbPDpXtO49eJulEpiQ4oWJE/7wDYGFvcnF1/3jHgQ+8=";
2756     };
2757     propagatedBuildInputs = [ ClassAccessor LogHandler MROCompat ];
2758     meta = {
2759       description = "Log messages to several outputs";
2760       license = with lib.licenses; [ artistic1 gpl1Plus ];
2761     };
2762   };
2764   CatalystPluginPrometheusTiny = buildPerlPackage {
2765     pname = "Catalyst-Plugin-PrometheusTiny";
2766     version = "0.006";
2767     src = fetchurl {
2768       url = "mirror://cpan/authors/id/S/SY/SYSPETE/Catalyst-Plugin-PrometheusTiny-0.006.tar.gz";
2769       hash = "sha256-Kzm5l7q/+rNTquMsol8smbdljlBEew23H7gKFsS2osE=";
2770     };
2771     buildInputs = [ HTTPMessage Plack SubOverride TestDeep ];
2772     propagatedBuildInputs = [ CatalystRuntime Moose PrometheusTiny PrometheusTinyShared ];
2773     meta = {
2774       description = "A tiny Prometheus client";
2775       homepage = "https://github.com/robn/Prometheus-Tiny";
2776       license = with lib.licenses; [ artistic1 gpl1Plus ];
2777     };
2778   };
2780   CatalystPluginSession = buildPerlPackage {
2781     pname = "Catalyst-Plugin-Session";
2782     version = "0.43";
2783     src = fetchurl {
2784       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-Session-0.43.tar.gz";
2785       hash = "sha256-Xn180rlbH8IkS8buuPRPg11gPqB/WjkRCIHbYJKLFMQ=";
2786     };
2787     buildInputs = [ TestDeep TestException TestNeeds ];
2788     propagatedBuildInputs = [ CatalystRuntime ObjectSignature ];
2789     meta = {
2790       description = "Generic Session plugin - ties together server side storage and client side state required to maintain session data";
2791       license = with lib.licenses; [ artistic1 gpl1Plus ];
2792     };
2793   };
2795   CatalystPluginSessionDynamicExpiry = buildPerlPackage {
2796     pname = "Catalyst-Plugin-Session-DynamicExpiry";
2797     version = "0.04";
2798     src = fetchurl {
2799       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-DynamicExpiry-0.04.tar.gz";
2800       hash = "sha256-dwfFZzTNsVEvcz3EAPrfb0xTyyF7WCB4V4JNrWeAoHk=";
2801     };
2802     propagatedBuildInputs = [ CatalystPluginSession ];
2803     meta = {
2804       description = "Per-session custom expiry times";
2805       license = with lib.licenses; [ artistic1 gpl1Plus ];
2806     };
2807   };
2809   CatalystPluginSessionStateCookie = buildPerlPackage {
2810     pname = "Catalyst-Plugin-Session-State-Cookie";
2811     version = "0.18";
2812     src = fetchurl {
2813       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Plugin-Session-State-Cookie-0.18.tar.gz";
2814       hash = "sha256-6bHHsrlsGU+Hpfd+FElxcHfHD/xnpL/CnwJsnuLge+o=";
2815     };
2816     propagatedBuildInputs = [ CatalystPluginSession ];
2817     meta = {
2818       description = "Maintain session IDs using cookies";
2819       license = with lib.licenses; [ artistic1 gpl1Plus ];
2820     };
2821   };
2823   CatalystPluginSessionStoreFastMmap = buildPerlPackage {
2824     pname = "Catalyst-Plugin-Session-Store-FastMmap";
2825     version = "0.16";
2826     src = fetchurl {
2827       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-FastMmap-0.16.tar.gz";
2828       hash = "sha256-uut/17+QW+dGMciHYP2KKYDO6pVieZM5lYFkPvY3cnQ=";
2829     };
2830     propagatedBuildInputs = [ CacheFastMmap CatalystPluginSession ];
2831     meta = {
2832       description = "FastMmap session storage backend";
2833       license = with lib.licenses; [ artistic1 gpl1Plus ];
2834     };
2835   };
2837   CatalystPluginSessionStoreFile = buildPerlPackage {
2838     pname = "Catalyst-Plugin-Session-Store-File";
2839     version = "0.18";
2840     src = fetchurl {
2841       url = "mirror://cpan/authors/id/F/FL/FLORA/Catalyst-Plugin-Session-Store-File-0.18.tar.gz";
2842       hash = "sha256-VHOOPOdvi+i2aUcJLSiXPHPXnR7hm12SsFdVL4/wm08=";
2843     };
2844     propagatedBuildInputs = [ CacheCache CatalystPluginSession ClassDataInheritable ];
2845     meta = {
2846       description = "File storage backend for session data";
2847       license = with lib.licenses; [ artistic1 gpl1Plus ];
2848     };
2849   };
2851   CatalystPluginSmartURI = buildPerlPackage {
2852     pname = "Catalyst-Plugin-SmartURI";
2853     version = "0.041";
2854     src = fetchurl {
2855       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-SmartURI-0.041.tar.gz";
2856       hash = "sha256-y4ghhphUUSA9kj19+QIKoELajcGUltgj4WU1twUfX1c=";
2857     };
2858     propagatedBuildInputs = [ CatalystRuntime ClassC3Componentised ];
2859     buildInputs = [ CatalystActionREST TestWarnings TimeOut URISmartURI ];
2860     meta = {
2861       description = "Configurable URIs for Catalyst";
2862       license = with lib.licenses; [ artistic1 gpl1Plus ];
2863     };
2864   };
2866   CatalystPluginStackTrace = buildPerlPackage {
2867     pname = "Catalyst-Plugin-StackTrace";
2868     version = "0.12";
2869     src = fetchurl {
2870       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz";
2871       hash = "sha256-Mp2s0LoJ0Qp2CHqxdvldtro9smotD+M+7i9eRs7XU6w=";
2872     };
2873     propagatedBuildInputs = [ CatalystRuntime ];
2874     meta = {
2875       description = "Display a stack trace on the debug screen";
2876       license = with lib.licenses; [ artistic1 gpl1Plus ];
2877     };
2878   };
2880   CatalystPluginStaticSimple = buildPerlPackage {
2881     pname = "Catalyst-Plugin-Static-Simple";
2882     version = "0.37";
2883     src = fetchurl {
2884       url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.37.tar.gz";
2885       hash = "sha256-Wk2Fo1iM1Og/GwAlgUEufXG31X9mBW5dh6Nvk9icnnw=";
2886     };
2887     patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ];
2888     propagatedBuildInputs = [ CatalystRuntime MIMETypes MooseXTypes ];
2889     meta = {
2890       description = "Make serving static pages painless";
2891       license = with lib.licenses; [ artistic1 gpl1Plus ];
2892     };
2893   };
2895   CatalystPluginStatusMessage = buildPerlPackage {
2896     pname = "Catalyst-Plugin-StatusMessage";
2897     version = "1.002000";
2898     src = fetchurl {
2899       url = "mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Plugin-StatusMessage-1.002000.tar.gz";
2900       hash = "sha256-ZJyJSrFvn0itqPnMWZp+y7iJGrN2H/b9UQUgxt5AfB8=";
2901     };
2902     propagatedBuildInputs = [ CatalystRuntime strictures ];
2903     meta = {
2904       description = "Handle passing of status (success and error) messages between screens of a web application";
2905       license = with lib.licenses; [ artistic1 gpl1Plus ];
2906     };
2907   };
2909   CatalystViewCSV = buildPerlPackage {
2910     pname = "Catalyst-View-CSV";
2911     version = "1.8";
2912     src = fetchurl {
2913       url = "mirror://cpan/authors/id/J/JM/JMREIN/Catalyst-View-CSV-1.8.tar.gz";
2914       hash = "sha256-vKcEaDzDXEevuJrDjHFRAu2+gIF57gcz0qDrMRojbN8=";
2915     };
2916     buildInputs = [ CatalystActionRenderView CatalystModelDBICSchema CatalystPluginConfigLoader CatalystXComponentTraits ConfigGeneral DBDSQLite DBIxClass TestException ];
2917     propagatedBuildInputs = [ CatalystRuntime TextCSV ];
2918     meta = {
2919       description = "CSV view class";
2920       license = with lib.licenses; [ artistic1 gpl1Plus ];
2921     };
2922   };
2924   CatalystViewDownload = buildPerlPackage {
2925     pname = "Catalyst-View-Download";
2926     version = "0.09";
2927     src = fetchurl {
2928       url = "mirror://cpan/authors/id/G/GA/GAUDEON/Catalyst-View-Download-0.09.tar.gz";
2929       hash = "sha256-es+PXyRex/bzU/SHKdE3sSrxrPos8fvWXHA5HpM3+OE=";
2930     };
2931     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst TextCSV XMLSimple ];
2932     meta = {
2933       description = "A view module to help in the convenience of downloading data into many supportable formats";
2934       license = with lib.licenses; [ artistic1 gpl1Plus ];
2935     };
2936   };
2938   CatalystViewJSON = buildPerlPackage {
2939     pname = "Catalyst-View-JSON";
2940     version = "0.37";
2941     src = fetchurl {
2942       url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-View-JSON-0.37.tar.gz";
2943       hash = "sha256-xdo/bop3scmYVd431YgCwLGU4pp9hsYO04Mc/dWfnew=";
2944     };
2945     propagatedBuildInputs = [ CatalystRuntime ];
2946     meta = {
2947       description = "JSON (JavaScript Object Notation) encoder/decoder";
2948       license = with lib.licenses; [ artistic1 gpl1Plus ];
2949     };
2950   };
2952   CatalystViewTT = buildPerlPackage {
2953     pname = "Catalyst-View-TT";
2954     version = "0.46";
2955     src = fetchurl {
2956       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-View-TT-0.46.tar.gz";
2957       hash = "sha256-7aRFfbv4GkJBtzWl1GnZcn2KMJHSSvGuPJog8CTeUcw=";
2958     };
2959     propagatedBuildInputs = [ CatalystRuntime ClassAccessor TemplateTimer ];
2960     meta = {
2961       description = "Template View Class";
2962       license = with lib.licenses; [ artistic1 gpl1Plus ];
2963     };
2964   };
2966   CatalystXComponentTraits = buildPerlPackage {
2967     pname = "CatalystX-Component-Traits";
2968     version = "0.19";
2969     src = fetchurl {
2970       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CatalystX-Component-Traits-0.19.tar.gz";
2971       hash = "sha256-CElE6cnQ37ENSrNFPhwSX97jkSm0bRfAI0w8U1FkBEc=";
2972     };
2973     propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable ];
2974     meta = {
2975       description = "Automatic Trait Loading and Resolution for Catalyst Components";
2976       license = with lib.licenses; [ artistic1 gpl1Plus ];
2977     };
2978   };
2980   CatalystXRoleApplicator = buildPerlPackage {
2981     pname = "CatalystX-RoleApplicator";
2982     version = "0.005";
2983     src = fetchurl {
2984       url = "mirror://cpan/authors/id/H/HD/HDP/CatalystX-RoleApplicator-0.005.tar.gz";
2985       hash = "sha256-4o5HZ3aJva31VE4cQaKsV1WZNm+EDXO70LA8ZPtVim8=";
2986     };
2987     propagatedBuildInputs = [ CatalystRuntime MooseXRelatedClassRoles ];
2988     meta = {
2989       description = "Apply roles to your Catalyst application-related classes";
2990       license = with lib.licenses; [ artistic1 gpl1Plus ];
2991     };
2992   };
2994   CatalystTraitForRequestProxyBase = buildPerlPackage {
2995     pname = "Catalyst-TraitFor-Request-ProxyBase";
2996     version = "0.000005";
2997     src = fetchurl {
2998       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-TraitFor-Request-ProxyBase-0.000005.tar.gz";
2999       hash = "sha256-p78Pqn4Syl32Jdn1/HEPEb/Ra6U4WDfkjUKz0obJcQo=";
3000     };
3001     buildInputs = [ CatalystRuntime CatalystXRoleApplicator HTTPMessage ];
3002     propagatedBuildInputs = [ Moose URI namespaceautoclean ];
3003     meta = {
3004       description = "Replace request base with value passed by HTTP proxy";
3005       license = with lib.licenses; [ artistic1 gpl1Plus ];
3006     };
3007   };
3009   CatalystXScriptServerStarman = buildPerlPackage {
3010     pname = "CatalystX-Script-Server-Starman";
3011     version = "0.03";
3012     src = fetchurl {
3013       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.03.tar.gz";
3014       hash = "sha256-5jpH80y0P3+87GdYyaVCiAGOOIAjZTYYkLKjTfCKWyI=";
3015     };
3016     patches = [
3017       # See Nixpkgs issues #16074 and #17624
3018       ../development/perl-modules/CatalystXScriptServerStarman-fork-arg.patch
3019     ];
3020     buildInputs = [ TestWWWMechanizeCatalyst ];
3021     propagatedBuildInputs = [ CatalystRuntime MooseXTypes PodParser Starman ];
3022     meta = {
3023       description = "Replace the development server with Starman";
3024       license = with lib.licenses; [ artistic1 gpl1Plus ];
3025     };
3026   };
3028   CDB_File = buildPerlPackage {
3029     pname = "CDB_File";
3030     version = "1.05";
3031     src = fetchurl {
3032       url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-1.05.tar.gz";
3033       hash = "sha256-hWSEnVY5AV3iNiTlc8riU265CUMrZNkAmKHgtFKp60s=";
3034     };
3035     buildInputs = [ TestFatal TestWarnings ];
3036     propagatedBuildInputs = [ BCOW ];
3037     meta = {
3038       description = "Perl extension for access to cdb databases";
3039       homepage = "https://github.com/toddr/CDB_File";
3040       license = with lib.licenses; [ artistic1 gpl1Plus ];
3041     };
3042   };
3044   Catmandu = buildPerlModule {
3045     pname = "Catmandu";
3046     version = "1.2020";
3047     src = fetchurl {
3048       url = "mirror://cpan/authors/id/H/HO/HOCHSTEN/Catmandu-1.2020.tar.gz";
3049       hash = "sha256-1jIbR+NkGvkb7vZjNhWZVk88wzwAc5isa7opuO5A4cU=";
3050     };
3051     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 ];
3052     buildInputs = [ LogAnyAdapterLog4perl LogLog4perl TestDeep TestException TestLWPUserAgent TestPod ];
3053     meta = {
3054       description = "A data toolkit";
3055       homepage = "https://github.com/LibreCat/Catmandu";
3056       license = with lib.licenses; [ artistic1 gpl1Plus ];
3057       mainProgram = "catmandu";
3058     };
3059   };
3061   CDDB_get = buildPerlPackage {
3062     pname = "CDDB_get";
3063     version = "2.28";
3064     src = fetchurl {
3065       url = "mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-2.28.tar.gz";
3066       hash = "sha256-vcy6H6jkwc8xicXlo1KaZpOmSKpSgrWXU4x6rdzm2ck=";
3067     };
3068     meta = {
3069       description = "Get the CDDB info for an audio cd";
3070       license = with lib.licenses; [ artistic1 ];
3071       maintainers = [ maintainers.endgame ];
3072       mainProgram = "cddb.pl";
3073     };
3074   };
3076   CDDBFile = buildPerlPackage {
3077     pname = "CDDB-File";
3078     version = "1.05";
3079     src = fetchurl {
3080       url = "mirror://cpan/authors/id/T/TM/TMTM/CDDB-File-1.05.tar.gz";
3081       hash = "sha256-6+ZCnEFcFOc8bK/g1OLc3o4WnYFScfHhUjwmThrsx8k=";
3082     };
3083     meta = {
3084       description = "Parse a CDDB/freedb data file";
3085       license = with lib.licenses; [ artistic1 ];
3086     };
3087   };
3090   CGI = buildPerlPackage {
3091     pname = "CGI";
3092     version = "4.59";
3093     src = fetchurl {
3094       url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-4.59.tar.gz";
3095       hash = "sha256-be5LibiLEOd8lvPAjRm1hq74M7F6Ql1hiq19KMJi+Rw=";
3096     };
3097     buildInputs = [ TestDeep TestNoWarnings TestWarn ];
3098     propagatedBuildInputs = [ HTMLParser ];
3099     meta = {
3100       description = "Handle Common Gateway Interface requests and responses";
3101       homepage = "https://metacpan.org/module/CGI";
3102       license = with lib.licenses; [ artistic2 ];
3103     };
3104   };
3106   CGICompile = buildPerlModule {
3107     pname = "CGI-Compile";
3108     version = "0.26";
3109     src = fetchurl {
3110       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CGI-Compile-0.26.tar.gz";
3111       hash = "sha256-TzhcEMLJd+tgPzjNFT4OA2jfA3H9vSP1qm7nL0/GXcg=";
3112     };
3113     propagatedBuildInputs = [ Filepushd SubName ];
3114     buildInputs = [ CGI CaptureTiny ModuleBuildTiny SubIdentify Switch TestNoWarnings TestRequires TryTiny ];
3115     meta = {
3116       description = "Compile .cgi scripts to a code reference like ModPerl::Registry";
3117       homepage = "https://github.com/miyagawa/CGI-Compile";
3118       license = with lib.licenses; [ artistic1 gpl1Plus ];
3119     };
3120   };
3122   CGICookieXS = buildPerlPackage {
3123     pname = "CGI-Cookie-XS";
3124     version = "0.18";
3125     src = fetchurl {
3126       url = "mirror://cpan/authors/id/A/AG/AGENT/CGI-Cookie-XS-0.18.tar.gz";
3127       hash = "sha256-RpnLSr2XIBSvO+ubCmlbQluH2ibLK0vbJgIHCqrdPcY=";
3128     };
3129     meta = {
3130       description = "HTTP Cookie parser in pure C";
3131       license = with lib.licenses; [ artistic1 gpl1Plus ];
3132     };
3133   };
3135   CGIEmulatePSGI = buildPerlPackage {
3136     pname = "CGI-Emulate-PSGI";
3137     version = "0.23";
3138     src = fetchurl {
3139       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/CGI-Emulate-PSGI-0.23.tar.gz";
3140       hash = "sha256-3VtsNT8I+6EA2uCZBChPf3P4Mo0x9qZ7LBNvrXKNFYs=";
3141     };
3142     buildInputs = [ TestRequires ];
3143     propagatedBuildInputs = [ CGI ];
3144     meta = {
3145       description = "PSGI adapter for CGI";
3146       homepage = "https://github.com/tokuhirom/p5-cgi-emulate-psgi";
3147       license = with lib.licenses; [ artistic1 gpl1Plus ];
3148     };
3149   };
3151   CGIExpand = buildPerlPackage {
3152     pname = "CGI-Expand";
3153     version = "2.05";
3154     src = fetchurl {
3155       url = "mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz";
3156       hash = "sha256-boLRGOPEwMLa/NpYde3l6N2//+C336pkjkUeA5pFpKk=";
3157     };
3158     buildInputs = [ TestException ];
3159     meta = {
3160       description = "Convert flat hash to nested data using TT2's dot convention";
3161       license = with lib.licenses; [ artistic1 gpl1Plus ];
3162     };
3163   };
3165   CGIFast = buildPerlPackage {
3166     pname = "CGI-Fast";
3167     version = "2.16";
3168     src = fetchurl {
3169       url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.16.tar.gz";
3170       hash = "sha256-AiPX+RuAA3ud/183NgZAtx9dyNvZiaBZPV0i8/c8s9Q=";
3171     };
3172     propagatedBuildInputs = [ CGI FCGI ];
3173     doCheck = false;
3174     meta = {
3175       description = "CGI Interface for Fast CGI";
3176       homepage = "https://metacpan.org/module/CGI::Fast";
3177       license = with lib.licenses; [ artistic1 gpl1Plus ];
3178     };
3179   };
3181   CGIFormBuilder = buildPerlPackage {
3182     pname = "CGI-FormBuilder";
3183     version = "3.10";
3184     src = fetchurl {
3185       url = "mirror://cpan/authors/id/B/BI/BIGPRESH/CGI-FormBuilder-3.10.tar.gz";
3186       hash = "sha256-rsmb4MDwZ6fnJpxTeOWubI1905s2i08SwNhGOxPucZg=";
3187     };
3189     propagatedBuildInputs = [ CGI ];
3190     meta = {
3191       description = "Easily generate and process stateful forms";
3192       license = with lib.licenses; [ artistic1 gpl1Plus ];
3193     };
3194   };
3196   CGIMinimal = buildPerlModule {
3197     pname = "CGI-Minimal";
3198     version = "1.30";
3199     src = fetchurl {
3200       url = "mirror://cpan/authors/id/S/SN/SNOWHARE/CGI-Minimal-1.30.tar.gz";
3201       hash = "sha256-uU1QghsCYR2m7lQjGTFFB4xNuygvKxYqSw1YCUmXvEc=";
3202     };
3203     meta = {
3204       description = "A lightweight CGI form processing package";
3205       homepage = "https://github.com/JerilynFranz/perl-CGI-Minimal";
3206       license = with lib.licenses; [ mit ];
3207     };
3208   };
3210   CGIPSGI = buildPerlPackage {
3211     pname = "CGI-PSGI";
3212     version = "0.15";
3213     src = fetchurl {
3214       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz";
3215       hash = "sha256-xQ3LEL+EhqmEO67QMq2J2Hn/L0HJkzQt6tYvlHpZjZE=";
3216     };
3217     propagatedBuildInputs = [ CGI ];
3218     meta = {
3219       description = "Adapt CGI.pm to the PSGI protocol";
3220       license = with lib.licenses; [ artistic1 gpl1Plus ];
3221     };
3222   };
3224   CGISession = buildPerlModule {
3225     pname = "CGI-Session";
3226     version = "4.48";
3227     src = fetchurl {
3228       url = "mirror://cpan/authors/id/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz";
3229       hash = "sha256-RnVkYcJM52ZrgQjduW26thJpnfMBLIDvEQFmGf4VVPc=";
3230     };
3231     propagatedBuildInputs = [ CGI ];
3232     meta = {
3233       description = "Persistent session data in CGI applications";
3234       license = with lib.licenses; [ artistic1 ];
3235     };
3236   };
3238   CGISimple = buildPerlPackage {
3239     pname = "CGI-Simple";
3240     version = "1.280";
3241     src = fetchurl {
3242       url = "mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.280.tar.gz";
3243       hash = "sha256-GOAen/uBTl5O6neshImyBp/oNlGFUPN/bCIT61Wcar8=";
3244     };
3245     buildInputs = [ TestException TestNoWarnings ];
3246     meta = {
3247       description = "A Simple totally OO CGI interface that is CGI.pm compliant";
3248       license = with lib.licenses; [ artistic1 gpl1Plus ];
3249     };
3250   };
3252   CGIStruct = buildPerlPackage {
3253     pname = "CGI-Struct";
3254     version = "1.21";
3255     src = fetchurl {
3256       url = "mirror://cpan/authors/id/F/FU/FULLERMD/CGI-Struct-1.21.tar.gz";
3257       hash = "sha256-0T2Np/3NbZBgVOR2D8KKcYrskb088GeliSf7fLHAnWw=";
3258     };
3259     buildInputs = [ TestDeep ];
3260     meta = {
3261       description = "Build structures from CGI data";
3262       license = with lib.licenses; [ bsd2 ];
3263     };
3264   };
3266   CHI = buildPerlPackage {
3267     pname = "CHI";
3268     version = "0.61";
3269     src = fetchurl {
3270       url = "mirror://cpan/authors/id/A/AS/ASB/CHI-0.61.tar.gz";
3271       hash = "sha256-WDVFyeUxK7QZOrFt6fVf+PS0p97RKM7o3SywIdRni1s=";
3272     };
3273     preConfigure = ''
3274       # fix error 'Unescaped left brace in regex is illegal here in regex'
3275       substituteInPlace lib/CHI/t/Driver/Subcache/l1_cache.pm --replace 'qr/CHI stats: {' 'qr/CHI stats: \{'
3276     '';
3277     buildInputs = [ TestClass TestDeep TestException TestWarn TimeDate ];
3278     propagatedBuildInputs = [ CarpAssert ClassLoad DataUUID DigestJHash HashMoreUtils JSONMaybeXS ListMoreUtils LogAny Moo MooXTypesMooseLikeNumeric StringRewritePrefix TaskWeaken TimeDuration TimeDurationParse ];
3279     meta = {
3280       description = "Unified cache handling interface";
3281       license = with lib.licenses; [ artistic1 gpl1Plus ];
3282     };
3283   };
3285   Chart = buildPerlPackage {
3286     pname = "Chart";
3287     version = "2.403.9";
3288     src = fetchurl {
3289       url = "mirror://cpan/authors/id/L/LI/LICHTKIND/Chart-v2.403.9.tar.gz";
3290       hash = "sha256-V8aCi7TIpyFw/rZ9wfFIq/Gcqzgnd54wh3tGEe1n86s=";
3291     };
3292     buildInputs = [ TestWarn ];
3293     propagatedBuildInputs = [ GD GraphicsToolkitColor ];
3294     meta = {
3295       description = "A series of charting modules";
3296       license = with lib.licenses; [ artistic1 gpl1Plus ];
3297     };
3298   };
3300   ChipcardPCSC = buildPerlPackage {
3301     pname = "Chipcard-PCSC";
3302     version = "1.4.16";
3303     src = fetchurl {
3304       url = "mirror://cpan/authors/id/W/WH/WHOM/Chipcard-PCSC-v1.4.16.tar.gz";
3305       hash = "sha256-O14p1jRDXxQm7Nzfebo1G04mWPNsPCK+N7HTHjbKj6k=";
3306     };
3307     buildInputs = [ pkgs.pcsclite ];
3308     nativeBuildInputs = [ pkgs.pkg-config ];
3309     env.NIX_CFLAGS_COMPILE = toString ([
3310       "-I${pkgs.pcsclite.dev}/include/PCSC"
3311     ] ++ lib.optionals stdenv.cc.isClang [
3312       "-Wno-error=implicit-int"
3313       "-Wno-error=int-conversion"
3314     ]);
3315     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.pcsclite}/lib -lpcsclite";
3316     # tests fail; look unfinished
3317     doCheck = false;
3318     meta = {
3319       description = "Communicate with a smart card using PC/SC";
3320       homepage = "https://pcsc-perl.apdu.fr/";
3321       license = with lib.licenses; [ gpl2Plus ];
3322       maintainers = with maintainers; [ abbradar anthonyroussel ];
3323     };
3324   };
3326   CiscoIPPhone = buildPerlPackage {
3327     pname = "Cisco-IPPhone";
3328     version = "0.05";
3329     src = fetchurl {
3330       url = "mirror://cpan/authors/id/M/MR/MRPALMER/Cisco-IPPhone-0.05.tar.gz";
3331       hash = "sha256-sDyiY/j0Gm7FRcU5MhOjFG02vUUzWt6Zr1HdQqtu4W0=";
3332     };
3333     meta = {
3334       description = "Package for creating Cisco IPPhone XML objects";
3335       license = with lib.licenses; [ artistic1 ];
3336     };
3337   };
3339   CLASS = buildPerlPackage {
3340     pname = "CLASS";
3341     version = "1.1.8";
3342     src = fetchurl {
3343       url = "mirror://cpan/authors/id/J/JD/JDEGUEST/CLASS-v1.1.8.tar.gz";
3344       hash = "sha256-IZAaUmXL29iRJ36X/Gs0X3nby/B3RFePX/iGaltddgM=";
3345     };
3346     meta = {
3347       description = "Alias for __PACKAGE__";
3348       homepage = "https://metacpan.org/pod/CLASS";
3349       license = with lib.licenses; [ artistic1 gpl1Plus ];
3350       maintainers = [ maintainers.sgo ];
3351     };
3352   };
3354   ClassAccessor = buildPerlPackage {
3355     pname = "Class-Accessor";
3356     version = "0.51";
3357     src = fetchurl {
3358       url = "mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz";
3359       hash = "sha256-vxKj5d5aLG6KRHs2T09aBQv3RiTFbjFQIq55kv8vQRw=";
3360     };
3361     meta = {
3362       description = "Automated accessor generation";
3363       license = with lib.licenses; [ artistic1 gpl1Plus ];
3364     };
3365   };
3367   ClassAccessorChained = buildPerlModule {
3368     pname = "Class-Accessor-Chained";
3369     version = "0.01";
3370     src = fetchurl {
3371       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz";
3372       hash = "sha256-pb9J04BPg60lobFvMn0U1MvuInATIQSyhwUDHbzMNNI=";
3373     };
3374     propagatedBuildInputs = [ ClassAccessor ];
3375     meta = {
3376       description = "Make chained accessors";
3377       license = with lib.licenses; [ artistic1 gpl1Plus ];
3378     };
3379   };
3381   ClassAccessorGrouped = buildPerlPackage {
3382     pname = "Class-Accessor-Grouped";
3383     version = "0.10014";
3384     src = fetchurl {
3385       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-Accessor-Grouped-0.10014.tar.gz";
3386       hash = "sha256-NdWwPvwJ9n86MVXJYkEmw+FiyOPKmP+CbbNYUzpExLs=";
3387     };
3388     buildInputs = [ TestException ];
3389     propagatedBuildInputs = [ ModuleRuntime ];
3390     meta = {
3391       description = "Lets you build groups of accessors";
3392       homepage = "https://metacpan.org/release/Class-Accessor-Grouped";
3393       license = with lib.licenses; [ artistic1 gpl1Plus ];
3394     };
3395   };
3397   ClassAccessorLite = buildPerlPackage {
3398     pname = "Class-Accessor-Lite";
3399     version = "0.08";
3400     src = fetchurl {
3401       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz";
3402       hash = "sha256-dbO47I7+aHZ3tj8KEO75ZuAfYHNcVmVs51y7RMq6M1o=";
3403     };
3404     meta = {
3405       description = "A minimalistic variant of Class::Accessor";
3406       license = with lib.licenses; [ artistic1 gpl1Plus ];
3407     };
3408   };
3410   ClassAutouse = buildPerlPackage {
3411     pname = "Class-Autouse";
3412     version = "2.01";
3413     src = fetchurl {
3414       url = "mirror://cpan/authors/id/A/AD/ADAMK/Class-Autouse-2.01.tar.gz";
3415       hash = "sha256-wFsyNsBXGdgZwg2w/ettCVR0fkPXpzgpTu1/vPNuzxs=";
3416     };
3417     meta = {
3418       description = "Run-time load a class the first time you call a method in it";
3419       license = with lib.licenses; [ artistic1 gpl1Plus ];
3420     };
3421   };
3423   ClassBase = buildPerlPackage {
3424     pname = "Class-Base";
3425     version = "0.09";
3426     src = fetchurl {
3427       url = "mirror://cpan/authors/id/Y/YA/YANICK/Class-Base-0.09.tar.gz";
3428       hash = "sha256-4aW93lJQWAJmSpEIpRXJ6OUCy3IppJ3pT0CBsbKu7YQ=";
3429     };
3430     propagatedBuildInputs = [ Clone ];
3431     meta = {
3432       description = "Useful base class for deriving other modules";
3433       license = with lib.licenses; [ artistic1 gpl1Plus ];
3434     };
3435   };
3437   ClassC3 = buildPerlPackage {
3438     pname = "Class-C3";
3439     version = "0.35";
3440     src = fetchurl {
3441       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.35.tar.gz";
3442       hash = "sha256-hAU88aaPzIwSBWwvEgrfBPf2jjvjT0QI6V0Cb+5n4z4=";
3443     };
3444     propagatedBuildInputs = [ AlgorithmC3 ];
3445     meta = {
3446       description = "A pragma to use the C3 method resolution order algorithm";
3447       homepage = "https://metacpan.org/release/Class-C3";
3448       license = with lib.licenses; [ artistic1 gpl1Plus ];
3449     };
3450   };
3452   ClassC3AdoptNEXT = buildPerlModule {
3453     pname = "Class-C3-Adopt-NEXT";
3454     version = "0.14";
3455     src = fetchurl {
3456       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-C3-Adopt-NEXT-0.14.tar.gz";
3457       hash = "sha256-hWdiJarbduhmamq+LgZZ1A60WBrWOFsXDupOHWvzS/c=";
3458     };
3459     buildInputs = [ ModuleBuildTiny TestException ];
3460     propagatedBuildInputs = [ MROCompat ];
3461     meta = {
3462       description = "Make NEXT suck less";
3463       homepage = "https://github.com/karenetheridge/Class-C3-Adopt-NEXT";
3464       license = with lib.licenses; [ artistic1 gpl1Plus ];
3465     };
3466   };
3468   ClassC3Componentised = buildPerlPackage {
3469     pname = "Class-C3-Componentised";
3470     version = "1.001002";
3471     src = fetchurl {
3472       url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-Componentised-1.001002.tar.gz";
3473       hash = "sha256-MFGxRtwe/q6hqaLp5rF3MICZW4mKtYPxVWWNX8gLlpM=";
3474     };
3475     buildInputs = [ TestException ];
3476     propagatedBuildInputs = [ ClassC3 ClassInspector MROCompat ];
3477     meta = {
3478       description = "Load mix-ins or components to your C3-based class";
3479       license = with lib.licenses; [ artistic1 gpl1Plus ];
3480     };
3481   };
3483   ClassClassgenclassgen = buildPerlPackage {
3484     pname = "Class-Classgen-classgen";
3485     version = "3.03";
3486     src = fetchurl {
3487       url = "mirror://cpan/authors/id/M/MS/MSCHLUE/Class-Classgen-classgen-3.03.tar.gz";
3488       hash = "sha256-m2XUG5kVOJkugWsyzE+ptKSguz6cEOfuvv+CZY27yPY=";
3489     };
3490     meta = {
3491       description = "Simplifies creation, manipulation and usage of complex objects.";
3492       license = with lib.licenses; [ artistic1 gpl1Plus ];
3493       mainProgram = "classgen";
3494     };
3495   };
3497   ClassContainer = buildPerlModule {
3498     pname = "Class-Container";
3499     version = "0.13";
3500     src = fetchurl {
3501       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.13.tar.gz";
3502       hash = "sha256-9dSVsd+4JtXAxF0DtNDmtgR8uwbNv2vhX9TckCrutws=";
3503     };
3504     propagatedBuildInputs = [ ParamsValidate ];
3505     meta = {
3506       description = "Glues object frameworks together transparently";
3507       license = with lib.licenses; [ artistic1 gpl1Plus ];
3508     };
3509   };
3511   ClassDataAccessor = buildPerlPackage {
3512     pname = "Class-Data-Accessor";
3513     version = "0.04004";
3514     src = fetchurl {
3515       url = "mirror://cpan/authors/id/C/CL/CLACO/Class-Data-Accessor-0.04004.tar.gz";
3516       hash = "sha256-wSLW4t9hNs6b6h5tK3dsueaeAAhezplTAYFMevOo6BQ=";
3517     };
3518     meta = {
3519       description = "Inheritable, overridable class and instance data accessor creation";
3520       license = with lib.licenses; [ artistic1 gpl1Plus ];
3521     };
3522   };
3524   ClassDataInheritable = buildPerlPackage {
3525     pname = "Class-Data-Inheritable";
3526     version = "0.09";
3527     src = fetchurl {
3528       url = "mirror://cpan/authors/id/R/RS/RSHERER/Class-Data-Inheritable-0.09.tar.gz";
3529       hash = "sha256-RAiNbpBxLhh7ilsFDKWxxw7+K6oyrhI+m9j1nynwbk0=";
3530     };
3531     meta = {
3532       description = "Inheritable, overridable class data";
3533       license = with lib.licenses; [ artistic1 gpl1Plus ];
3534     };
3535   };
3537   ClassEHierarchy = buildPerlPackage {
3538     pname = "Class-EHierarchy";
3539     version = "2.01";
3540     src = fetchurl {
3541       url = "mirror://cpan/authors/id/C/CO/CORLISS/Class-EHierarchy/Class-EHierarchy-2.01.tar.gz";
3542       hash = "sha256-Y3q3a+s4MqmwcbmZobFb8F0pffamYsyxqABPKYcwg4I=";
3543     };
3544     meta = {
3545       description = "Base class for hierarchally ordered objects";
3546       license = with lib.licenses; [ artistic1 gpl1Plus ];
3547       maintainers = teams.deshaw.members;
3548     };
3549   };
3551   ClassFactory = buildPerlPackage {
3552     pname = "Class-Factory";
3553     version = "1.06";
3554     src = fetchurl {
3555       url = "mirror://cpan/authors/id/P/PH/PHRED/Class-Factory-1.06.tar.gz";
3556       hash = "sha256-w3otJp65NfNqI+ETSArglG+nwSoSeBOWoSJsjkNfMPU=";
3557     };
3558     meta = {
3559       description = "Base class for dynamic factory classes";
3560       license = with lib.licenses; [ artistic1 gpl1Plus ];
3561     };
3562   };
3564   ClassFactoryUtil = buildPerlModule {
3565     pname = "Class-Factory-Util";
3566     version = "1.7";
3567     src = fetchurl {
3568       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz";
3569       hash = "sha256-bFFrRFtE+HNj+zoUhDHTHp7LXm8h+2SByJskBrZpLiY=";
3570     };
3571     meta = {
3572       description = "Provide utility methods for factory classes";
3573       license = with lib.licenses; [ artistic1 gpl1Plus ];
3574     };
3575   };
3577   ClassGomor = buildPerlModule {
3578     pname = "Class-Gomor";
3579     version = "1.03";
3580     src = fetchurl {
3581       url = "mirror://cpan/authors/id/G/GO/GOMOR/Class-Gomor-1.03.tar.gz";
3582       hash = "sha256-R9s86pzp/6mL+cdFV/0yz3AHkatTcCDJWKwwtKn/IAs=";
3583     };
3584     meta = {
3585       description = "Another class and object builder";
3586       license = with lib.licenses; [ artistic1 ];
3587     };
3588   };
3590   ClassInspector = buildPerlPackage {
3591     pname = "Class-Inspector";
3592     version = "1.36";
3593     src = fetchurl {
3594       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz";
3595       hash = "sha256-zCldI6RyaHwkSJ1YIm6tI7n9wliOUi8LXwdHdBcAaU4=";
3596     };
3597     meta = {
3598       description = "Get information about a class and its structure";
3599       homepage = "https://metacpan.org/pod/Class::Inspector";
3600       license = with lib.licenses; [ artistic1 gpl1Plus ];
3601     };
3602   };
3604   ClassISA = buildPerlPackage {
3605     pname = "Class-ISA";
3606     version = "0.36";
3607     src = fetchurl {
3608       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-ISA-0.36.tar.gz";
3609       hash = "sha256-iBbzTpo46EmhDfdWAw3M+f4GGhlsEaw/qv1xE8kpuWQ=";
3610     };
3611     meta = {
3612       description = "Report the search path for a class's ISA tree";
3613       license = with lib.licenses; [ artistic1 gpl1Plus ];
3614     };
3615   };
3617   ClassIterator = buildPerlPackage {
3618     pname = "Class-Iterator";
3619     version = "0.3";
3620     src = fetchurl {
3621       url = "mirror://cpan/authors/id/T/TE/TEXMEC/Class-Iterator-0.3.tar.gz";
3622       hash = "sha256-2xuofKkQfxYf6cHp5+JnwAJt78Jv4+c7ytirj/wY750=";
3623     };
3624     meta = {
3625       description = "Iterator class";
3626       license = with lib.licenses; [ artistic1 gpl1Plus ];
3627     };
3628   };
3630   ClassLoader = buildPerlPackage rec {
3631     pname = "Class-Loader";
3632     version = "2.03";
3633     src = fetchurl {
3634       url = "mirror://cpan/authors/id/V/VI/VIPUL/Class-Loader-2.03.tar.gz";
3635       hash = "sha256-T+8gdurWBCNFT/H06ChZqam5lCtfuO7gyYucY8nyuOc=";
3636     };
3637     meta = {
3638       description = "Load modules and create objects on demand";
3639       license = with lib.licenses; [ artistic1 gpl1Plus ];
3640     };
3641   };
3643   ClassMakeMethods = buildPerlPackage {
3644     pname = "Class-MakeMethods";
3645     version = "1.01";
3646     src = fetchurl {
3647       url = "mirror://cpan/authors/id/E/EV/EVO/Class-MakeMethods-1.01.tar.gz";
3648       hash = "sha256-rKx0LnnQ7Ip75Nj7gTqF6kTUfRnAFwzdswZEYCtYLGY=";
3649     };
3650     preConfigure = ''
3651       # fix error 'Unescaped left brace in regex is illegal here in regex'
3652       substituteInPlace tests/xemulator/class_methodmaker/Test.pm --replace 's/(TEST\s{)/$1/g' 's/(TEST\s\{)/$1/g'
3653     '';
3654     meta = {
3655       description = "Generate common types of methods";
3656       license = with lib.licenses; [ artistic1 gpl1Plus ];
3657     };
3658   };
3660   ClassMember = buildPerlPackage {
3661     pname = "Class-Member";
3662     version = "1.6";
3663     src = fetchurl {
3664       url = "mirror://cpan/authors/id/O/OP/OPI/Class-Member-1.6.tar.gz";
3665       hash = "sha256-p1KK8in6OhIF3NJakd59dKxvp9lSgbmTtV6Lb0+HuZE=";
3666     };
3667     meta = {
3668       description = "A set of modules to make the module developement easier";
3669       license = with lib.licenses; [ artistic1 gpl1Plus ];
3670     };
3671   };
3673   ClassMethodMaker = buildPerlPackage {
3674     pname = "Class-MethodMaker";
3675     version = "2.24";
3676     src = fetchurl {
3677       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.24.tar.gz";
3678       hash = "sha256-Xu9YzLJ+vQG83lsUvMVTtTR6Bpnlw+khx3gMNSaJAyg=";
3679     };
3680     # Remove unnecessary, non-autoconf, configure script.
3681     prePatch = "rm configure";
3682     meta = {
3683       description = "A module for creating generic methods";
3684       license = with lib.licenses; [ artistic1 gpl1Plus ];
3685     };
3686   };
3688   ClassMethodModifiers = buildPerlPackage {
3689     pname = "Class-Method-Modifiers";
3690     version = "2.15";
3691     src = fetchurl {
3692       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.15.tar.gz";
3693       hash = "sha256-Zc2Fv+R10GbpGG96jMY2BwmFswsOuxzehoHPBiwuFfw=";
3694     };
3695     buildInputs = [ TestFatal TestNeeds ];
3696     meta = {
3697       description = "Provides Moose-like method modifiers";
3698       homepage = "https://github.com/moose/Class-Method-Modifiers";
3699       license = with lib.licenses; [ artistic1 gpl1Plus ];
3700     };
3701   };
3703   ClassMix = buildPerlModule {
3704     pname = "Class-Mix";
3705     version = "0.006";
3706     src = fetchurl {
3707       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz";
3708       hash = "sha256-h0f2Q4k5FPjESXnxcW0MHsikE5R5ZVVEeUToYPH/fAs=";
3709     };
3710     propagatedBuildInputs = [ ParamsClassify ];
3711     meta = {
3712       description = "Dynamic class mixing";
3713       license = with lib.licenses; [ artistic1 gpl1Plus ];
3714     };
3715   };
3717   ClassRefresh = buildPerlPackage {
3718     pname = "Class-Refresh";
3719     version = "0.07";
3720     src = fetchurl {
3721       url = "mirror://cpan/authors/id/D/DO/DOY/Class-Refresh-0.07.tar.gz";
3722       hash = "sha256-47ADU1XLs1oq7j8iNojVeJRqenxXCs05iyjN2x/UvrM=";
3723     };
3724     buildInputs = [ TestFatal TestRequires ];
3725     propagatedBuildInputs = [ ClassLoad ClassUnload DevelOverrideGlobalRequire TryTiny ];
3726     meta = {
3727       homepage = "http://metacpan.org/release/Class-Refresh";
3728       description = "Refresh your classes during runtime";
3729       license = with lib.licenses; [ artistic1 gpl1Plus ];
3730     };
3731   };
3733   ClassReturnValue = buildPerlPackage {
3734     pname = "Class-ReturnValue";
3735     version = "0.55";
3736     src = fetchurl {
3737       url = "mirror://cpan/authors/id/J/JE/JESSE/Class-ReturnValue-0.55.tar.gz";
3738       hash = "sha256-7Tg2iF149zTM16mFUOxCKmFt98MTEMG3sfZFn1+w5L0=";
3739     };
3740     propagatedBuildInputs = [ DevelStackTrace ];
3741     meta = {
3742       description = "(deprecated) polymorphic return values";
3743       homepage = "https://github.com/rjbs/Return-Value";
3744       license = with lib.licenses; [ artistic1 gpl1Plus ];
3745     };
3746   };
3748   ClassSingleton = buildPerlPackage {
3749     pname = "Class-Singleton";
3750     version = "1.6";
3751     src = fetchurl {
3752       url = "mirror://cpan/authors/id/S/SH/SHAY/Class-Singleton-1.6.tar.gz";
3753       hash = "sha256-J7oT8NlRKSkWa72MnvldkNYw/IDwyaG3RYiRBV6SgqQ=";
3754     };
3755     meta = {
3756       description = "Implementation of a 'Singleton' class";
3757       license = with lib.licenses; [ artistic1 gpl1Plus ];
3758     };
3759   };
3761   ClassThrowable = buildPerlPackage {
3762     pname = "Class-Throwable";
3763     version = "0.13";
3764     src = fetchurl {
3765       url = "mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.13.tar.gz";
3766       hash = "sha256-3JoR4Nq1bcIg3qjJT+PEfbXn3Xwe0E3IF4qlu3v7vM4=";
3767     };
3768     meta = {
3769       description = "A minimal lightweight exception class";
3770       license = with lib.licenses; [ artistic1 gpl1Plus ];
3771     };
3772   };
3774   ClassTiny = buildPerlPackage {
3775     pname = "Class-Tiny";
3776     version = "1.008";
3777     src = fetchurl {
3778       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.008.tar.gz";
3779       hash = "sha256-7gWKY5Evofy5pySY9WykIaIFbcf59LZ4N0RtZCGBVhU=";
3780     };
3781     meta = {
3782       description = "Minimalist class construction";
3783       homepage = "https://github.com/dagolden/Class-Tiny";
3784       license = with lib.licenses; [ asl20 ];
3785     };
3786   };
3788   ClassLoad = buildPerlPackage {
3789     pname = "Class-Load";
3790     version = "0.25";
3791     src = fetchurl {
3792       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.25.tar.gz";
3793       hash = "sha256-Kkj6d5tSl+VhVjgOizJjfGxY3stPSn88c1BSPhEnX48=";
3794     };
3795     buildInputs = [ TestFatal TestNeeds ];
3796     propagatedBuildInputs = [ DataOptList PackageStash ];
3797     meta = {
3798       description = "A working (require \"Class::Name\") and more";
3799       homepage = "https://github.com/moose/Class-Load";
3800       license = with lib.licenses; [ artistic1 gpl1Plus ];
3801     };
3802   };
3804   ClassLoadXS = buildPerlPackage {
3805     pname = "Class-Load-XS";
3806     version = "0.10";
3807     src = fetchurl {
3808       url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz";
3809       hash = "sha256-W8Is9Tbr/SVkxb2vQvDYpM7j0ZMPyLRLfUpCA4YirdE=";
3810     };
3811     buildInputs = [ TestFatal TestNeeds ];
3812     propagatedBuildInputs = [ ClassLoad ];
3813     meta = {
3814       description = "XS implementation of parts of Class::Load";
3815       homepage = "https://github.com/moose/Class-Load-XS";
3816       license = with lib.licenses; [ artistic2 ];
3817     };
3818   };
3820   ClassObservable = buildPerlPackage {
3821     pname = "Class-Observable";
3822     version = "2.004";
3823     src = fetchurl {
3824       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Class-Observable-2.004.tar.gz";
3825       hash = "sha256-bfMun+XwCIkfxO+k5PReqhQE0wIgRZyPyKUB8KfPLmk=";
3826     };
3827     propagatedBuildInputs = [ ClassISA ];
3828     meta = {
3829       description = "Allow other classes and objects to respond to events in yours";
3830       license = with lib.licenses; [ artistic1 gpl1Plus ];
3831     };
3832   };
3834   ClassStd = buildPerlModule {
3835     pname = "Class-Std";
3836     version = "0.013";
3837     src = fetchurl {
3838       url = "mirror://cpan/authors/id/C/CH/CHORNY/Class-Std-0.013.tar.gz";
3839       hash = "sha256-vNbYL2yK8P4Gn87X3RZaR5WwtukjUcfU5aGrmhT8NcY=";
3840     };
3841     meta = {
3842       description = "Support for creating standard 'inside-out' classes";
3843       license = with lib.licenses; [ artistic1 gpl1Plus ];
3844     };
3845   };
3847   ClassStdFast = buildPerlModule {
3848     pname = "Class-Std-Fast";
3849     version = "0.0.8";
3850     src = fetchurl {
3851       url = "mirror://cpan/authors/id/A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz";
3852       hash = "sha256-G9Q3Y8ajcxgwl6MOeH9dZxOw2ydRHFLVMyZrWdLPp4A=";
3853     };
3854     propagatedBuildInputs = [ ClassStd ];
3855     nativeCheckInputs = [ TestPod TestPodCoverage ];
3856     meta = {
3857       description = "Faster but less secure than Class::Std";
3858       license = with lib.licenses; [ artistic1 gpl1Plus ];
3859     };
3860   };
3862   ClassUnload = buildPerlPackage {
3863     pname = "Class-Unload";
3864     version = "0.11";
3865     src = fetchurl {
3866       url = "mirror://cpan/authors/id/I/IL/ILMARI/Class-Unload-0.11.tar.gz";
3867       hash = "sha256-UuKXR6fk0uGiicDh3oEHY08QyEJs18nTHsrIOD5KCl8=";
3868     };
3869     propagatedBuildInputs = [ ClassInspector ];
3870     buildInputs = [ TestRequires ];
3871     meta = {
3872       description = "Unload a class";
3873       license = with lib.licenses; [ artistic1 gpl1Plus ];
3874     };
3875   };
3877   ClassVirtual = buildPerlPackage {
3878     pname = "Class-Virtual";
3879     version = "0.08";
3880     src = fetchurl {
3881       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Class-Virtual-0.08.tar.gz";
3882       hash = "sha256-xkmbQtO05cZIil6C+8KGmObJhgFlBy3d+mdJNVqc+7I=";
3883     };
3884     propagatedBuildInputs = [ CarpAssert ClassDataInheritable ClassISA ];
3885     meta = {
3886       description = "Base class for virtual base classes";
3887       homepage = "https://metacpan.org/release/Class-Virtual";
3888       license = with lib.licenses; [ artistic1 gpl1Plus ];
3889     };
3890   };
3892   ClassXSAccessor = buildPerlPackage {
3893     pname = "Class-XSAccessor";
3894     version = "1.19";
3895     src = fetchurl {
3896       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz";
3897       hash = "sha256-mcVrOV8SOa8ZkB8v7rEl2ey041Gg2A2qlSkhGkcApvI=";
3898     };
3899     meta = {
3900       description = "Generate fast XS accessors without runtime compilation";
3901       license = with lib.licenses; [ artistic1 gpl1Plus ];
3902     };
3903   };
3905   CLDRNumber = buildPerlModule {
3906     pname = "CLDR-Number";
3907     version = "0.19";
3908     src = fetchurl {
3909       url = "mirror://cpan/authors/id/P/PA/PATCH/CLDR-Number-0.19.tar.gz";
3910       hash = "sha256-xnFkiOZf53n/eag/DyA2rZRGPv49DzSca5kRKXW9hfw=";
3911     };
3912     buildInputs = [ SoftwareLicense TestDifferences TestException TestWarn ];
3913     propagatedBuildInputs =
3914       [ ClassMethodModifiers MathRound Moo namespaceclean ];
3915     meta = {
3916       description = "Localized number formatters using the Unicode CLDR";
3917       homepage = "https://github.com/patch/cldr-number-pm5";
3918       license = with lib.licenses; [ artistic1 gpl1Plus ];
3919     };
3920   };
3922   CLIHelpers = buildPerlPackage {
3923     pname = "CLI-Helpers";
3924     version = "2.0";
3925     src = fetchurl {
3926       url = "mirror://cpan/authors/id/B/BL/BLHOTSKY/CLI-Helpers-2.0.tar.gz";
3927       hash = "sha256-yhpPFnTzsfMmjyekfJiAszgmrenxI34sEUXnAqfIePY=";
3928     };
3929     buildInputs = [ PodCoverageTrustPod TestPerlCritic ];
3930     propagatedBuildInputs = [ CaptureTiny IOInteractive RefUtil TermReadKey YAML ];
3931     meta = {
3932       description = "Subroutines for making simple command line scripts";
3933       homepage = "https://github.com/reyjrar/CLI-Helpers";
3934       license = with lib.licenses; [ bsd3 ];
3935     };
3936   };
3938   Clipboard = buildPerlModule {
3939     pname = "Clipboard";
3940     version = "0.28";
3941     src = fetchurl {
3942       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Clipboard-0.28.tar.gz";
3943       hash = "sha256-no15AVGUJjNXwloPXQlIAP/0O9v5+GAew7DtXrCWbSY=";
3944     };
3945     propagatedBuildInputs = [ CGI ];
3946     # Disable test on darwin because MacPasteboard fails when not logged in interactively.
3947     # Mac OS error -4960 (coreFoundationUnknownErr): The unknown error at lib/Clipboard/MacPasteboard.pm line 3.
3948     # Mac-Pasteboard-0.009.readme: 'NOTE that Mac OS X appears to restrict pasteboard access to processes that are logged in interactively.
3949     #     Ssh sessions and cron jobs can not create the requisite pasteboard handles, giving coreFoundationUnknownErr (-4960)'
3950     doCheck = !stdenv.isDarwin;
3951     meta = {
3952       description = "Copy and paste with any OS";
3953       homepage = "https://metacpan.org/release/Clipboard";
3954       license = with lib.licenses; [ artistic1 gpl1Plus ];
3955     };
3956   };
3959   Clone = buildPerlPackage {
3960     pname = "Clone";
3961     version = "0.46";
3962     src = fetchurl {
3963       url = "mirror://cpan/authors/id/G/GA/GARU/Clone-0.46.tar.gz";
3964       hash = "sha256-qt7tXkyL1rvfaMDdAGbLUT4Wq55bQ4LcSgqv1ViQaXs=";
3965     };
3966     buildInputs = [ BCOW ];
3967     meta = {
3968       description = "Recursively copy Perl datatypes";
3969       license = with lib.licenses; [ artistic1 gpl1Plus ];
3970     };
3971   };
3973   CloneChoose = buildPerlPackage {
3974     pname = "Clone-Choose";
3975     version = "0.010";
3976     src = fetchurl {
3977       url = "mirror://cpan/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz";
3978       hash = "sha256-ViNIH1jO6O25bNICqtDfViLUJ+X3SLJThR39YuUSNjI=";
3979     };
3980     buildInputs = [ Clone ClonePP TestWithoutModule ];
3981     meta = {
3982       description = "Choose appropriate clone utility";
3983       homepage = "https://metacpan.org/release/Clone-Choose";
3984       license = with lib.licenses; [ artistic1 gpl1Plus ];
3985     };
3986   };
3988   ClonePP = buildPerlPackage {
3989     pname = "Clone-PP";
3990     version = "1.08";
3991     src = fetchurl {
3992       url = "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-1.08.tar.gz";
3993       hash = "sha256-VyAwlKXYV0tqAJUejyOZtmb050+VEdnJ+1tFPV0R9Xg=";
3994     };
3995     meta = {
3996       description = "Recursively copy Perl datatypes";
3997       license = with lib.licenses; [ artistic1 gpl1Plus ];
3998     };
3999   };
4001   CodeTidyAll = buildPerlPackage {
4002     pname = "Code-TidyAll";
4003     version = "0.83";
4004     src = fetchurl {
4005       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.83.tar.gz";
4006       hash = "sha256-FqBS0DprF/xYqEqZb68p5C7O124sQMRyc+uKsxzBXKE=";
4007     };
4008     propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ];
4009     buildInputs = [ TestClass TestClassMost TestDeep TestDifferences TestException TestFatal TestMost TestWarn TestWarnings librelative ];
4010     meta = {
4011       description = "Engine for tidyall, your all-in-one code tidier and validator";
4012       homepage = "https://metacpan.org/release/Code-TidyAll";
4013       license = with lib.licenses; [ artistic1 gpl1Plus ];
4014       mainProgram = "tidyall";
4015     };
4016   };
4018   CodeTidyAllPluginPerlAlignMooseAttributes = buildPerlPackage {
4019     pname = "Code-TidyAll-Plugin-Perl-AlignMooseAttributes";
4020     version = "0.01";
4021     src = fetchurl {
4022       url = "mirror://cpan/authors/id/J/JS/JSWARTZ/Code-TidyAll-Plugin-Perl-AlignMooseAttributes-0.01.tar.gz";
4023       hash = "sha256-jR3inlbwczFoXqONGDr87f8hCOccSp2zb0GeUN0sHOU=";
4024     };
4025     propagatedBuildInputs = [ CodeTidyAll TextAligner ];
4026     meta = {
4027       description = "TidyAll plugin to sort and align Moose-style attributes";
4028       license = with lib.licenses; [ artistic1 gpl1Plus ];
4029     };
4030   };
4032   ColorLibrary = buildPerlPackage {
4033     pname = "Color-Library";
4034     version = "0.021";
4035     src = fetchurl {
4036       url = "mirror://cpan/authors/id/R/RO/ROKR/Color-Library-0.021.tar.gz";
4037       hash = "sha256-WMv34zPTpKQCl6vENBKzIdpEnGgWAg5PpmJasHn8kKU=";
4038     };
4039     buildInputs = [ TestMost TestWarn TestException TestDeep TestDifferences ModulePluggable ];
4040     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable ];
4041     meta = {
4042       description = "An easy-to-use and comprehensive named-color library";
4043       license = with lib.licenses; [ artistic1 gpl1Plus ];
4044     };
4045   };
4047   CommandRunner = buildPerlModule {
4048     pname = "Command-Runner";
4049     version = "0.200";
4050     src = fetchurl {
4051       url = "mirror://cpan/authors/id/S/SK/SKAJI/Command-Runner-0.200.tar.gz";
4052       hash = "sha256-WtJtBhEb/s1TyPW7XeqUvyAl9seOlfbYAS5M+oninyY=";
4053     };
4054     buildInputs = [ ModuleBuildTiny ];
4055     propagatedBuildInputs = [ CaptureTiny Filepushd StringShellQuote Win32ShellQuote ];
4056     meta = {
4057       description = "Run external commands and Perl code refs";
4058       homepage = "https://github.com/skaji/Command-Runner";
4059       license = with lib.licenses; [ artistic1 gpl1Plus ];
4060       maintainers = [ maintainers.zakame ];
4061     };
4062   };
4064   commonsense = buildPerlPackage {
4065     pname = "common-sense";
4066     version = "3.75";
4067     src = fetchurl {
4068       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.75.tar.gz";
4069       hash = "sha256-qGocTKTzAG10eQZEJaCfpbZonlcmH8uZT+Z9Bhy6Dn4=";
4070     };
4071     meta = {
4072       description = "Implements some sane defaults for Perl programs";
4073       license = with lib.licenses; [ artistic1 gpl1Plus ];
4074     };
4075   };
4077   CompilerLexer = buildPerlModule {
4078     pname = "Compiler-Lexer";
4079     version = "0.23";
4080     src = fetchurl {
4081       url = "mirror://cpan/authors/id/G/GO/GOCCY/Compiler-Lexer-0.23.tar.gz";
4082       hash = "sha256-YDHOSv67+k9JKidJSb57gjIxTpECOCjEOOR5gf8Kmds=";
4083     };
4084     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
4085     buildInputs = [ ModuleBuildXSUtil ];
4086     meta = {
4087       homepage = "https://github.com/goccy/p5-Compiler-Lexer";
4088       description = "Lexical Analyzer for Perl5";
4089       license = with lib.licenses; [ artistic1 gpl1Plus ];
4090     };
4091   };
4093   CompressBzip2 = buildPerlPackage {
4094     pname = "Compress-Bzip2";
4095     version = "2.28";
4096     src = fetchurl {
4097       url = "mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.28.tar.gz";
4098       hash = "sha256-hZ+DXD9cmYgQ2LKm+eKC/5nWy2bM+lXK5+Ztr7A1EW4=";
4099     };
4100     meta = {
4101       description = "Interface to Bzip2 compression library";
4102       license = with lib.licenses; [ artistic1 gpl1Plus ];
4103     };
4104   };
4106   CompressLZF = buildPerlPackage rec {
4107     pname = "Compress-LZF";
4108     version = "3.8";
4109     src = fetchurl {
4110       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
4111       hash = "sha256-XR9d9IzhO03uHMnyeOzb+Bd4d7C5iBWk6zyRw0ZnFvI=";
4112     };
4113     meta = {
4114       description = "Extremely light-weight Lempel-Ziv-Free compression";
4115       license = with lib.licenses; [ artistic1 gpl1Plus ];
4116     };
4117   };
4119   CompressRawBzip2 = buildPerlPackage {
4120     pname = "Compress-Raw-Bzip2";
4121     version = "2.206";
4122     src = fetchurl {
4123       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.206.tar.gz";
4124       hash = "sha256-ISuB2xwK6CLRmShhmmA70QjLXVxHAPxn3HyxaeDMZSU=";
4125     };
4127     # Don't build a private copy of bzip2.
4128     BUILD_BZIP2 = false;
4129     BZIP2_LIB = "${pkgs.bzip2.out}/lib";
4130     BZIP2_INCLUDE = "${pkgs.bzip2.dev}/include";
4132     meta = {
4133       description = "Low-Level Interface to bzip2 compression library";
4134       homepage = "https://github.com/pmqs/Compress-Raw-Bzip2";
4135       license = with lib.licenses; [ artistic1 gpl1Plus ];
4136     };
4137   };
4139   CompressRawLzma = buildPerlPackage {
4140     pname = "Compress-Raw-Lzma";
4141     version = "2.206";
4142     src = fetchurl {
4143       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Lzma-2.206.tar.gz";
4144       hash = "sha256-4BpwQLhL3GdZLRPuwMeIWQ4faW0dTwfHCXvXKk+IbrQ=";
4145     };
4146     preConfigure = ''
4147       cat > config.in <<EOF
4148         INCLUDE      = ${pkgs.xz.dev}/include
4149         LIB          = ${pkgs.xz.out}/lib
4150       EOF
4151     '';
4152     meta = {
4153       description = "Low-Level Interface to lzma compression library";
4154       homepage = "https://github.com/pmqs/Compress-Raw-Lzma";
4155       license = with lib.licenses; [ artistic1 gpl1Plus ];
4156     };
4157   };
4159   CompressRawZlib = buildPerlPackage {
4160     pname = "Compress-Raw-Zlib";
4161     version = "2.206";
4163     src = fetchurl {
4164       url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.206.tar.gz";
4165       hash = "sha256-Rnhaajg6HIQ4lbf58l1ddZ58MFFZ+dHgSjYE63THc3Q=";
4166     };
4168     preConfigure = ''
4169       cat > config.in <<EOF
4170         BUILD_ZLIB   = False
4171         INCLUDE      = ${pkgs.zlib.dev}/include
4172         LIB          = ${pkgs.zlib.out}/lib
4173         OLD_ZLIB     = False
4174         GZIP_OS_CODE = AUTO_DETECT
4175         USE_ZLIB_NG  = False
4176       EOF
4177     '';
4179     doCheck = !stdenv.isDarwin;
4181     meta = {
4182       description = "Low-Level Interface to zlib or zlib-ng compression library";
4183       homepage = "https://github.com/pmqs/Compress-Raw-Zlib";
4184       license = with lib.licenses; [ artistic1 gpl1Plus ];
4185     };
4186   };
4188   CompressUnLZMA = buildPerlPackage {
4189     pname = "Compress-unLZMA";
4190     version = "0.05";
4191     src = fetchurl {
4192       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Compress-unLZMA-0.05.tar.gz";
4193       hash = "sha256-TegBoo2S1ekJR0Zc60jU45/WQJOF6cIw5MBIKdllF7g=";
4194     };
4195     meta = {
4196       description = "Interface to LZMA decompression library";
4197       license = with lib.licenses; [ artistic1 gpl1Plus lgpl21Plus ];
4198     };
4199   };
4201   ConfigAny = buildPerlPackage {
4202     pname = "Config-Any";
4203     version = "0.33";
4204     src = fetchurl {
4205       url = "mirror://cpan/authors/id/H/HA/HAARG/Config-Any-0.33.tar.gz";
4206       hash = "sha256-wGaOtfLNNVvyBVfwTcGKJUdLegvPp5Vi4xZdmjx4kzM=";
4207     };
4208     propagatedBuildInputs = [ ModulePluggable ];
4209     meta = {
4210       description = "Load configuration from different file formats, transparently";
4211       license = with lib.licenses; [ artistic1 gpl1Plus ];
4212     };
4213   };
4215   ConfigAutoConf = buildPerlPackage {
4216     pname = "Config-AutoConf";
4217     version = "0.320";
4218     src = fetchurl {
4219       url = "mirror://cpan/authors/id/A/AM/AMBS/Config-AutoConf-0.320.tar.gz";
4220       hash = "sha256-u1epWO9J0/cWInba4Up71a9D/R2FEyMa811mVFlFQCM=";
4221     };
4222     propagatedBuildInputs = [ CaptureTiny ];
4223     meta = {
4224       description = "A module to implement some of AutoConf macros in pure perl";
4225       homepage = "https://metacpan.org/release/Config-AutoConf";
4226       license = with lib.licenses; [ artistic1 gpl1Plus ];
4227     };
4228   };
4230   ConfigGeneral = buildPerlPackage {
4231     pname = "Config-General";
4232     version = "2.65";
4233     src = fetchurl {
4234       url = "mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.65.tar.gz";
4235       hash = "sha256-TW1XVL46nzCQaDbwzBDlVMiDLhTnoTQe+xWwXXBvxY8=";
4236     };
4237     meta = {
4238       description = "Generic Config Module";
4239       license = with lib.licenses; [ artistic2 ];
4240     };
4241   };
4243   ConfigGitLike = buildPerlPackage {
4244     pname = "Config-GitLike";
4245     version = "1.18";
4246     src = fetchurl {
4247       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.18.tar.gz";
4248       hash = "sha256-9650QPOtq1uf+apXIW2E/UpoEAm5WE4y2kL4u3HjMsU=";
4249     };
4250     buildInputs = [ TestException ];
4251     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
4252     meta = {
4253       description = "Git-compatible config file parsing";
4254       license = with lib.licenses; [ artistic1 gpl1Plus ];
4255     };
4256   };
4258   ConfigGrammar = buildPerlPackage {
4259     pname = "Config-Grammar";
4260     version = "1.13";
4261     src = fetchurl {
4262       url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Config-Grammar-1.13.tar.gz";
4263       hash = "sha256-qLOjosnIxDuS3EAb8nCdZRTxW0Z/1PcsSNNWM1dx1uM=";
4264     };
4265     meta = {
4266       description = "A grammar-based, user-friendly config parser";
4267       homepage = "https://github.com/schweikert/Config-Grammar";
4268       license = with lib.licenses; [ artistic1 gpl1Plus ];
4269     };
4270   };
4272   ConfigINI = buildPerlPackage {
4273     pname = "Config-INI";
4274     version = "0.029";
4275     src = fetchurl {
4276       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.029.tar.gz";
4277       hash = "sha256-C755enMCEGRKkH2QzUqisjrVgMsnvTk5O/xqfvn9/eo=";
4278     };
4279     propagatedBuildInputs = [ MixinLinewise ];
4280     meta = {
4281       description = "Simple .ini-file format";
4282       homepage = "https://github.com/rjbs/Config-INI";
4283       license = with lib.licenses; [ artistic1 gpl1Plus ];
4284     };
4285   };
4287   ConfigIdentity = buildPerlPackage {
4288     pname = "Config-Identity";
4289     version = "0.0019";
4290     src = fetchurl {
4291       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Config-Identity-0.0019.tar.gz";
4292       hash = "sha256-KVIL2zdlnmQUkbDGlmFCmhqJtqLkdcL5tOvyfkXoEqg=";
4293     };
4294     propagatedBuildInputs = [ FileHomeDir IPCRun ];
4295     buildInputs = [ TestDeep ];
4296     meta = {
4297       description = "Load (and optionally decrypt via GnuPG) user/pass identity information ";
4298       homepage = "https://github.com/dagolden/Config-Identity";
4299       license = with lib.licenses; [ artistic1 gpl1Plus ];
4300     };
4301   };
4303   ConfigIniFiles = buildPerlPackage {
4304     pname = "Config-IniFiles";
4305     version = "3.000003";
4306     src = fetchurl {
4307       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Config-IniFiles-3.000003.tar.gz";
4308       hash = "sha256-PEV7ZdmOX/QL25z4FLDVmD6wxT+4aWvaO6A1rSrNaAI=";
4309     };
4310     propagatedBuildInputs = [ IOStringy ];
4311     meta = {
4312       description = "A module for reading .ini-style configuration files";
4313       homepage = "https://metacpan.org/release/Config-IniFiles";
4314       license = with lib.licenses; [ artistic1 gpl1Plus ];
4315       maintainers = teams.deshaw.members;
4316     };
4317   };
4319   ConfigMerge = buildPerlPackage {
4320     pname = "Config-Merge";
4321     version = "1.04";
4322     src = fetchurl {
4323       url = "mirror://cpan/authors/id/D/DR/DRTECH/Config-Merge-1.04.tar.gz";
4324       hash = "sha256-qTJHe0OuX7BKFvBxqJHae9IIbBDGgFkvKIj6nZlyzM8=";
4325     };
4326     buildInputs = [ YAML ];
4327     propagatedBuildInputs = [ ConfigAny ];
4328     meta = {
4329       description = "Load a configuration directory tree containing YAML, JSON, XML, Perl, INI or Config::General files";
4330       license = with lib.licenses; [ artistic1 gpl1Plus ];
4331     };
4332   };
4334   ConfigOnion = buildPerlPackage {
4335     pname = "Config-Onion";
4336     version = "1.007";
4337     src = fetchurl {
4338       url = "mirror://cpan/authors/id/D/DS/DSHEROH/Config-Onion-1.007.tar.gz";
4339       hash = "sha256-Mn/d9o4TiyRp5aK643xzP4fKhMr2Hhz6qUm+PZUNqK8=";
4340     };
4341     propagatedBuildInputs = [ ConfigAny HashMergeSimple Moo ];
4342     buildInputs = [ TestException YAML ];
4343     meta = {
4344       description = "Layered configuration, because configs are like ogres";
4345       license = with lib.licenses; [ artistic1 gpl1Plus ];
4346     };
4347   };
4349   ConfigMVP = buildPerlPackage {
4350     pname = "Config-MVP";
4351     version = "2.200013";
4352     src = fetchurl {
4353       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200013.tar.gz";
4354       hash = "sha256-AY0WFiPuOmf4YNnmgOIuYbeermAY8OfDtSX8k09bfUU=";
4355     };
4356     buildInputs = [ TestFatal ];
4357     propagatedBuildInputs = [ ModulePluggable MooseXOneArgNew RoleHasMessage RoleIdentifiable Throwable TieIxHash ];
4358     meta = {
4359       description = "Multivalue-property package-oriented configuration";
4360       homepage = "https://github.com/rjbs/Config-MVP";
4361       license = with lib.licenses; [ artistic1 gpl1Plus ];
4362     };
4363   };
4365   ConfigMVPReaderINI = buildPerlPackage {
4366     pname = "Config-MVP-Reader-INI";
4367     version = "2.101465";
4368     src = fetchurl {
4369       url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-Reader-INI-2.101465.tar.gz";
4370       hash = "sha256-E8eqJ8HfmM0zraOZ5Z/zj6v6nWVRPkKvAvcsLT9jYkc=";
4371     };
4372     propagatedBuildInputs = [ ConfigINI ConfigMVP ];
4373     meta = {
4374       description = "An MVP config reader for .ini files";
4375       homepage = "https://github.com/rjbs/Config-MVP-Reader-INI";
4376       license = with lib.licenses; [ artistic1 gpl1Plus ];
4377     };
4378   };
4380   ConfigProperties = buildPerlPackage {
4381     pname = "Config-Properties";
4382     version = "1.80";
4383     src = fetchurl {
4384       url = "mirror://cpan/authors/id/S/SA/SALVA/Config-Properties-1.80.tar.gz";
4385       hash = "sha256-XQQ5W+fhTpcKA+qVL7dimuME2XwDH5DMHCm9Cmpi/EA=";
4386     };
4387     meta = {
4388       description = "Read and write property files";
4389       license = with lib.licenses; [ artistic1 gpl1Plus ];
4390     };
4391   };
4393   ConfigSimple = buildPerlPackage {
4394     pname = "Config-Simple";
4395     version = "4.58";
4396     src = fetchurl {
4397       url = "mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.58.tar.gz";
4398       hash = "sha256-3ZmVcG8Pk4ShXM/+EWw7biL0K6LljY8k7QPEoOOG7bQ=";
4399     };
4400     meta = {
4401       description = "Simple configuration file class";
4402       license = with lib.licenses; [ artistic1 gpl1Plus ];
4403     };
4404   };
4406   ConfigStd = buildPerlModule {
4407     pname = "Config-Std";
4408     version = "0.903";
4409     src = fetchurl {
4410       url = "mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.903.tar.gz";
4411       hash = "sha256-t3Cf9mO9J50mSrnC9R6elYhHmjNnqMTPwYZZwqEUgP4=";
4412     };
4413     propagatedBuildInputs = [ ClassStd ];
4414     meta = {
4415       description = "Load and save configuration files in a standard format";
4416       license = with lib.licenses; [ artistic1 gpl1Plus ];
4417     };
4418   };
4420   ConfigTiny = buildPerlPackage {
4421     pname = "Config-Tiny";
4422     version = "2.29";
4423     src = fetchurl {
4424       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Config-Tiny-2.29.tgz";
4425       hash = "sha256-PeebDqA6jWqT6dkSj+hF+1ViIrFGmaT28NXKBXrjMzs=";
4426     };
4427     buildInputs = [ TestPod ];
4428     meta = {
4429       description = "Read/Write .ini style files with as little code as possible";
4430       license = with lib.licenses; [ artistic1 gpl1Plus ];
4431     };
4432   };
4434   ConfigVersioned = buildPerlPackage {
4435     pname = "Config-Versioned";
4436     version = "1.01";
4437     src = fetchurl {
4438       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Config-Versioned-1.01.tar.gz";
4439       hash = "sha256-vJpK43OL2J+GoHvKZzYnyjySupaXN81tvHq3rRfNI0g=";
4440     };
4441     propagatedBuildInputs = [ ConfigStd GitPurePerl ];
4442     doCheck = false;
4443     meta = {
4444       description = "Simple, versioned access to configuration data";
4445       license = with lib.licenses; [ artistic1 gpl1Plus ];
4446       mainProgram = "cfgver";
4447     };
4448   };
4450   Connector = buildPerlModule {
4451     pname = "Connector";
4452     version = "1.53";
4453     src = fetchurl {
4454       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.53.tar.gz";
4455       hash = "sha256-1D50VEcZ/7lKDgZFhqetRXVbKTZPGJHZ4ncEFqsSTPo=";
4456     };
4457     buildInputs = [ ModuleBuildTiny ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI IOSocketSSL JSON LWP LWPProtocolHttps ProcSafeExec TemplateToolkit YAML ];
4458     propagatedBuildInputs = [ LogLog4perl Moose ];
4459     prePatch = ''
4460       # Attempts to use network.
4461       rm t/01-proxy-http.t
4462       rm t/01-proxy-proc-safeexec.t
4464       # crypt() tests that use DES
4465       rm t/01-builtin-password.t
4466       rm t/01-builtin-password-scheme.t
4467     '';
4468     meta = {
4469       description = "A generic connection to a hierarchical-structured data set";
4470       homepage = "https://github.com/whiterabbitsecurity/connector";
4471       license = with lib.licenses; [ artistic1 gpl1Plus ];
4472     };
4473   };
4475   ConstFast = buildPerlModule {
4476     pname = "Const-Fast";
4477     version = "0.014";
4478     src = fetchurl {
4479       url = "mirror://cpan/authors/id/L/LE/LEONT/Const-Fast-0.014.tar.gz";
4480       hash = "sha256-+AWVOgjFeEahak2F17dmOYr698NsFGX8sd6gnl+jlNs=";
4481     };
4482     propagatedBuildInputs = [ SubExporterProgressive ];
4483     buildInputs = [ ModuleBuildTiny TestFatal ];
4484     meta = {
4485       description = "Facility for creating read-only scalars, arrays, and hashes";
4486       license = with lib.licenses; [ artistic1 gpl1Plus ];
4487     };
4488   };
4490   ConvertASCIIArmour = buildPerlPackage {
4491     pname = "Convert-ASCII-Armour";
4492     version = "1.4";
4493     src = fetchurl {
4494       url = "mirror://cpan/authors/id/V/VI/VIPUL/Convert-ASCII-Armour-1.4.tar.gz";
4495       hash = "sha256-l+istusqKpGvfWzw0t/2+kKq+Tn8fW0cYFek8N9SyQQ=";
4496     };
4497     meta = {
4498       description = "Convert binary octets into ASCII armoured messages";
4499       license = with lib.licenses; [ artistic1 gpl1Plus ];
4500       maintainers = [ maintainers.sgo ];
4501     };
4502   };
4504   ConvertASN1 = buildPerlPackage {
4505     pname = "Convert-ASN1";
4506     version = "0.34";
4507     src = fetchurl {
4508       url = "mirror://cpan/authors/id/T/TI/TIMLEGGE/Convert-ASN1-0.34.tar.gz";
4509       hash = "sha256-pijXydOQVo+3Y1mXX6A/YmzlfxDcF5gOjjWH13E+Tuc=";
4510     };
4511     meta = {
4512       description = "ASN.1 Encode/Decode library";
4513       license = with lib.licenses; [ artistic1 gpl1Plus ];
4514     };
4515   };
4517   ConvertBase32 = buildPerlPackage {
4518     pname = "Convert-Base32";
4519     version = "0.06";
4520     src = fetchurl {
4521       url = "mirror://cpan/authors/id/I/IK/IKEGAMI/Convert-Base32-0.06.tar.gz";
4522       hash = "sha256-S6gsFnxB9FWqgoRzhyfkyUouvLHEznl/b9oHJFpkIRU=";
4523     };
4524     buildInputs = [ TestException ];
4525     meta = {
4526       description = "Encoding and decoding of base32 strings";
4527       license = with lib.licenses; [ artistic1 gpl1Plus ];
4528       maintainers = [ maintainers.sgo ];
4529     };
4530   };
4532   ConvertBencode = buildPerlPackage rec {
4533     pname = "Convert-Bencode";
4534     version = "1.03";
4535     src = fetchurl {
4536       url = "mirror://cpan/authors/id/O/OR/ORCLEV/Convert-Bencode-1.03.tar.gz";
4537       hash = "sha256-Jp89+GVpJZbeIU/kK5Lc+H1qa8It237Sq8f0i4LkXmw=";
4538     };
4539     meta = {
4540       description = "Functions for converting to/from bencoded strings";
4541       license = with lib.licenses; [ artistic1 gpl1Plus ];
4542     };
4543   };
4545   ConvertColor = buildPerlModule {
4546     pname = "Convert-Color";
4547     version = "0.17";
4548     src = fetchurl {
4549       url = "mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.17.tar.gz";
4550       hash = "sha256-5/jDN8VSXqoDd3xXaD6hGvm5j/HQURojSvH4CkMiTsc=";
4551     };
4552     buildInputs = [ Test2Suite ];
4553     propagatedBuildInputs = [ ListUtilsBy ModulePluggable ];
4554     meta = {
4555       description = "Color space conversions and named lookups";
4556       license = with lib.licenses; [ artistic1 gpl1Plus ];
4557     };
4558   };
4560   ConvertUU = buildPerlPackage rec {
4561     pname = "Convert-UU";
4562     version = "0.5201";
4563     src = fetchurl {
4564       url = "mirror://cpan/authors/id/A/AN/ANDK/Convert-UU-0.5201.tar.gz";
4565       hash = "sha256-kjKc4cMrWVLEjhIj2wGMjFjOr+8Dv6D9SBfNicNVo70=";
4566     };
4567     meta = {
4568       description = "Perl module for uuencode and uudecode";
4569       license = with lib.licenses; [ artistic1 gpl1Plus ];
4570     };
4571   };
4573   constantboolean = buildPerlModule {
4574     pname = "constant-boolean";
4575     version = "0.02";
4576     src = fetchurl {
4577       url = "mirror://cpan/authors/id/D/DE/DEXTER/constant-boolean-0.02.tar.gz";
4578       hash = "sha256-zSxZ1YBhzhpJdaMTFg33GG9i7qJlW4XVIOXiTp7rD+k=";
4579     };
4580     propagatedBuildInputs = [ SymbolUtil ];
4581     meta = {
4582       description = "Define TRUE and FALSE constants";
4583       license = with lib.licenses; [ artistic1 gpl1Plus ];
4584     };
4585   };
4587   curry = buildPerlPackage {
4588     pname = "curry";
4589     version = "2.000001";
4590     src = fetchurl {
4591       url = "mirror://cpan/authors/id/M/MS/MSTROUT/curry-2.000001.tar.gz";
4592       hash = "sha256-yY/iBQ+t7KOYGdboDVROkSGE/oRsvnNTnGhpT7G1HAg=";
4593     };
4594     meta = {
4595       description = "Create automatic curried method call closures for any class or object";
4596       license = with lib.licenses; [ artistic1 gpl1Plus ];
4597     };
4598   };
4600   constant-defer = buildPerlPackage {
4601     pname = "constant-defer";
4602     version = "6";
4603     src = fetchurl {
4604       url = "mirror://cpan/authors/id/K/KR/KRYDE/constant-defer-6.tar.gz";
4605       hash = "sha256-eyEmMZjKImhu//OumHokC+Qj3SFgr96yn+cW0DKYb/o=";
4606     };
4607     meta = {
4608       description = "Constant subs with deferred value calculation";
4609       license = with lib.licenses; [ gpl3Plus ];
4610     };
4611   };
4613   ContextPreserve = buildPerlPackage {
4614     pname = "Context-Preserve";
4615     version = "0.03";
4616     src = fetchurl {
4617       url = "mirror://cpan/authors/id/E/ET/ETHER/Context-Preserve-0.03.tar.gz";
4618       hash = "sha256-CZFKTCx725nKtoDBg8v0kuyY1uI/vMSH/MSuEFZ9/R8=";
4619     };
4620     buildInputs = [ TestException TestSimple13 ];
4621     meta = {
4622       description = "Run code after a subroutine call, preserving the context the subroutine would have seen if it were the last statement in the caller";
4623       license = with lib.licenses; [ artistic1 gpl1Plus ];
4624     };
4625   };
4627   CookieBaker = buildPerlModule {
4628     pname = "Cookie-Baker";
4629     version = "0.11";
4630     src = fetchurl {
4631       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cookie-Baker-0.11.tar.gz";
4632       hash = "sha256-WSdfR04HwKo2EePmhLiU59uRMzPYIUQgvmPxLsGM16s=";
4633     };
4634     buildInputs = [ ModuleBuildTiny TestTime ];
4635     propagatedBuildInputs = [ URI ];
4636     meta = {
4637       description = "Cookie string generator / parser";
4638       homepage = "https://github.com/kazeburo/Cookie-Baker";
4639       license = with lib.licenses; [ artistic1 gpl1Plus ];
4640     };
4641   };
4643   CookieXS = buildPerlPackage {
4644     pname = "Cookie-XS";
4645     version = "0.11";
4646     src = fetchurl {
4647       url = "mirror://cpan/authors/id/A/AG/AGENT/Cookie-XS-0.11.tar.gz";
4648       hash = "sha256-o7lxB4CiJC5w750G5R+Rt/PqCq5o9Tx25CxYLCzLJpg=";
4649     };
4650     propagatedBuildInputs = [ CGICookieXS ];
4651     meta = {
4652       description = "HTTP Cookie parser in C (Please use CGI::Cookie::XS instead)";
4653       license = with lib.licenses; [ artistic1 gpl1Plus ];
4654     };
4655   };
4657   Coro = buildPerlPackage {
4658     pname = "Coro";
4659     version = "6.57";
4660     src = fetchurl {
4661       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.57.tar.gz";
4662       hash = "sha256-GSjkgDNUDhHr9VBpht0QGveNJCHSEPllmSI7FdUXFMY=";
4663     };
4664     propagatedBuildInputs = [ AnyEvent Guard commonsense ];
4665     buildInputs = [ CanaryStability ];
4666     meta = {
4667       description = "The only real threads in perl";
4668       license = with lib.licenses; [ artistic1 gpl1Plus ];
4669     };
4670   };
4672   CoroEV = buildPerlPackage rec {
4673     pname = "CoroEV";
4674     version = "6.55";
4675     src = fetchurl {
4676       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-${version}.tar.gz";
4677       hash = "sha256-Q9ecAnFw/NpMoO6Sc0YFvJXhImhvUHG5TZB2TIGuijA=";
4678     };
4679     buildInputs = [ CanaryStability ];
4680     propagatedBuildInputs = [ AnyEvent Coro EV Guard commonsense ];
4681     preConfigure = ''
4682       cd EV
4683     '';
4684     meta = {
4685       description = "Do events the coro-way, with EV";
4686       license = with lib.licenses; [ artistic1 gpl1Plus ];
4687     };
4688   };
4690   Corona = buildPerlPackage {
4691     pname = "Corona";
4692     version = "0.1004";
4693     src = fetchurl {
4694       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Corona-0.1004.tar.gz";
4695       hash = "sha256-//XRnoPeem0mWfNGgpgmsWUrtmZlS4eDsRmlNFS9rzw=";
4696     };
4697     propagatedBuildInputs = [ NetServerCoro Plack ];
4698     buildInputs = [ TestSharedFork TestTCP ];
4699     meta = {
4700       description = "Coro based PSGI web server";
4701       license = with lib.licenses; [ artistic1 gpl1Plus ];
4702       mainProgram = "corona";
4703     };
4704   };
4706   CPAN = buildPerlPackage {
4707     pname = "CPAN";
4708     version = "2.36";
4709     src = fetchurl {
4710       url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.36.tar.gz";
4711       hash = "sha256-HXKl60DliOPBDx88hckC6HGxaDdH1ncjOvd3yCv8kJ4=";
4712     };
4713     propagatedBuildInputs = [ ArchiveZip CPANChecksums CPANPerlReleases CompressBzip2 Expect FileHomeDir FileWhich LWP LogLog4perl ModuleSignature TermReadKey TextGlob YAML YAMLLibYAML YAMLSyck IOSocketSSL ];
4714     meta = {
4715       description = "Query, download and build perl modules from CPAN sites";
4716       license = with lib.licenses; [ artistic1 gpl1Plus ];
4717       mainProgram = "cpan";
4718     };
4719   };
4721   CPANAudit = buildPerlPackage {
4722     pname = "CPAN-Audit";
4723     version = "20230826.001";
4724     src = fetchurl {
4725       url = "mirror://cpan/authors/id/B/BD/BDFOY/CPAN-Audit-20230826.001.tar.gz";
4726       hash = "sha256-DXU7O9fdpXweIKycWScKcKTNkfttfN4mJEPoVUy2Geo=";
4727     };
4728     buildInputs = [ CaptureTiny YAMLTiny ];
4729     propagatedBuildInputs = [ CPANDistnameInfo IOInteractive JSON ModuleCPANfile ModuleExtractVERSION PerlIOgzip Mojolicious ];
4730     meta = {
4731       homepage = "https://github.com/briandfoy/cpan-audit";
4732       description = "Audit CPAN distributions for known vulnerabilities";
4733       license = with lib.licenses; [ artistic1 gpl1Plus ];
4734     };
4735   };
4737   CPANMini = buildPerlPackage {
4738     pname = "CPAN-Mini";
4739     version = "1.111017";
4740     src = fetchurl {
4741       url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Mini-1.111017.tar.gz";
4742       hash = "sha256-8gQpO+JqyEGsyHBEoYjbD1kegIgTFseiiK7A7s4wYVU=";
4743     };
4744     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
4745     propagatedBuildInputs = [ FileHomeDir LWPProtocolHttps ];
4746     postInstall = lib.optionalString stdenv.isDarwin ''
4747       shortenPerlShebang $out/bin/minicpan
4748     '';
4750     meta = {
4751       description = "Create a minimal mirror of CPAN";
4752       homepage = "https://github.com/rjbs/CPAN-Mini";
4753       license = with lib.licenses; [ artistic1 gpl1Plus ];
4754       maintainers = [ maintainers.sgo ];
4755       mainProgram = "minicpan";
4756     };
4757   };
4759   CpanelJSONXS = buildPerlPackage {
4760     pname = "Cpanel-JSON-XS";
4761     version = "4.37";
4762     src = fetchurl {
4763       url = "mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.37.tar.gz";
4764       hash = "sha256-wkFhWg4X/3Raqoa79Gam4pzSQFFeZfBqegUBe2GebUs=";
4765     };
4766     meta = {
4767       description = "CPanel fork of JSON::XS, fast and correct serializing";
4768       license = with lib.licenses; [ artistic1 gpl1Plus ];
4769       mainProgram = "cpanel_json_xs";
4770     };
4771   };
4773   CPAN02PackagesSearch = buildPerlModule {
4774     pname = "CPAN-02Packages-Search";
4775     version = "0.100";
4776     src = fetchurl {
4777       url = "mirror://cpan/authors/id/S/SK/SKAJI/CPAN-02Packages-Search-0.100.tar.gz";
4778       hash = "sha256-prabrHmiUwA0RrKD76bzrv+mCdDBxStCCYeCEtpw+as=";
4779     };
4780     buildInputs = [ ModuleBuildTiny ];
4781     propagatedBuildInputs = [ TieHandleOffset ];
4782     meta = {
4783       description = "Search packages in 02packages.details.txt";
4784       homepage = "https://github.com/skaji/CPAN-02Packages-Search";
4785       license = with lib.licenses; [ artistic1 gpl1Plus ];
4786       maintainers = [ maintainers.zakame ];
4787     };
4788   };
4790   CPANChanges = buildPerlPackage {
4791     pname = "CPAN-Changes";
4792     version = "0.400002";
4793     src = fetchurl {
4794       url = "mirror://cpan/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz";
4795       hash = "sha256-Ae7eqQ0HRoy1jkpQv6O7HU7tqQc1lq3REY/DWRU6vo0=";
4796     };
4797     meta = {
4798       description = "Read and write Changes files";
4799       license = with lib.licenses; [ artistic1 gpl1Plus ];
4800       mainProgram = "tidy_changelog";
4801     };
4802   };
4804   CPANChecksums = buildPerlPackage {
4805     pname = "CPAN-Checksums";
4806     version = "2.14";
4807     src = fetchurl {
4808       url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.14.tar.gz";
4809       hash = "sha256-QIBxbF2n4DtQTjzA6h/V757WkV9vtzdWTp4T01Wonjk=";
4810     };
4811     propagatedBuildInputs = [ CompressBzip2 DataCompare ModuleSignature ];
4812     meta = {
4813       description = "Write a CHECKSUMS file for a directory as on CPAN";
4814       license = with lib.licenses; [ artistic1 gpl1Plus ];
4815     };
4816   };
4818   CPANCommonIndex = buildPerlPackage {
4819     pname = "CPAN-Common-Index";
4820     version = "0.010";
4821     src = fetchurl {
4822       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Common-Index-0.010.tar.gz";
4823       hash = "sha256-xD3bsi/UKwYRj+Y1f1NwD7139TG6PEJ/qvvzA8v06vA=";
4824     };
4825     buildInputs = [ TestDeep TestFailWarnings TestFatal ];
4826     propagatedBuildInputs = [ CPANDistnameInfo ClassTiny TieHandleOffset URI ];
4827     meta = {
4828       description = "Common library for searching CPAN modules, authors and distributions";
4829       homepage = "https://github.com/Perl-Toolchain-Gang/CPAN-Common-Index";
4830       license = with lib.licenses; [ asl20 ];
4831     };
4832   };
4834   CPANDistnameInfo = buildPerlPackage {
4835     pname = "CPAN-DistnameInfo";
4836     version = "0.12";
4837     src = fetchurl {
4838       url = "mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz";
4839       hash = "sha256-LyT76ffurLwmnTX8YWGDIvwXvkme4M2QGPNwk0qfJDU=";
4840     };
4841     meta = {
4842       description = "Extract distribution name and version from a distribution filename";
4843       license = with lib.licenses; [ artistic1 gpl1Plus ];
4844     };
4845   };
4847   CPANMetaCheck = buildPerlPackage {
4848     pname = "CPAN-Meta-Check";
4849     version = "0.018";
4850     src = fetchurl {
4851       url = "mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.018.tar.gz";
4852       hash = "sha256-9hnS316g/ZHIz4PrVKzMteQ9nm7Bo/cns9CsFdDPN4o=";
4853     };
4854     buildInputs = [ TestDeep ];
4855     meta = {
4856       description = "Verify requirements in a CPAN::Meta object";
4857       license = with lib.licenses; [ artistic1 gpl1Plus ];
4858     };
4859   };
4861   CPANPerlReleases = buildPerlPackage {
4862     pname = "CPAN-Perl-Releases";
4863     version = "5.20230920";
4864     src = fetchurl {
4865       url = "mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-5.20230920.tar.gz";
4866       hash = "sha256-MbyTiJR2uOx1iRjdmSSmKYPgh7BsjN6Sb7mnp+h60cA=";
4867     };
4868     meta = {
4869       description = "Mapping Perl releases on CPAN to the location of the tarballs";
4870       homepage = "https://github.com/bingos/cpan-perl-releases";
4871       license = with lib.licenses; [ artistic1 gpl1Plus ];
4872     };
4873   };
4875   CPANPLUS = buildPerlPackage {
4876     pname = "CPANPLUS";
4877     version = "0.9914";
4878     src = fetchurl {
4879       url = "mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9914.tar.gz";
4880       hash = "sha256-dsPl2mI6SvYP5krexEj7H44Mrp9nmKNraIZZdAROm2c=";
4881     };
4882     propagatedBuildInputs = [ ArchiveExtract ModulePluggable ObjectAccessor PackageConstants TermUI ];
4883     meta = {
4884       description = "Ameliorated interface to the CPAN";
4885       homepage = "https://github.com/jib/cpanplus-devel";
4886       license = with lib.licenses; [ artistic1 gpl1Plus ];
4887       mainProgram = "cpanp";
4888     };
4889   };
4891   CPANUploader = buildPerlPackage {
4892     pname = "CPAN-Uploader";
4893     version = "0.103018";
4894     src = fetchurl {
4895       url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103018.tar.gz";
4896       hash = "sha256-xP/k7enbebOW47/F583w4umCHh8eCH9SO8+nTJ/J4kg=";
4897     };
4898     propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive LWPProtocolHttps TermReadKey ];
4899     meta = {
4900       description = "Upload things to the CPAN";
4901       homepage = "https://github.com/rjbs/CPAN-Uploader";
4902       license = with lib.licenses; [ artistic1 gpl1Plus ];
4903       mainProgram = "cpan-upload";
4904     };
4905   };
4907   CryptArgon2 = buildPerlModule {
4908     pname = "Crypt-Argon2";
4909     version = "0.019";
4910     src = fetchurl {
4911       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Argon2-0.019.tar.gz";
4912       hash = "sha256-+Fm+6NL2tAf11EZFwiOu4hL+AFkd/YLlBlrhvnio5Dg=";
4913     };
4914     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
4915     meta = {
4916       description = "Perl interface to the Argon2 key derivation functions";
4917       license = with lib.licenses; [ cc0 ];
4918     };
4919   };
4921   CryptBcrypt = buildPerlPackage {
4922     pname = "Crypt-Bcrypt";
4923     version = "0.011";
4924     src = fetchurl {
4925       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Bcrypt-0.011.tar.gz";
4926       hash = "sha256-Z/ymiwUm5zTi2VvGsyutAcMZ5Yer9j5M80Itpmu+o6A=";
4927     };
4928     meta = {
4929       description = "modern bcrypt implementation";
4930       license = with lib.licenses; [ artistic1 gpl1Plus ];
4931     };
4932   };
4934   CryptBlowfish = buildPerlPackage {
4935     pname = "Crypt-Blowfish";
4936     version = "2.14";
4937     src = fetchurl {
4938       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz";
4939       hash = "sha256-RrNDH/tr9bnLNZ95Vl1IQH5lKtKwT99cpipp5xl6Z7E=";
4940     };
4941     meta = {
4942       description = "Perl Blowfish encryption module";
4943       license = with lib.licenses; [ bsdOriginalShortened ];
4944     };
4945   };
4947   CryptCAST5_PP = buildPerlPackage {
4948     pname = "Crypt-CAST5_PP";
4949     version = "1.04";
4950     src = fetchurl {
4951       url = "mirror://cpan/authors/id/B/BO/BOBMATH/Crypt-CAST5_PP-1.04.tar.gz";
4952       hash = "sha256-y6mKgEA/uJihTJKPI39EgWtISGQYQM4lFzY8LAcbUyc=";
4953     };
4954     meta = {
4955       description = "CAST5 block cipher in pure Perl";
4956       license = with lib.licenses; [ artistic1 gpl1Plus ];
4957       maintainers = [ maintainers.sgo ];
4958     };
4959   };
4961   CryptCBC = buildPerlPackage {
4962     pname = "Crypt-CBC";
4963     version = "2.33";
4964     src = fetchurl {
4965       url = "mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-2.33.tar.gz";
4966       hash = "sha256-anDeIbbMfysQAGfo4Yjblm6agAG122+pdufLWylK5kU=";
4967     };
4968     meta = {
4969       description = "Encrypt Data with Cipher Block Chaining Mode";
4970       license = with lib.licenses; [ artistic1 gpl1Plus ];
4971     };
4972   };
4974   CryptCurve25519 = buildPerlPackage {
4975     pname = "Crypt-Curve25519";
4976     version = "0.07";
4977     src = fetchurl {
4978       url = "mirror://cpan/authors/id/K/KA/KARASIK/Crypt-Curve25519-0.07.tar.gz";
4979       hash = "sha256-Z6mIcTclIdb34R/dYnyq21wdVAFCag6c9CFnpDxbSx0=";
4980     };
4981     meta = {
4982       description = "Generate shared secret using elliptic-curve Diffie-Hellman function";
4983       homepage = "https://metacpan.org/release/Crypt-Curve25519";
4984       license = with lib.licenses; [ artistic1 gpl1Plus ];
4985     };
4986   };
4988   CryptDES = buildPerlPackage {
4989     pname = "Crypt-DES";
4990     version = "2.07";
4991     src = fetchurl {
4992       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-2.07.tar.gz";
4993       hash = "sha256-LbHrtYN7TLIAUcDuW3M7RFPjE33wqSMGA0yGdiHt1+c=";
4994     };
4995     meta = {
4996       description = "Perl DES encryption module";
4997       license = with lib.licenses; [ bsdOriginalShortened ];
4998     };
4999   };
5001   CryptDES_EDE3 = buildPerlPackage {
5002     pname = "Crypt-DES_EDE3";
5003     version = "0.01";
5004     src = fetchurl {
5005       url = "mirror://cpan/authors/id/B/BT/BTROTT/Crypt-DES_EDE3-0.01.tar.gz";
5006       hash = "sha256-nLLgS2JenMCDPNSZ92/RJVZYPs7KeCqXWKVeP5aXSNY=";
5007     };
5008     propagatedBuildInputs = [ CryptDES ];
5009     meta = {
5010       description = "Triple-DES EDE encryption/decryption";
5011       license = with lib.licenses; [ artistic1 gpl1Plus ];
5012       maintainers = [ maintainers.sgo ];
5013     };
5014   };
5016   CryptDH = buildPerlPackage {
5017     pname = "Crypt-DH";
5018     version = "0.07";
5019     src = fetchurl {
5020       url = "mirror://cpan/authors/id/M/MI/MITHALDU/Crypt-DH-0.07.tar.gz";
5021       hash = "sha256-yIzzQjsB5nguiYbX/lMEQ2q4SwklxEmMb9+hfvmjf18=";
5022     };
5023     propagatedBuildInputs = [ MathBigIntGMP ];
5024     meta = {
5025       description = "Diffie-Hellman key exchange system";
5026       license = with lib.licenses; [ artistic1 gpl1Plus ];
5027     };
5028   };
5030   CryptDHGMP = buildPerlPackage {
5031     pname = "Crypt-DH-GMP";
5032     version = "0.00012";
5033     src = fetchurl {
5034       url = "mirror://cpan/authors/id/D/DM/DMAKI/Crypt-DH-GMP-0.00012.tar.gz";
5035       hash = "sha256-UeekeuWUz1X2bAdi9mkhVIbn2LNGC9rf55NQzPJtrzg=";
5036     };
5037     buildInputs = [ pkgs.gmp DevelChecklib TestRequires ];
5038     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
5039     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
5040     meta = {
5041       description = "Crypt::DH Using GMP Directly";
5042       license = with lib.licenses; [ artistic1 gpl1Plus ];
5043     };
5044   };
5046   CryptDSA = buildPerlPackage {
5047     pname = "Crypt-DSA";
5048     version = "1.17";
5049     src = fetchurl {
5050       url = "mirror://cpan/authors/id/A/AD/ADAMK/Crypt-DSA-1.17.tar.gz";
5051       hash = "sha256-0bhYX2v3RvduXcXaNkHTJe1la8Ll80S1RRS1XDEAmgM=";
5052     };
5053     propagatedBuildInputs = [ DataBuffer DigestSHA1 FileWhich ];
5054     meta = {
5055       description = "DSA Signatures and Key Generation";
5056       license = with lib.licenses; [ artistic1 gpl1Plus ];
5057       maintainers = [ maintainers.sgo ];
5058     };
5059   };
5061   CryptECB = buildPerlPackage {
5062     pname = "Crypt-ECB";
5063     version = "2.22";
5064     src = fetchurl {
5065       url = "mirror://cpan/authors/id/A/AP/APPEL/Crypt-ECB-2.22.tar.gz";
5066       hash = "sha256-9a9i6QjNMaNLK4ExNaBxgBb9AD/6ACH/vdhMUBWCZ6o=";
5067     };
5068     meta = {
5069       description = "Use block ciphers using ECB mode";
5070       license = with lib.licenses; [ artistic1 gpl1Plus ];
5071     };
5072   };
5074   CryptEksblowfish = buildPerlModule {
5075     pname = "Crypt-Eksblowfish";
5076     version = "0.009";
5077     src = fetchurl {
5078       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz";
5079       hash = "sha256-PMcSbVhBEHI3qb4txcf7wWfPPEtM40Z4qESLhQdXAUw=";
5080     };
5081     propagatedBuildInputs = [ ClassMix ];
5082     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
5083     meta = {
5084       description = "The Eksblowfish block cipher";
5085       license = with lib.licenses; [ artistic1 gpl1Plus ];
5086     };
5087   };
5089   CryptFormat = buildPerlPackage {
5090     pname = "Crypt-Format";
5091     version = "0.12";
5092     src = fetchurl {
5093       url = "mirror://cpan/authors/id/F/FE/FELIPE/Crypt-Format-0.12.tar.gz";
5094       hash = "sha256-p1cdS+9XeOGln0O2XPLVaAtJ+nu78z89IfRSL0Pmp9o=";
5095     };
5096     buildInputs = [ TestException TestFailWarnings ];
5097     meta = {
5098       description = "Conversion utilities for encryption applications";
5099       license = with lib.licenses; [ artistic1 gpl1Plus ];
5100       maintainers = [ maintainers.sgo ];
5101     };
5102   };
5104   CryptHSXKPasswd = buildPerlPackage {
5105     pname = "Crypt-HSXKPasswd";
5106     version = "3.6";
5107     src = fetchurl {
5108       url = "mirror://cpan/authors/id/B/BA/BARTB/Crypt-HSXKPasswd-v3.6.tar.gz";
5109       hash = "sha256-lZ3MX58BG/ALha0i31ZrerK/XqHTYrDeD7WuKfvEWLM=";
5110     };
5111     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
5112     propagatedBuildInputs = [ Clone DateTime FileHomeDir FileShare FileShareDir GetoptLong JSON ListMoreUtils MathRound Readonly TextUnidecode TypeTiny ];
5113     postInstall = lib.optionalString stdenv.isDarwin ''
5114       shortenPerlShebang $out/bin/hsxkpasswd
5115     '';
5117     meta = {
5118       description = "A secure memorable password generator";
5119       homepage = "http://www.bartb.ie/hsxkpasswd";
5120       license = with lib.licenses; [ bsd2 ];
5121       maintainers = [ maintainers.dannixon ];
5122       mainProgram = "hsxkpasswd";
5123     };
5124     # Two tests fail as a result of https://github.com/bbusschots/hsxkpasswd/issues/42
5125     # (also see https://github.com/bbusschots/hsxkpasswd/issues/43)
5126     doCheck = false;
5127   };
5129   CryptIDEA = buildPerlPackage {
5130     pname = "Crypt-IDEA";
5131     version = "1.10";
5132     src = fetchurl {
5133       url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz";
5134       hash = "sha256-M714wRkkoPwf8+7d6UB4y79rbKnt4EbSsvVh6emnIBk=";
5135     };
5136     meta = {
5137       description = "Perl interface to IDEA block cipher";
5138       license = with lib.licenses; [ bsdOriginalShortened ];
5139     };
5140   };
5142   CryptJWT = buildPerlPackage {
5143     pname = "Crypt-JWT";
5144     version = "0.035";
5145     src = fetchurl {
5146       url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.035.tar.gz";
5147       hash = "sha256-XPvVX63DrtNtZ0/AU6zoZ7XT4aTOiiDPu3wmef3wlkE=";
5148     };
5149     propagatedBuildInputs = [ CryptX JSON ];
5150     meta = {
5151       description = "JSON Web Token";
5152       license = with lib.licenses; [ artistic1 gpl1Plus ];
5153     };
5154   };
5156   CryptPassphrase = buildPerlPackage {
5157     pname = "Crypt-Passphrase";
5158     version = "0.016";
5159     src = fetchurl {
5160       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-0.016.tar.gz";
5161       hash = "sha256-TOtPi1SsM/PYHJq0euTPoejDbzhJ76ghcDycMH46T8c=";
5162     };
5163     propagatedBuildInputs = [ CryptURandom ];
5164     meta = {
5165       description = "A module for managing passwords in a cryptographically agile manner";
5166       license = with lib.licenses; [ artistic1 gpl1Plus ];
5167     };
5168   };
5170   CryptPassphraseArgon2 = buildPerlPackage {
5171     pname = "Crypt-Passphrase-Argon2";
5172     version = "0.009";
5173     src = fetchurl {
5174       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Argon2-0.009.tar.gz";
5175       hash = "sha256-M39AVZY6EG2bt7tcJvwPSHCGYJ2XKHVgucpEwEPCF1I=";
5176     };
5177     propagatedBuildInputs = with perlPackages; [ CryptArgon2 CryptPassphrase ];
5178     meta = {
5179       description = "An Argon2 encoder for Crypt::Passphrase";
5180       license = with lib.licenses; [ artistic1 gpl1Plus ];
5181     };
5182   };
5184   CryptPassphraseBcrypt = buildPerlPackage {
5185     pname = "Crypt-Passphrase-Bcrypt";
5186     version = "0.007";
5187     src = fetchurl {
5188       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Passphrase-Bcrypt-0.007.tar.gz";
5189       hash = "sha256-/k1NHTm9TxODQaJZUFzhE3EnCnZ8nndH90H7dGH9sA8=";
5190     };
5191     propagatedBuildInputs = [ CryptBcrypt CryptPassphrase ];
5192     meta = {
5193       description = "A bcrypt encoder for Crypt::Passphrase";
5194       homepage = "https://github.com/Leont/crypt-passphrase-bcrypt";
5195       license = with lib.licenses; [ artistic1 gpl1Plus ];
5196     };
5197   };
5199   CryptPasswdMD5 = buildPerlPackage {
5200     pname = "Crypt-PasswdMD5";
5201     version = "1.42";
5202     src = fetchurl {
5203       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.42.tgz";
5204       hash = "sha256-/Tlubn9E7rkj6TyZOUC49nqa7Vb8dKrK8Dj8QFPvO1k=";
5205     };
5206     meta = {
5207       description = "Provide interoperable MD5-based crypt() functions";
5208       license = with lib.licenses; [ artistic1 gpl1Plus ];
5209     };
5210   };
5212   CryptPKCS10 = buildPerlModule {
5213     pname = "Crypt-PKCS10";
5214     version = "2.005";
5215     src = fetchurl {
5216       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-PKCS10-2.005.tar.gz";
5217       hash = "sha256-LdEv0JHCPjp8NKZqw1rDq/kHQCOUtVV0mO3kj8QUU6c=";
5218     };
5219     buildInputs = [ CryptX ModuleBuildTiny pkgs.unzip ];
5220     propagatedBuildInputs = [ ConvertASN1 ];
5221     meta = {
5222       description = "Parse PKCS #10 certificate requests";
5223       homepage = "https://github.com/openxpki/Crypt-PKCS10";
5224       license = with lib.licenses; [ gpl1Only ];
5225     };
5226   };
5228   CryptRandomSeed = buildPerlPackage {
5229     pname = "Crypt-Random-Seed";
5230     version = "0.03";
5231     src = fetchurl {
5232       url = "mirror://cpan/authors/id/D/DA/DANAJ/Crypt-Random-Seed-0.03.tar.gz";
5233       hash = "sha256-WT2lS1IsCcwmu8wOTknByOaIpv0zsHJq+AHXIqXI0PE=";
5234     };
5235     propagatedBuildInputs = [ CryptRandomTESHA2 ];
5236     meta = {
5237       description = "Provide strong randomness for seeding";
5238       homepage = "https://github.com/danaj/Crypt-Random-Seed";
5239       license = with lib.licenses; [ artistic1 gpl1Plus ];
5240       maintainers = [ maintainers.sgo ];
5241     };
5242   };
5244   CryptRandom = buildPerlPackage rec {
5245     pname = "Crypt-Random";
5246     version = "1.54";
5247     src = fetchurl {
5248       url = "mirror://cpan/authors/id/V/VI/VIPUL/Crypt-Random-1.54.tar.gz";
5249       hash = "sha256-1m+OF+3Dh3zHl/3VneU045kGNvjxpecmBiFZr35n2sw=";
5250     };
5251     propagatedBuildInputs = [ ClassLoader MathPari StatisticsChiSquare ];
5252     meta = {
5253       description = "Interface to /dev/random and /dev/urandom";
5254       license = with lib.licenses; [ artistic1 gpl1Plus ];
5255       mainProgram = "makerandom";
5256     };
5257   };
5259   CryptRandomSource = buildPerlModule {
5260     pname = "Crypt-Random-Source";
5261     version = "0.14";
5262     src = fetchurl {
5263       url = "mirror://cpan/authors/id/E/ET/ETHER/Crypt-Random-Source-0.14.tar.gz";
5264       hash = "sha256-7E7OJp+a0ZWMbimOzuLlpDReNX86T/ssdIEWr4du7eY=";
5265     };
5266     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
5267     propagatedBuildInputs = [ CaptureTiny ModuleFind Moo SubExporter TypeTiny namespaceclean ];
5268     meta = {
5269       description = "Get weak or strong random data from pluggable sources";
5270       homepage = "https://github.com/karenetheridge/Crypt-Random-Source";
5271       license = with lib.licenses; [ artistic1 gpl1Plus ];
5272     };
5273   };
5275   CryptRandomTESHA2 = buildPerlPackage {
5276     pname = "Crypt-Random-TESHA2";
5277     version = "0.01";
5278     src = fetchurl {
5279       url = "mirror://cpan/authors/id/D/DA/DANAJ/Crypt-Random-TESHA2-0.01.tar.gz";
5280       hash = "sha256-oJErQsUr4XPaUo1VJ+QNlnMkvASseNn8LdyR/xb+ljM=";
5281     };
5282     meta = {
5283       description = "Random numbers using timer/schedule entropy, aka userspace voodoo entropy";
5284       homepage = "https://github.com/danaj/Crypt-Random-TESHA2";
5285       license = with lib.licenses; [ artistic1 gpl1Plus ];
5286     };
5287   };
5289   CryptRC4 = buildPerlPackage {
5290     pname = "Crypt-RC4";
5291     version = "2.02";
5292     src = fetchurl {
5293       url = "mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-2.02.tar.gz";
5294       hash = "sha256-XsRCXGvCIgeIljC+c1DZlobmKkTGE2lgEQIDzVlK4Oo=";
5295     };
5296     meta = {
5297       description = "Perl implementation of the RC4 encryption algorithm";
5298       license = with lib.licenses; [ artistic1 gpl1Plus ];
5299     };
5300   };
5302   CryptRandPasswd = buildPerlPackage {
5303     pname = "Crypt-RandPasswd";
5304     version = "0.07";
5305     src = fetchurl {
5306       url = "mirror://cpan/authors/id/J/JA/JANITOR/Crypt-RandPasswd-0.07.tar.gz";
5307       hash = "sha256-bd26Sdx+DwBRr6oKvhbxN4OiRM0eu1+B2qEay2KKSWE=";
5308     };
5309     meta = {
5310       description = "Random password generator based on FIPS-181";
5311       license = with lib.licenses; [ artistic1 gpl1Plus ];
5312     };
5313   };
5315   CryptRIPEMD160 = buildPerlPackage {
5316     pname = "Crypt-RIPEMD160";
5317     version = "0.08";
5318     src = fetchurl {
5319       url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-RIPEMD160-0.08.tar.gz";
5320       hash = "sha256-NNHIdgf2yd76s3QbdtMbzPu21NIBr4Dg9gg8N4EwsjI=";
5321     };
5322     meta = {
5323       description = "Perl extension for the RIPEMD-160 Hash function";
5324       homepage = "https://wiki.github.com/toddr/Crypt-RIPEMD160";
5325       license = with lib.licenses; [ artistic1 gpl1Plus ];
5326       maintainers = [ maintainers.sgo ];
5327     };
5328   };
5330   CryptMySQL = buildPerlModule {
5331     pname = "Crypt-MySQL";
5332     version = "0.04";
5333     src = fetchurl {
5334       url = "mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-0.04.tar.gz";
5335       hash = "sha256-k+vfqu/P6atoPwEhyF8kR12Bl/C87EYBghnkERQ03eM=";
5336     };
5337     propagatedBuildInputs = [ DigestSHA1 ];
5338     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
5339     meta = {
5340       description = "Emulate MySQL PASSWORD() function";
5341       license = with lib.licenses; [ artistic1 gpl1Plus ];
5342     };
5343   };
5345   CryptRijndael = buildPerlPackage {
5346     pname = "Crypt-Rijndael";
5347     version = "1.16";
5348     src = fetchurl {
5349       url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-1.16.tar.gz";
5350       hash = "sha256-ZUAIXjgEuCpvB1LBEiz3jK3SIZkBNt1v1MCX0FbITUA=";
5351     };
5352     meta = {
5353       description = "Crypt::CBC compliant Rijndael encryption module";
5354       license = with lib.licenses; [ gpl3Only ];
5355     };
5356   };
5358   CryptUnixCryptXS = buildPerlPackage {
5359     pname = "Crypt-UnixCrypt_XS";
5360     version = "0.11";
5361     src = fetchurl {
5362       url = "mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-0.11.tar.gz";
5363       hash = "sha256-Yus0EsLJG9TcK4pNnuJtW94usRkycDtu6sR3Pk0fT6o=";
5364     };
5365     meta = {
5366       description = "Perl xs interface for a portable traditional crypt function";
5367       license = with lib.licenses; [ artistic1 gpl1Plus ];
5368     };
5369   };
5371   CryptURandom = buildPerlPackage {
5372     pname = "Crypt-URandom";
5373     version = "0.39";
5374     src = fetchurl {
5375       url = "mirror://cpan/authors/id/D/DD/DDICK/Crypt-URandom-0.39.tar.gz";
5376       hash = "sha256-Jol7PPualWAJFRLWCHMaPVv08pn20Pj3LIXzmQEkQSI=";
5377     };
5378     meta = {
5379       description = "Provide non blocking randomness";
5380       license = with lib.licenses; [ artistic1 gpl1Plus ];
5381       maintainers = [ maintainers.sgo ];
5382     };
5383   };
5385   CryptScryptKDF = buildPerlModule {
5386     pname = "Crypt-ScryptKDF";
5387     version = "0.010";
5388     src = fetchurl {
5389       url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-ScryptKDF-0.010.tar.gz";
5390       hash = "sha256-fRbulczj61TBdGc6cpn0wIb7o6yF+EfQ4TT+7V93YBc=";
5391     };
5392     propagatedBuildInputs = [ CryptOpenSSLRandom ];
5393     perlPreHook = "export LD=$CC";
5394     meta = {
5395       description = "Scrypt password based key derivation function";
5396       homepage = "https://github.com/DCIT/perl-Crypt-ScryptKDF";
5397       license = with lib.licenses; [ artistic1 gpl1Plus ];
5398       maintainers = [ maintainers.sgo ];
5399     };
5400   };
5402   CryptSmbHash = buildPerlPackage {
5403     pname = "Crypt-SmbHash";
5404     version = "0.12";
5405     src = fetchurl {
5406       url = "mirror://cpan/authors/id/B/BJ/BJKUIT/Crypt-SmbHash-0.12.tar.gz";
5407       hash = "sha256-aMSsfqv6lX3PiUwsI7zsCW+H6M8G3t/Lv3AuVTHbsTc=";
5408     };
5409     meta = {
5410       description = "Perl-only implementation of lanman and nt md4 hash functions, for use in Samba style smbpasswd entries";
5411       license = with lib.licenses; [ gpl2Plus ];
5412     };
5413   };
5415   CryptSodium = buildPerlPackage {
5416     pname = "Crypt-Sodium";
5417     version = "0.11";
5418     src = fetchurl {
5419       url = "mirror://cpan/authors/id/M/MG/MGREGORO/Crypt-Sodium-0.11.tar.gz";
5420       hash = "sha256-kHxzoQVs6gV9qYGa6kipKreG5qqq858c3ZZHsj8RbHg=";
5421     };
5422     env.NIX_CFLAGS_COMPILE = "-I${pkgs.libsodium.dev}/include";
5423     NIX_CFLAGS_LINK = "-L${pkgs.libsodium.out}/lib -lsodium";
5424     meta = {
5425       description = "Perl bindings for libsodium (NaCL)";
5426       homepage = "https://metacpan.org/release/Crypt-Sodium";
5427       license = with lib.licenses; [ artistic1 gpl1Plus ];
5428       maintainers = [ maintainers.sgo ];
5429     };
5430   };
5432   CryptTwofish = buildPerlPackage {
5433     pname = "Crypt-Twofish";
5434     version = "2.18";
5435     src = fetchurl {
5436       url = "mirror://cpan/authors/id/A/AM/AMS/Crypt-Twofish-2.18.tar.gz";
5437       hash = "sha256-WIFVXWGHlyojgqoNTbLXTJcLBndMYhtspSNzkjbS1QE=";
5438     };
5439     meta = {
5440       description = "The Twofish Encryption Algorithm";
5441       license = with lib.licenses; [ artistic1 gpl1Plus ];
5442       maintainers = [ maintainers.sgo ];
5443     };
5444   };
5446   CryptOpenPGP = buildPerlPackage {
5447     pname = "Crypt-OpenPGP";
5448     version = "1.12";
5449     src = fetchurl {
5450       url = "mirror://cpan/authors/id/S/SR/SROMANOV/Crypt-OpenPGP-1.12.tar.gz";
5451       hash = "sha256-6Kf/Kpk7dqaa1t/9vlV1W+Vni4Tm7ElNzZq5Zvdm9Q4=";
5452     };
5453     patches = [
5454       # See https://github.com/NixOS/nixpkgs/pull/93599
5455       ../development/perl-modules/crypt-openpgp-remove-impure-keygen-tests.patch
5456     ];
5457     buildInputs = [ TestException ];
5458     propagatedBuildInputs = [ AltCryptRSABigInt CryptCAST5_PP CryptDES_EDE3 CryptDSA CryptIDEA CryptRIPEMD160 CryptRijndael CryptTwofish FileHomeDir LWP ];
5460     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
5461     postInstall = lib.optionalString stdenv.isDarwin ''
5462       shortenPerlShebang $out/bin/pgplet
5463     '';
5464     doCheck = false; /* test fails with 'No random source available!' */
5466     meta = {
5467       description = "Pure-Perl OpenPGP implementation";
5468       homepage = "https://github.com/btrott/Crypt-OpenPGP";
5469       license = with lib.licenses; [ artistic1 gpl1Plus ];
5470       maintainers = [ maintainers.sgo ];
5471       mainProgram = "pgplet";
5472     };
5473   };
5475   CryptOpenSSLAES = buildPerlPackage {
5476     pname = "Crypt-OpenSSL-AES";
5477     version = "0.17";
5478     src = fetchurl {
5479       url = "mirror://cpan/authors/id/T/TI/TIMLEGGE/Crypt-OpenSSL-AES-0.17.tar.gz";
5480       hash = "sha256-7+GBsYxtIqc/LlNWOQ6Fdyes5UY2JeIhHdhgIyvtO7c=";
5481     };
5482     buildInputs = [ CryptOpenSSLGuess FileWhich pkgs.openssl ];
5483     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5484     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5485     meta = {
5486       description = "Perl wrapper around OpenSSL's AES library";
5487       license = with lib.licenses; [ artistic1 gpl1Plus ];
5488     };
5489   };
5491   CryptOpenSSLBignum = buildPerlPackage {
5492     pname = "Crypt-OpenSSL-Bignum";
5493     version = "0.09";
5494     src = fetchurl {
5495       url = "mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz";
5496       hash = "sha256-I05y+4OW1FUn5v1F5DdZxcPzogjPjynmoiFhqZb9Qtw=";
5497     };
5498     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5499     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5500     meta = {
5501       description = "OpenSSL's multiprecision integer arithmetic";
5502       license = with lib.licenses; [ artistic1 gpl1Plus ];
5503     };
5504   };
5506   CryptOpenSSLGuess = buildPerlPackage {
5507     pname = "Crypt-OpenSSL-Guess";
5508     version = "0.15";
5509     src = fetchurl {
5510       url = "mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-0.15.tar.gz";
5511       hash = "sha256-HFAzOBgZ/bTJCH3SkbkOxw54ENMdV+remziOzP1wOG0=";
5512     };
5513     meta = {
5514       description = "Guess OpenSSL include path";
5515       homepage = "https://github.com/akiym/Crypt-OpenSSL-Guess";
5516       license = with lib.licenses; [ artistic1 gpl1Plus ];
5517     };
5518   };
5520   CryptOpenSSLRandom = buildPerlPackage {
5521     pname = "Crypt-OpenSSL-Random";
5522     version = "0.15";
5523     src = fetchurl {
5524       url = "mirror://cpan/authors/id/R/RU/RURBAN/Crypt-OpenSSL-Random-0.15.tar.gz";
5525       hash = "sha256-8IdvqhujER45uGqnMMYDIR7/KQXkYMcqV7YejPR1zvQ=";
5526     };
5527     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5528     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5529     OPENSSL_PREFIX = pkgs.openssl;
5530     buildInputs = [ CryptOpenSSLGuess ];
5531     meta = {
5532       description = "OpenSSL/LibreSSL pseudo-random number generator access";
5533       license = with lib.licenses; [ artistic1 gpl1Plus ];
5534     };
5535   };
5537   CryptOpenSSLRSA = buildPerlPackage {
5538     pname = "Crypt-OpenSSL-RSA";
5539     version = "0.33";
5540     src = fetchurl {
5541       url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.33.tar.gz";
5542       hash = "sha256-vb5jD21vVAMldGrZmXcnKshmT/gb0Z8K2rptb0Xv2GQ=";
5543     };
5544     propagatedBuildInputs = [ CryptOpenSSLRandom ];
5545     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5546     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5547     OPENSSL_PREFIX = pkgs.openssl;
5548     buildInputs = [ CryptOpenSSLGuess ];
5549     meta = {
5550       description = "RSA encoding and decoding, using the openSSL libraries";
5551       license = with lib.licenses; [ artistic1 gpl1Plus ];
5552     };
5553   };
5555   CryptOpenSSLX509 = buildPerlPackage rec {
5556     pname = "Crypt-OpenSSL-X509";
5557     version = "1.915";
5558     src = fetchurl {
5559       url = "mirror://cpan/authors/id/J/JO/JONASBN/Crypt-OpenSSL-X509-1.915.tar.gz";
5560       hash = "sha256-xNvBbE/CloV4I3v8MkWH/9eSSacQFQJlLbnjjUSJUX8=";
5561     };
5562     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
5563     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -lcrypto";
5564     OPENSSL_PREFIX = pkgs.openssl;
5565     buildInputs = [ CryptOpenSSLGuess ];
5566     propagatedBuildInputs = [ ConvertASN1 ];
5567     meta = {
5568       description = "Perl extension to OpenSSL's X509 API";
5569       homepage = "https://github.com/dsully/perl-crypt-openssl-x509";
5570       license = with lib.licenses; [ artistic1 gpl1Plus ];
5571       maintainers = [ maintainers.sgo ];
5572     };
5573   };
5575   CryptPBKDF2 = buildPerlPackage {
5576     pname = "Crypt-PBKDF2";
5577     version = "0.161520";
5578     src = fetchurl {
5579       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Crypt-PBKDF2-0.161520.tar.gz";
5580       hash = "sha256-l9+nmjCaCG4YSk5hBH+KEP+z2wUQJefSIqJfGRMLpBc=";
5581     };
5582     buildInputs = [ TestFatal ];
5583     propagatedBuildInputs = [ DigestHMAC DigestSHA3 Moo TypeTiny namespaceautoclean strictures ];
5584     meta = {
5585       description = "The PBKDF2 password hash algorithm";
5586       homepage = "https://metacpan.org/release/Crypt-PBKDF2";
5587       license = with lib.licenses; [ artistic1 gpl1Plus ];
5588       maintainers = [ maintainers.sgo ];
5589     };
5590   };
5592   CryptPerl = buildPerlPackage {
5593     pname = "Crypt-Perl";
5594     version = "0.38";
5595     src = fetchurl {
5596       url = "mirror://cpan/authors/id/F/FE/FELIPE/Crypt-Perl-0.38.tar.gz";
5597       hash = "sha256-eJdUj7AeFqIK5JDt3UZX+Br3sZKEFLkvbbQsY10ax+A=";
5598     };
5599     nativeCheckInputs = [ pkgs.openssl MathBigIntGMP ];
5600     buildInputs = [ CallContext ExtUtilsMakeMakerCPANfile FileSlurp FileWhich TestClass TestDeep TestException TestFailWarnings TestNoWarnings ];
5601     propagatedBuildInputs = [ BytesRandomSecureTiny ClassAccessor ConvertASN1 CryptFormat MathProvablePrime SymbolGet TryTiny ];
5602     meta = {
5603       description = "Cryptography in pure Perl";
5604       license = with lib.licenses; [ artistic1 gpl1Plus ];
5605       maintainers = [ maintainers.sgo ];
5606     };
5607   };
5609   CryptEd25519 = buildPerlPackage {
5610     pname = "Crypt-Ed25519";
5611     version = "1.05";
5612     src = fetchurl {
5613       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Crypt-Ed25519-1.05.tar.gz";
5614       hash = "sha256-sdEaWU/rUeQG2BsUfcDRClV8z0yrgcDbP4mBAmd9JKg=";
5615     };
5617     nativeBuildInputs = [ CanaryStability ];
5618     buildInputs = [ CanaryStability ];
5620     meta = {
5621       description = "Minimal Ed25519 bindings";
5622       license = with lib.licenses; [ artistic2 ];
5623       maintainers = [ maintainers.thoughtpolice ];
5624     };
5625   };
5627   CryptSSLeay = buildPerlPackage {
5628     pname = "Crypt-SSLeay";
5629     version = "0.73_06";
5630     src = fetchurl {
5631       url = "mirror://cpan/authors/id/N/NA/NANIS/Crypt-SSLeay-0.73_06.tar.gz";
5632       hash = "sha256-+OzKRch+uRMlmSsT8FlPgI5vG8TDuafxQbmoODhNJSw=";
5633     };
5635     makeMakerFlags = [ "--libpath=${lib.getLib pkgs.openssl}/lib" "--incpath=${pkgs.openssl.dev}/include" ];
5636     buildInputs = [ PathClass ];
5637     propagatedBuildInputs = [ BytesRandomSecure LWPProtocolHttps ];
5638     meta = {
5639       description = "OpenSSL support for LWP";
5640       license = with lib.licenses; [ artistic2 ];
5641     };
5642   };
5644   CSSDOM = buildPerlPackage {
5645     pname = "CSS-DOM";
5646     version = "0.17";
5647     src = fetchurl {
5648       url = "mirror://cpan/authors/id/S/SP/SPROUT/CSS-DOM-0.17.tar.gz";
5649       hash = "sha256-Zbl46/PDmF5V7jK7baHp+upJSoXTAFxjuux+lphZ8CY=";
5650     };
5652     patches = [
5653       # Replace apostrophe as package separator
5654       # https://rt.cpan.org/Public/Bug/Display.html?id=146661
5655       ../development/perl-modules/CSSDOM-replace-apostrophe.patch
5656     ];
5658     propagatedBuildInputs = [ Clone ];
5659     meta = {
5660       description = "Document Object Model for Cascading Style Sheets";
5661       license = with lib.licenses; [ artistic1 gpl1Plus ];
5662     };
5663   };
5665   CSSMinifier = buildPerlPackage {
5666     pname = "CSS-Minifier";
5667     version = "0.01";
5668     src = fetchurl {
5669       url = "mirror://cpan/authors/id/P/PM/PMICHAUX/CSS-Minifier-0.01.tar.gz";
5670       hash = "sha256-0Kk0m46LfoOrcM+IVM+7Qv8pwfbHyCmPIlfdIaoMf+8=";
5671     };
5672     meta = {
5673       description = "Perl extension for minifying CSS";
5674       license = with lib.licenses; [ artistic1 ];
5675     };
5676   };
5678   CSSMinifierXS = buildPerlPackage {
5679     pname = "CSS-Minifier-XS";
5680     version = "0.13";
5681     src = fetchurl {
5682       url = "mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.13.tar.gz";
5683       hash = "sha256-xBnjCM3IKvHCXWuNB7L/JjR6Yit6Y+wghWq+jbQFH4I=";
5684     };
5685     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
5686     buildInputs = [ TestDiagINC ];
5687     meta = {
5688       description = "XS based CSS minifier";
5689       homepage = "https://metacpan.org/release/CSS-Minifier-XS";
5690       license = with lib.licenses; [ artistic1 gpl1Plus ];
5691     };
5692   };
5694   CSSSquish = buildPerlPackage {
5695     pname = "CSS-Squish";
5696     version = "0.10";
5697     src = fetchurl {
5698       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/CSS-Squish-0.10.tar.gz";
5699       hash = "sha256-ZfwNaazR+jPZpMOwnM4PvXN9dHsfzE6dh+vZEFDLy04=";
5700     };
5701     buildInputs = [ TestLongString ];
5702     propagatedBuildInputs = [ URI ];
5703     meta = {
5704       description = "Compact many CSS files into one big file";
5705       license = with lib.licenses; [ artistic1 gpl1Plus ];
5706     };
5707   };
5709   Curses = buildPerlPackage {
5710     pname = "Curses";
5711     version = "1.44";
5712     src = fetchurl {
5713       url = "mirror://cpan/authors/id/G/GI/GIRAFFED/Curses-1.44.tar.gz";
5714       hash = "sha256-ou+4x8iG1pL/xNshNhx2gJoGXliOQ/rQ1n5E751CvTA=";
5715     };
5716     preConfigure = ''
5717       substituteInPlace makeConfig \
5718         --replace '#! /usr/bin/perl' '#!${perl}/bin/perl'
5719     '';
5720     propagatedBuildInputs = [ pkgs.ncurses ];
5721     NIX_CFLAGS_LINK = "-L${pkgs.ncurses.out}/lib -lncurses";
5722     meta = {
5723       description = "Perl bindings to ncurses";
5724       license = with lib.licenses; [ artistic1 ];
5725     };
5726   };
5728   CursesUI = buildPerlPackage {
5729     pname = "Curses-UI";
5730     version = "0.9609";
5731     src = fetchurl {
5732       url = "mirror://cpan/authors/id/M/MD/MDXI/Curses-UI-0.9609.tar.gz";
5733       hash = "sha256-CrgnpRO24UQDGE+wZajqHS69oSLSF4y/RceB8xEkDq8=";
5734     };
5735     propagatedBuildInputs = [ Curses TermReadKey ];
5736     meta = {
5737       description = "A curses based OO user interface framework";
5738       license = with lib.licenses; [ artistic1 gpl1Plus ];
5739     };
5740   };
5742   CursesUIGrid = buildPerlPackage {
5743     pname = "Curses-UI-Grid";
5744     version = "0.15";
5745     src = fetchurl {
5746       url = "mirror://cpan/authors/id/A/AD/ADRIANWIT/Curses-UI-Grid-0.15.tar.gz";
5747       hash = "sha256-CCDKSp+5SbqPr5evV0AYuu/7aU6YDFCHu2UiqnC52+w=";
5748     };
5749     propagatedBuildInputs = [ CursesUI TestPod TestPodCoverage ];
5750     meta = {
5751       description = "Create and manipulate data in grid model";
5752       license = with lib.licenses; [ artistic1 gpl1Plus ];
5753     };
5754   };
5756   CryptX = buildPerlPackage {
5757     pname = "CryptX";
5758     version = "0.080";
5759     src = fetchurl {
5760       url = "mirror://cpan/authors/id/M/MI/MIK/CryptX-0.080.tar.gz";
5761       hash = "sha256-tFe3khlKbJwT8G/goLXqFYllwygvOFypPh8AorM+fok=";
5762     };
5763     meta = {
5764       description = "Cryptographic toolkit";
5765       license = with lib.licenses; [ artistic1 gpl1Plus ];
5766     };
5767   };
5769   CryptX509 = buildPerlPackage {
5770     pname = "Crypt-X509";
5771     version = "0.55";
5772     src = fetchurl {
5773       url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-X509-0.55.tar.gz";
5774       hash = "sha256-FHlrEdFfdq10ROeKYZtw/92RMIaN0LANhYV5yTA4Icc=";
5775     };
5776     propagatedBuildInputs = [ ConvertASN1 ];
5777     meta = {
5778       description = "Parse a X.509 certificate";
5779       license = with lib.licenses; [ artistic1 gpl1Plus ];
5780     };
5781   };
5783   CwdGuard = buildPerlModule {
5784     pname = "Cwd-Guard";
5785     version = "0.05";
5786     src = fetchurl {
5787       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cwd-Guard-0.05.tar.gz";
5788       hash = "sha256-evx8orlQLkQCQZOK2Xo+fr1VAYDr1hQuHbOUGGsmjnc=";
5789     };
5790     buildInputs = [ TestRequires ];
5791     meta = {
5792       description = "Temporary changing working directory (chdir)";
5793       license = with lib.licenses; [ artistic1 gpl1Plus ];
5794     };
5795   };
5797   DataClone = buildPerlPackage {
5798     pname = "Data-Clone";
5799     version = "0.004";
5800     src = fetchurl {
5801       url = "mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.004.tar.gz";
5802       hash = "sha256-L+XheYgqa5Jt/vChCLSiyHof+waJK88vuI5Mj0uEODw=";
5803     };
5804     buildInputs = [ TestRequires ];
5805     patches = [
5806       ../development/perl-modules/Data-Clone-fix-apostrophe-package-separator.patch
5807     ];
5808     meta = {
5809       description = "Polymorphic data cloning";
5810       license = with lib.licenses; [ artistic1 gpl1Plus ];
5811     };
5812   };
5814   DataCompactReadonly = buildPerlPackage {
5815     pname = "Data-CompactReadonly";
5816     version = "0.1.0";
5817     src = fetchurl {
5818       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-CompactReadonly-0.1.0.tar.gz";
5819       hash = "sha256-fVYJCEz1E7p6d4u1lSNHDoNXdn1ZHL1CxYTgPfO+xug=";
5820     };
5821     propagatedBuildInputs = [ DataIEEE754 DevelStackTrace ScalarType StringBinaryInterpolation TestDifferences TestException ];
5822     meta = {
5823       description = "A Compact Read Only Database that consumes very little memory";
5824       license = with lib.licenses; [ artistic1 gpl2Only ];
5825     };
5826   };
5828   DataCompare = buildPerlPackage {
5829     pname = "Data-Compare";
5830     version = "1.29";
5831     src = fetchurl {
5832       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.29.tar.gz";
5833       hash = "sha256-U8nbO5MmPIiqo8QHLYGere0CTXo2s4wMN3N9KI1a+ow=";
5834     };
5835     propagatedBuildInputs = [ Clone FileFindRule ];
5836     meta = {
5837       description = "Compare perl data structures";
5838       license = with lib.licenses; [ artistic1 gpl1Plus ];
5839     };
5840   };
5842   DataDump = buildPerlPackage {
5843     pname = "Data-Dump";
5844     version = "1.25";
5845     src = fetchurl {
5846       url = "mirror://cpan/authors/id/G/GA/GARU/Data-Dump-1.25.tar.gz";
5847       hash = "sha256-pKpuDdvznVrUm93+D4nZ2oZOO8APYnEl0bxYBHL1P70=";
5848     };
5849     meta = {
5850       description = "Pretty printing of data structures";
5851       license = with lib.licenses; [ artistic1 gpl1Plus ];
5852     };
5853   };
5855   DataDumperAutoEncode = buildPerlModule {
5856     pname = "Data-Dumper-AutoEncode";
5857     version = "1.00";
5858     src = fetchurl {
5859       url = "mirror://cpan/authors/id/B/BA/BAYASHI/Data-Dumper-AutoEncode-1.00.tar.gz";
5860       hash = "sha256-LZoCYq1EPTIdxInvbfp7Pu0RonCKddOX03G7JYXl7KE=";
5861     };
5862     buildInputs = [ ModuleBuildPluggable ModuleBuildPluggableCPANfile ];
5863     propagatedBuildInputs = [ IOInteractiveTiny ];
5864     meta = {
5865       description = "Dump with recursive encoding";
5866       license = with lib.licenses; [ artistic2 ];
5867       mainProgram = "edumper";
5868     };
5869   };
5871   DataDumperConcise = buildPerlPackage {
5872     pname = "Data-Dumper-Concise";
5873     version = "2.023";
5874     src = fetchurl {
5875       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Dumper-Concise-2.023.tar.gz";
5876       hash = "sha256-psIvETyvMRN1kN7xtwKKfnGO+s4yKCctBnLCXgNdWFM=";
5877     };
5878     meta = {
5879       description = "Less indentation and newlines plus sub deparsing";
5880       license = with lib.licenses; [ artistic1 gpl1Plus ];
5881     };
5882   };
5884   DataEntropy = buildPerlModule {
5885     pname = "Data-Entropy";
5886     version = "0.007";
5887     src = fetchurl {
5888       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-0.007.tar.gz";
5889       hash = "sha256-JhHEoaMDhZTXnqTtFNnhWpr493EF9RZneV/k+KU0J+Q=";
5890     };
5891     propagatedBuildInputs = [ CryptRijndael DataFloat HTTPLite ParamsClassify ];
5892     meta = {
5893       description = "Entropy (randomness) management";
5894       license = with lib.licenses; [ artistic1 gpl1Plus ];
5895     };
5896   };
5898   DataFloat = buildPerlModule {
5899     pname = "Data-Float";
5900     version = "0.013";
5901     src = fetchurl {
5902       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-0.013.tar.gz";
5903       hash = "sha256-4rFSPYWJMLi729GW8II19eZ4uEkZuodxLiYxO5wnUYo=";
5904     };
5905     meta = {
5906       description = "Details of the floating point data type";
5907       license = with lib.licenses; [ artistic1 gpl1Plus ];
5908     };
5909   };
5911   DataFormValidator = buildPerlPackage {
5912     pname = "Data-FormValidator";
5913     version = "4.88";
5914     src = fetchurl {
5915       url = "mirror://cpan/authors/id/D/DF/DFARRELL/Data-FormValidator-4.88.tar.gz";
5916       hash = "sha256-waU5+RySy82KjYNZfsmnZD/NjM9alOFTgsN2UokXAGY=";
5917     };
5918     propagatedBuildInputs = [ DateCalc EmailValid FileMMagic ImageSize MIMETypes RegexpCommon ];
5919     buildInputs = [ CGI ];
5920     meta = {
5921       description = "Validates user input (usually from an HTML form) based on input profile";
5922       license = with lib.licenses; [ artistic1 gpl1Plus ];
5923     };
5924   };
5926   DataGUID = buildPerlPackage {
5927     pname = "Data-GUID";
5928     version = "0.051";
5929     src = fetchurl {
5930       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.051.tar.gz";
5931       hash = "sha256-aOp3xz/KiROC8gbhJEkJRQG2+/Llf1SQLVBkInz9ji4=";
5932     };
5933     propagatedBuildInputs = [ DataUUID SubExporter ];
5934     meta = {
5935       description = "Globally unique identifiers";
5936       homepage = "https://github.com/rjbs/Data-GUID";
5937       license = with lib.licenses; [ artistic1 gpl1Plus ];
5938     };
5939   };
5941   DataHexDump = buildPerlPackage {
5942     pname = "Data-HexDump";
5943     version = "0.04";
5944     src = fetchurl {
5945       url = "mirror://cpan/authors/id/N/NE/NEILB/Data-HexDump-0.04.tar.gz";
5946       hash = "sha256-vDb0BEOKw2rSuSlVOSJ9Nvmc0WI/HjR693xZTEDMvPg=";
5947     };
5948     meta = {
5949       description = "Hexadecial Dumper";
5950       homepage = "https://github.com/neilb/Data-HexDump";
5951       license = with lib.licenses; [ artistic1 gpl1Plus ];
5952       maintainers = with maintainers; [ AndersonTorres ];
5953       mainProgram = "hexdump";
5954     };
5955   };
5957   DataHexdumper = buildPerlPackage {
5958     pname = "Data-Hexdumper";
5959     version = "3.0001";
5960     src = fetchurl {
5961       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Hexdumper-3.0001.tar.gz";
5962       hash = "sha256-+SQ8vor/7VBF/k31BXJqenKJRx4wxRrAZbPtbODRpgQ=";
5963     };
5964     meta = {
5965       description = "Make binary data human-readable";
5966       license = with lib.licenses; [ artistic1 gpl2Only ];
5967     };
5968   };
5970   DataHierarchy = buildPerlPackage {
5971     pname = "Data-Hierarchy";
5972     version = "0.34";
5973     src = fetchurl {
5974       url = "mirror://cpan/authors/id/C/CL/CLKAO/Data-Hierarchy-0.34.tar.gz";
5975       hash = "sha256-s6jmK1Pin3HdWYmu75n7+vH0tuJyoGgAOBNg1Z6f2e0=";
5976     };
5977     buildInputs = [ TestException ];
5978     meta = {
5979       description = "Handle data in a hierarchical structure";
5980       license = with lib.licenses; [ artistic1 gpl1Plus ];
5981     };
5982   };
5984   DataICal = buildPerlPackage {
5985     pname = "Data-ICal";
5986     version = "0.24";
5987     src = fetchurl {
5988       url = "mirror://cpan/authors/id/B/BP/BPS/Data-ICal-0.24.tar.gz";
5989       hash = "sha256-czHHyEiGxTM3wNuCNhXg5xNKjxPv0oTlwgcm1bzVLf8=";
5990     };
5991     buildInputs = [ TestLongString TestNoWarnings TestWarn ];
5992     propagatedBuildInputs = [ ClassReturnValue TextvFileasData ];
5993     meta = {
5994       description = "Generates iCalendar (RFC 2445) calendar files";
5995       license = with lib.licenses; [ artistic1 gpl1Plus ];
5996     };
5997   };
5999   DataIEEE754 = buildPerlPackage {
6000     pname = "Data-IEEE754";
6001     version = "0.02";
6002     src = fetchurl {
6003       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Data-IEEE754-0.02.tar.gz";
6004       hash = "sha256-xvSrE0ZygjQTtQ8HR5saGwUfTO5C3Tzn6xWD1mkbZx0=";
6005     };
6006     buildInputs = [ TestBits ];
6007     meta = {
6008       description = "Pack and unpack big-endian IEEE754 floats and doubles";
6009       homepage = "https://metacpan.org/release/Data-IEEE754";
6010       license = with lib.licenses; [ artistic2 ];
6011     };
6012   };
6014   DataInteger = buildPerlModule {
6015     pname = "Data-Integer";
6016     version = "0.006";
6017     src = fetchurl {
6018       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-0.006.tar.gz";
6019       hash = "sha256-Y7d+3jtjnONRUlA0hjYpr5iavL/0qwOxT8Tq1GH/o1Q=";
6020     };
6021     meta = {
6022       description = "Details of the native integer data type";
6023       license = with lib.licenses; [ artistic1 gpl1Plus ];
6024     };
6025   };
6027   DataMessagePack = buildPerlModule {
6028     pname = "Data-MessagePack";
6029     version = "1.02";
6030     src = fetchurl {
6031       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-MessagePack-1.02.tar.gz";
6032       hash = "sha256-wz20R5CqjSVBR4guI3jf/pcK1gMxNQveBi0XlTSCsbc=";
6033     };
6034     buildInputs = [ ModuleBuildXSUtil TestRequires ];
6035     meta = {
6036       description = "A grep-like program for searching source code";
6037       homepage = "https://github.com/msgpack/msgpack-perl";
6038       license = with lib.licenses; [ artistic1 gpl1Plus ];
6039       maintainers = [ maintainers.sgo ];
6040       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DataMessagePack.x86_64-darwin
6041     };
6042   };
6044   DataOptList = buildPerlPackage {
6045     pname = "Data-OptList";
6046     version = "0.114";
6047     src = fetchurl {
6048       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.114.tar.gz";
6049       hash = "sha256-n9EJO5F6Ift5rhYH21PRE7TgrY/grndssHen5QBE/fM=";
6050     };
6051     propagatedBuildInputs = [ ParamsUtil SubInstall ];
6052     meta = {
6053       description = "Parse and validate simple name/value option pairs";
6054       homepage = "https://github.com/rjbs/Data-OptList";
6055       license = with lib.licenses; [ artistic1 gpl1Plus ];
6056     };
6057   };
6059   DataPage = buildPerlPackage {
6060     pname = "Data-Page";
6061     version = "2.03";
6062     src = fetchurl {
6063       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Page-2.03.tar.gz";
6064       hash = "sha256-LvpSFn0ferNZAs8yrgJ3amI3BdeRnUEYmBKHsETOPYs=";
6065     };
6066     propagatedBuildInputs = [ ClassAccessorChained ];
6067     buildInputs = [ TestException ];
6068     meta = {
6069       description = "Help when paging through sets of results";
6070       license = with lib.licenses; [ artistic1 gpl1Plus ];
6071     };
6072   };
6074   DataPagePageset = buildPerlModule {
6075     pname = "Data-Page-Pageset";
6076     version = "1.02";
6077     src = fetchurl {
6078       url = "mirror://cpan/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz";
6079       hash = "sha256-zqwbtVQ+I9qyUZUTxibj/+ZaF3uOHtnlagMNRVHUUZA=";
6080     };
6081     buildInputs = [ ClassAccessor DataPage TestException ];
6082     meta = {
6083       description = "Change long page list to be shorter and well navigate";
6084       license = with lib.licenses; [ artistic1 gpl1Plus ];
6085     };
6086   };
6088   DataPassword = buildPerlPackage {
6089     pname = "Data-Password";
6090     version = "1.12";
6091     src = fetchurl {
6092       url = "mirror://cpan/authors/id/R/RA/RAZINF/Data-Password-1.12.tar.gz";
6093       hash = "sha256-gwzegXQf84Q4VBLhb6ulV0WlSnzAGd0j1+1PBdVRqWE=";
6094     };
6095     meta = {
6096       description = "Perl extension for assessing password quality";
6097       license = with lib.licenses; [ artistic1 gpl1Plus ];
6098     };
6099   };
6101   DataPerl = buildPerlPackage {
6102     pname = "Data-Perl";
6103     version = "0.002011";
6104     src = fetchurl {
6105       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Data-Perl-0.002011.tar.gz";
6106       hash = "sha256-jTTb4xTPotmb2arlRrvelMOLsFt0sHyJveFnOm9sVfQ=";
6107     };
6108     buildInputs = [ TestDeep TestFatal TestOutput ];
6109     propagatedBuildInputs = [ ClassMethodModifiers ListMoreUtils ModuleRuntime RoleTiny strictures ];
6110     meta = {
6111       description = "Base classes wrapping fundamental Perl data types";
6112       homepage = "https://github.com/tobyink/Data-Perl";
6113       license = with lib.licenses; [ artistic1 gpl1Plus ];
6114     };
6115   };
6117   DataPrinter = buildPerlPackage {
6118     pname = "Data-Printer";
6119     version = "1.001001";
6120     src = fetchurl {
6121       url = "mirror://cpan/authors/id/G/GA/GARU/Data-Printer-1.001001.tar.gz";
6122       hash = "sha256-q64DMVUU0rcxxkYrjwZ2SN2ZChA1SyFgbHeM/ZHUe4A=";
6123     };
6124     propagatedBuildInputs = [ ClonePP FileHomeDir PackageStash SortNaturally ];
6125     meta = {
6126       description = "Colored & full-featured pretty print of Perl data structures and objects";
6127       license = with lib.licenses; [ artistic1 gpl1Plus ];
6128     };
6129   };
6131   DataRandom = buildPerlPackage {
6132     pname = "Data-Random";
6133     version = "0.13";
6134     src = fetchurl {
6135       url = "mirror://cpan/authors/id/B/BA/BAREFOOT/Data-Random-0.13.tar.gz";
6136       hash = "sha256-61kBhKjbKKfknqsJ4l+GUMM/H2aLakcoKd50pTJWv8A=";
6137     };
6138     buildInputs = [ FileShareDirInstall TestMockTime ];
6139     meta = {
6140       description = "Perl module to generate random data";
6141       license = with lib.licenses; [ artistic1 gpl1Plus ];
6142     };
6143   };
6145   DataSection = buildPerlPackage {
6146     pname = "Data-Section";
6147     version = "0.200008";
6148     src = fetchurl {
6149       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-0.200008.tar.gz";
6150       hash = "sha256-g6zHpV091+026deNNQrzE4xpz6F4pEdlgicS/0M7mQ4=";
6151     };
6152     propagatedBuildInputs = [ MROCompat SubExporter ];
6153     buildInputs = [ TestFailWarnings ];
6154     meta = {
6155       description = "Read multiple hunks of data out of your DATA section";
6156       homepage = "https://github.com/rjbs/Data-Section";
6157       license = with lib.licenses; [ artistic1 gpl1Plus ];
6158     };
6159   };
6161   DataSectionSimple = buildPerlPackage {
6162     pname = "Data-Section-Simple";
6163     version = "0.07";
6164     src = fetchurl {
6165       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Data-Section-Simple-0.07.tar.gz";
6166       hash = "sha256-CzA1/9uQmqH33ta2CPqdiUQhyCwJfVHnFxFw1nV5qcs=";
6167     };
6168     buildInputs = [ TestRequires ];
6169     meta = {
6170       description = "Read data from __DATA__";
6171       homepage = "https://github.com/miyagawa/Data-Section-Simple";
6172       license = with lib.licenses; [ artistic1 gpl1Plus ];
6173     };
6174   };
6176   DataSerializer = buildPerlModule {
6177     pname = "Data-Serializer";
6178     version = "0.65";
6179     src = fetchurl {
6180       url = "mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.65.tar.gz";
6181       hash = "sha256-EhVaUgADPYCl8HVzd19JPxcAcs97KK48otFStZGXHxE=";
6182     };
6183     meta = {
6184       description = "Modules that serialize data structures";
6185       homepage = "https://metacpan.org/release/Data-Serializer";
6186       license = with lib.licenses; [ artistic1 gpl1Plus ];
6187     };
6188   };
6190   DataSExpression = buildPerlPackage {
6191     pname = "Data-SExpression";
6192     version = "0.41";
6193     src = fetchurl {
6194       url = "mirror://cpan/authors/id/N/NE/NELHAGE/Data-SExpression-0.41.tar.gz";
6195       hash = "sha256-gWJCakKFoJQ4X9+vbQnO0QbVr1dVP5U6yx1Whn3QFJs=";
6196     };
6197     buildInputs = [ TestDeep ];
6198     propagatedBuildInputs = [ ClassAccessor ];
6199     meta = {
6200       description = "Parse Lisp S-Expressions into perl data structures";
6201       license = with lib.licenses; [ artistic1 gpl1Plus ];
6202     };
6203   };
6205   DataSpreadPagination = buildPerlPackage {
6206     pname = "Data-SpreadPagination";
6207     version = "0.1.2";
6208     src = fetchurl {
6209       url = "mirror://cpan/authors/id/K/KN/KNEW/Data-SpreadPagination-0.1.2.tar.gz";
6210       hash = "sha256-dOv9hHEyw4zJ6DXhToLEPxgJqVy8mLuE0ffOLk70h+M=";
6211     };
6212     propagatedBuildInputs = [ DataPage MathRound ];
6213     meta = {
6214       description = "Page numbering and spread pagination";
6215       license = with lib.licenses; [ artistic1 gpl1Plus ];
6216     };
6217   };
6219   DataStag = buildPerlPackage {
6220     pname = "Data-Stag";
6221     version = "0.14";
6222     src = fetchurl {
6223       url = "mirror://cpan/authors/id/C/CM/CMUNGALL/Data-Stag-0.14.tar.gz";
6224       hash = "sha256-SrEiUI0vuG0XGhX0AG5c+JbV+s+mUhnAskOomQYljlk=";
6225     };
6226     propagatedBuildInputs = [ IOString ];
6227     meta = {
6228       description = "Structured Tags";
6229       license = with lib.licenses; [ artistic1 gpl1Plus ];
6230     };
6231   };
6233   DataStreamBulk = buildPerlPackage {
6234     pname = "Data-Stream-Bulk";
6235     version = "0.11";
6236     src = fetchurl {
6237       url = "mirror://cpan/authors/id/D/DO/DOY/Data-Stream-Bulk-0.11.tar.gz";
6238       hash = "sha256-BuCEMqa5dwVgbJJXCbmRKa2SZRbkd9WORGHks9nzCRc=";
6239     };
6240     buildInputs = [ TestRequires ];
6241     propagatedBuildInputs = [ Moose PathClass namespaceclean ];
6242     meta = {
6243       description = "N at a time iteration API";
6244       homepage = "https://metacpan.org/release/Data-Stream-Bulk";
6245       license = with lib.licenses; [ artistic1 gpl1Plus ];
6246     };
6247   };
6249   DataStructureUtil = buildPerlPackage {
6250     pname = "Data-Structure-Util";
6251     version = "0.16";
6252     src = fetchurl {
6253       url = "mirror://cpan/authors/id/A/AN/ANDYA/Data-Structure-Util-0.16.tar.gz";
6254       hash = "sha256-nNQqE+ZcsV86diluuaE02iIBaOx0fFaNMxpQrnot28Y=";
6255     };
6256     buildInputs = [ TestPod ];
6257     meta = {
6258       description = "Change nature of data within a structure";
6259       license = with lib.licenses; [ artistic1 gpl1Plus ];
6260     };
6261   };
6263   DataTaxi = buildPerlPackage {
6264     pname = "Data-Taxi";
6265     version = "0.96";
6266     src = fetchurl {
6267       url = "mirror://cpan/authors/id/M/MI/MIKO/Data-Taxi-0.96.tar.gz";
6268       hash = "sha256-q8s2EPygbZodmRaraYB0OmHYWvVfn9N2vqZxKommnHg=";
6269     };
6270     buildInputs = [ DebugShowStuff ];
6271     meta = {
6272       description = "Taint-aware, XML-ish data serialization";
6273       license = with lib.licenses; [ artistic1 gpl1Plus ];
6274     };
6275   };
6277   DataULID = buildPerlPackage {
6278     pname = "Data-ULID";
6279     version = "1.2.1";
6280     src = fetchurl {
6281       url = "mirror://cpan/authors/id/B/BA/BALDUR/Data-ULID-1.2.1.tar.gz";
6282       hash = "sha256-SbThGyY0inXfNONGF0UuMZ/XpygasJQgYvFieeqKHSc=";
6283     };
6284     propagatedBuildInputs = [ CryptX ];
6285     meta = {
6286       description = "Universally Unique Lexicographically Sortable Identifier";
6287       homepage = "https://metacpan.org/release/Data-ULID";
6288       license = with lib.licenses; [ artistic1 gpl1Plus ];
6289       maintainers = with maintainers; [ sgo ];
6290     };
6291   };
6293   DataUniqid = buildPerlPackage {
6294     pname = "Data-Uniqid";
6295     version = "0.12";
6296     src = fetchurl {
6297       url = "mirror://cpan/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz";
6298       hash = "sha256-tpGbpJuf6Yv98+isyue5t/eNyeceu9C3/vekXZkyTMs=";
6299     };
6300     meta = {
6301       description = "Perl extension for simple genrating of unique id's";
6302       license = with lib.licenses; [ artistic1 gpl1Plus ];
6303     };
6304   };
6306   DataUtil = buildPerlModule {
6307     pname = "Data-Util";
6308     version = "0.67";
6309     src = fetchurl {
6310       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-Util-0.67.tar.gz";
6311       hash = "sha256-tVypHHafgTN8xrCrIMMmg4eOWyZj8cwljFEamZpd/dM=";
6312     };
6313     buildInputs = [ HashUtilFieldHashCompat ModuleBuildXSUtil ScopeGuard TestException ];
6314     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
6315     meta = {
6316       description = "A selection of utilities for data and data types";
6317       homepage = "https://github.com/gfx/Perl-Data-Util";
6318       license = with lib.licenses; [ artistic1 gpl1Plus ];
6319       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DataUtil.x86_64-darwin
6320     };
6321   };
6323   DataURIEncode = buildPerlPackage {
6324     pname = "Data-URIEncode";
6325     version = "0.11";
6326     src = fetchurl {
6327       url = "mirror://cpan/authors/id/R/RH/RHANDOM/Data-URIEncode-0.11.tar.gz";
6328       hash = "sha256-Ucnvv4QjhTYW6qJIQeTRmWstsANpAGF/sdvHbHWh82A=";
6329     };
6330     meta = {
6331       description = "Allow complex data structures to be encoded using flat URIs";
6332       license = with lib.licenses; [ artistic1 gpl1Plus ];
6333     };
6334   };
6336   DataUUID = buildPerlPackage {
6337     pname = "Data-UUID";
6338     version = "1.226";
6339     src = fetchurl {
6340       url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.226.tar.gz";
6341       hash = "sha256-CT1X/6DUEalLr6+uSVaX2yb1ydAncZj+P3zyviKZZFM=";
6342     };
6343     patches = [
6344       ../development/perl-modules/Data-UUID-CVE-2013-4184.patch
6345     ];
6346     meta = {
6347       description = "Globally/Universally Unique Identifiers (GUIDs/UUIDs)";
6348       license = with lib.licenses; [ bsd0 ];
6349     };
6350   };
6352   DataUUIDMT = buildPerlPackage {
6353     pname = "Data-UUID-MT";
6354     version = "1.001";
6355     src = fetchurl {
6356       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz";
6357       hash = "sha256-MExLmBKDEfhLf1KccBi6hJx102Q6qA6jgrSwgFfEZy0=";
6358     };
6359     buildInputs = [ ListAllUtils ];
6360     propagatedBuildInputs = [ MathRandomMTAuto ];
6361     meta = {
6362       description = "Fast random UUID generator using the Mersenne Twister algorithm";
6363       homepage = "https://metacpan.org/release/Data-UUID-MT";
6364       license = with lib.licenses; [ asl20 ];
6365     };
6366   };
6368   DataValidateDomain = buildPerlPackage {
6369     pname = "Data-Validate-Domain";
6370     version = "0.15";
6371     src = fetchurl {
6372       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-Domain-0.15.tar.gz";
6373       hash = "sha256-PJ95GHsNPHGt0fj1WbgN8VmTAKbSA+CxYcvhjhdqqzY=";
6374     };
6375     buildInputs = [ Test2Suite ];
6376     propagatedBuildInputs = [ NetDomainTLD ];
6377     meta = {
6378       description = "Domain and host name validation";
6379       homepage = "https://metacpan.org/release/Data-Validate-Domain";
6380       license = with lib.licenses; [ artistic1 gpl1Plus ];
6381     };
6382   };
6384   DataValidateIP = buildPerlPackage {
6385     pname = "Data-Validate-IP";
6386     version = "0.31";
6387     src = fetchurl {
6388       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-IP-0.31.tar.gz";
6389       hash = "sha256-c0r/hrb5ytQOHE2oHyj68Y4IAsdqVm2V5WE9QxgYL8E=";
6390     };
6391     buildInputs = [ TestRequires ];
6392     propagatedBuildInputs = [ NetAddrIP ];
6393     meta = {
6394       description = "IPv4 and IPv6 validation methods";
6395       homepage = "https://metacpan.org/release/Data-Validate-IP";
6396       license = with lib.licenses; [ artistic1 gpl1Plus ];
6397     };
6398   };
6400   DataValidateURI = buildPerlPackage {
6401     pname = "Data-Validate-URI";
6402     version = "0.07";
6403     src = fetchurl {
6404       url = "mirror://cpan/authors/id/S/SO/SONNEN/Data-Validate-URI-0.07.tar.gz";
6405       hash = "sha256-8GQY0qRgORPRts5SsWfdE+eH4TvyvjJaBl331Aj3nGA=";
6406     };
6407     propagatedBuildInputs = [ DataValidateDomain DataValidateIP ];
6408     meta = {
6409       description = "Common URL validation methods";
6410       license = with lib.licenses; [ artistic1 gpl1Plus ];
6411     };
6412   };
6414   DataVisitor = buildPerlPackage {
6415     pname = "Data-Visitor";
6416     version = "0.32";
6417     src = fetchurl {
6418       url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Visitor-0.32.tar.gz";
6419       hash = "sha256-sZQpDyV8xidaA5N0ERVUxmahZQ5MAa15nB4KJ39HkX0=";
6420     };
6421     buildInputs = [ TestNeeds ];
6422     propagatedBuildInputs = [ Moose TieToObject namespaceclean ];
6423     meta = {
6424       description = "Visitor style traversal of Perl data structures";
6425       license = with lib.licenses; [ artistic1 gpl1Plus ];
6426     };
6427   };
6429   DateCalc = buildPerlPackage {
6430     pname = "Date-Calc";
6431     version = "6.4";
6432     src = fetchurl {
6433       url = "mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.4.tar.gz";
6434       hash = "sha256-fOE3sueXt8CQHzrfGgWhk0M1bNHwRnaqHFap9iT4Wa0=";
6435     };
6436     propagatedBuildInputs = [ BitVector ];
6437     doCheck = false; # some of the checks rely on the year being <2015
6438     meta = {
6439       description = "Gregorian calendar date calculations";
6440       license = with lib.licenses; [ artistic1 gpl1Plus ];
6441     };
6442   };
6444   DateExtract = buildPerlPackage {
6445     pname = "Date-Extract";
6446     version = "0.07";
6447     src = fetchurl {
6448       url = "mirror://cpan/authors/id/E/ET/ETHER/Date-Extract-0.07.tar.gz";
6449       hash = "sha256-+geIBK3k7uwd4UcuDguwR65i5MjU1QIHAbnlBXfFuPQ=";
6450     };
6451     buildInputs = [ TestMockTimeHiRes ];
6452     propagatedBuildInputs = [ ClassDataInheritable DateTimeFormatNatural ];
6453     meta = {
6454       description = "Extract probable dates from strings";
6455       license = with lib.licenses; [ artistic1 gpl1Plus ];
6456     };
6457   };
6459   DateManip = buildPerlPackage {
6460     pname = "Date-Manip";
6461     version = "6.92";
6462     src = fetchurl {
6463       url = "mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.92.tar.gz";
6464       hash = "sha256-q5Yr05ygnsb8/n5aaRKvcbDB9vA+TtK+9uRHHJ02ehM=";
6465     };
6466     # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work
6467     patchPhase = ''
6468       sed -i "s#/bin/date#${pkgs.coreutils}/bin/date#" lib/Date/Manip/TZ.pm
6469     '';
6470     doCheck = !stdenv.isi686; # build freezes during tests on i686
6471     buildInputs = [ TestInter ];
6472     meta = {
6473       description = "Date manipulation routines";
6474       homepage = "https://github.com/SBECK-github/Date-Manip";
6475       license = with lib.licenses; [ artistic1 gpl1Plus ];
6476     };
6477   };
6479   DateRange = buildPerlPackage {
6480     pname = "Date-Range";
6481     version = "1.41";
6482     src = fetchurl {
6483       url = "mirror://cpan/authors/id/T/TM/TMTM/Date-Range-1.41.tar.gz";
6484       hash = "sha256-v5iXSSsQHAUDh50Up+fr6QJUQ4NgGufGmpXedcvZSLk=";
6485     };
6486     propagatedBuildInputs = [ DateSimple ];
6487     meta = {
6488       description = "work with a range of dates";
6489       license = with lib.licenses; [ gpl2Plus ];
6490     };
6491   };
6493   DateSimple = buildPerlPackage {
6494     pname = "Date-Simple";
6495     version = "3.03";
6496     src = fetchurl {
6497       url = "mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz";
6498       hash = "sha256-KaGSYxTOFoGjEtYVXClZDHcd2s+Rt0hYc85EnvIJ3QQ=";
6499     };
6500     meta = {
6501       description = "A simple date object";
6502       license = with lib.licenses; [ artistic1 gpl2Plus ];
6503     };
6504   };
6506   DateTime = buildPerlPackage {
6507     pname = "DateTime";
6508     version = "1.59";
6509     src = fetchurl {
6510       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.59.tar.gz";
6511       hash = "sha256-3j6aY84VRwtNtK2tS6asjsKX2IwMbGs1SwgYg7CmdpU=";
6512     };
6513     buildInputs = [ CPANMetaCheck TestFatal TestWarnings TestWithoutModule ];
6514     propagatedBuildInputs = [ DateTimeLocale DateTimeTimeZone ];
6515     meta = {
6516       description = "A date and time object for Perl";
6517       homepage = "https://metacpan.org/release/DateTime";
6518       license = with lib.licenses; [ artistic2 ];
6519     };
6520   };
6522   DateTimeCalendarJulian = buildPerlPackage {
6523     pname = "DateTime-Calendar-Julian";
6524     version = "0.107";
6525     src = fetchurl {
6526       url = "mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.107.tar.gz";
6527       hash = "sha256-/LK0JIRLsTvK1GsceqI5taCbqyVW9TvR8n+tkMJg0z0=";
6528     };
6529     propagatedBuildInputs = [ DateTime ];
6530     meta = {
6531       description = "DateTime object in the Julian calendar";
6532       license = with lib.licenses; [ artistic1 gpl1Plus ];
6533     };
6534   };
6536   DateTimeEventICal = buildPerlPackage {
6537     pname = "DateTime-Event-ICal";
6538     version = "0.13";
6539     src = fetchurl {
6540       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-ICal-0.13.tar.gz";
6541       hash = "sha256-U9pDhO9c8w7ofcATH0tu7iEhzA66NHFioyi5vPr0deo=";
6542     };
6543     propagatedBuildInputs = [ DateTimeEventRecurrence ];
6544     meta = {
6545       description = "DateTime rfc2445 recurrences";
6546       license = with lib.licenses; [ artistic1 gpl1Plus ];
6547     };
6548   };
6550   DateTimeEventRecurrence = buildPerlPackage {
6551     pname = "DateTime-Event-Recurrence";
6552     version = "0.19";
6553     src = fetchurl {
6554       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz";
6555       hash = "sha256-+UCHiaRhEHdmyhojK7PsHnAu7HyoFnQB6m7D9LbQtaU=";
6556     };
6557     propagatedBuildInputs = [ DateTimeSet ];
6558     meta = {
6559       description = "DateTime::Set extension for create basic recurrence sets";
6560       license = with lib.licenses; [ artistic1 gpl1Plus ];
6561     };
6562   };
6564   DateTimeFormatBuilder = buildPerlPackage {
6565     pname = "DateTime-Format-Builder";
6566     version = "0.83";
6567     src = fetchurl {
6568       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.83.tar.gz";
6569       hash = "sha256-Yf+yPYWzyheGstoyiembV+BiX+DknbAqbcDLYsaJ4vI=";
6570     };
6571     propagatedBuildInputs = [ DateTimeFormatStrptime ParamsValidate ];
6572     meta = {
6573       description = "Create DateTime parser classes and objects";
6574       homepage = "https://metacpan.org/release/DateTime-Format-Builder";
6575       license = with lib.licenses; [ artistic2 ];
6576     };
6577   };
6579   DateTimeFormatDateParse = buildPerlModule {
6580     pname = "DateTime-Format-DateParse";
6581     version = "0.05";
6582     src = fetchurl {
6583       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-DateParse-0.05.tar.gz";
6584       hash = "sha256-9uykyL5mzpmS7hUJMvj88HgJ/T0WZMryALil/Tp+Xrw=";
6585     };
6586     propagatedBuildInputs = [ DateTime TimeDate ];
6587     meta = {
6588       description = "Parses Date::Parse compatible formats";
6589       license = with lib.licenses; [ artistic1 gpl1Plus ];
6590     };
6591   };
6593   DateTimeFormatFlexible = buildPerlPackage {
6594     pname = "DateTime-Format-Flexible";
6595     version = "0.34";
6596     src = fetchurl {
6597       url = "mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.34.tar.gz";
6598       hash = "sha256-g2rvXSXm/4gnMIpDv/dBkeXSAiDao9ISAFC8w0FI/PE=";
6599     };
6600     propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ];
6601     buildInputs = [ TestException TestMockTime TestNoWarnings ];
6602     meta = {
6603       description = "Flexibly parse strings and turn them into DateTime objects";
6604       license = with lib.licenses; [ artistic1 gpl1Plus ];
6605     };
6606   };
6608   DateTimeFormatHTTP = buildPerlModule {
6609     pname = "DateTime-Format-HTTP";
6610     version = "0.42";
6611     src = fetchurl {
6612       url = "mirror://cpan/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.42.tar.gz";
6613       hash = "sha256-0E52nfRZaN/S0b3GR6Mlxod2FAaXYnhubxN/H17D2EA=";
6614     };
6615     propagatedBuildInputs = [ DateTime HTTPDate ];
6616     meta = {
6617       description = "Date conversion routines";
6618       license = with lib.licenses; [ artistic1 gpl1Plus ];
6619     };
6620   };
6622   DateTimeFormatICal = buildPerlModule {
6623     pname = "DateTime-Format-ICal";
6624     version = "0.09";
6625     src = fetchurl {
6626       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz";
6627       hash = "sha256-iwn2U59enA3w5hNQMWme1O+e74Fl/ICu/uzIF++ZfDM=";
6628     };
6629     propagatedBuildInputs = [ DateTimeEventICal ];
6630     meta = {
6631       description = "Parse and format iCal datetime and duration strings";
6632       license = with lib.licenses; [ artistic1 gpl1Plus ];
6633     };
6634   };
6636   DateTimeFormatISO8601 = buildPerlPackage {
6637     pname = "DateTime-Format-ISO8601";
6638     version = "0.16";
6639     src = fetchurl {
6640       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ISO8601-0.16.tar.gz";
6641       hash = "sha256-WChH9uApBlM0oAVk8gzXwo9OXNTsIVE9D2klMe07VuE=";
6642     };
6643     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6644     buildInputs = [ Test2Suite ];
6645     meta = {
6646       description = "Parses ISO8601 formats";
6647       homepage = "https://metacpan.org/release/DateTime-HiRes";
6648       license = with lib.licenses; [ artistic1 gpl1Plus ];
6649     };
6650   };
6652   DateTimeFormatMail = buildPerlPackage {
6653     pname = "DateTime-Format-Mail";
6654     version = "0.403";
6655     src = fetchurl {
6656       url = "mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.403.tar.gz";
6657       hash = "sha256-jfjjXER3OI/1x86LPotq5O0wIJx6UFHUFze9FNdV/LA=";
6658     };
6659     propagatedBuildInputs = [ DateTime ParamsValidate ];
6660     meta = {
6661       description = "Convert between DateTime and RFC2822/822 formats";
6662       license = with lib.licenses; [ artistic1 gpl1Plus ];
6663     };
6664   };
6666   DateTimeFormatNatural = buildPerlModule {
6667     pname = "DateTime-Format-Natural";
6668     version = "1.18";
6669     src = fetchurl {
6670       url = "mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.18.tar.gz";
6671       hash = "sha256-2TRqRhUDVFnYvO4PrD1OuuoDj09DsoT2nt9z9u1XUf4=";
6672     };
6673     buildInputs = [ ModuleUtil TestMockTimeHiRes ];
6674     propagatedBuildInputs = [ Clone DateTime DateTimeHiRes DateTimeTimeZone ListMoreUtils ParamsValidate boolean ];
6675     meta = {
6676       description = "Parse informal natural language date/time strings";
6677       license = with lib.licenses; [ artistic1 gpl1Plus ];
6678       mainProgram = "dateparse";
6679     };
6680   };
6682   DateTimeFormatMySQL = buildPerlModule {
6683     pname = "DateTime-Format-MySQL";
6684     version = "0.08";
6685     src = fetchurl {
6686       url = "mirror://cpan/authors/id/X/XM/XMIKEW/DateTime-Format-MySQL-0.08.tar.gz";
6687       hash = "sha256-Gctw6YWEZV41TS1qjnHMXKkC3dw6xEQWcS+RY9Eiueg=";
6688     };
6689     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6690     meta = {
6691       description = "Parse and format MySQL dates and times";
6692       license = with lib.licenses; [ artistic1 gpl1Plus ];
6693     };
6694   };
6696   DateTimeFormatPg = buildPerlModule {
6697     pname = "DateTime-Format-Pg";
6698     version = "0.16014";
6699     src = fetchurl {
6700       url = "mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16014.tar.gz";
6701       hash = "sha256-OLuWZlJNw4TDNm9jQsuWVsULrA+XFqPUTxz1Usy+Drk=";
6702     };
6703     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6704     buildInputs = [ ModuleBuildTiny ];
6705     meta = {
6706       description = "Parse and format PostgreSQL dates and times";
6707       homepage = "https://github.com/lestrrat-p5/DateTime-Format-Pg";
6708       license = with lib.licenses; [ artistic1 gpl1Plus ];
6709     };
6710   };
6712   DateTimeFormatStrptime = buildPerlPackage {
6713     pname = "DateTime-Format-Strptime";
6714     version = "1.79";
6715     src = fetchurl {
6716       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.79.tar.gz";
6717       hash = "sha256-cB5GgCyG7U2IaVwabay76QszkL7reU84fnx5IwADdXk=";
6718     };
6719     buildInputs = [ TestFatal TestWarnings ];
6720     propagatedBuildInputs = [ DateTime ];
6721     meta = {
6722       description = "Parse and format strp and strf time patterns";
6723       homepage = "https://metacpan.org/release/DateTime-Format-Strptime";
6724       license = with lib.licenses; [ artistic2 ];
6725     };
6726   };
6728   DateTimeFormatSQLite = buildPerlPackage {
6729     pname = "DateTime-Format-SQLite";
6730     version = "0.11";
6731     src = fetchurl {
6732       url = "mirror://cpan/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz";
6733       hash = "sha256-zB9OCuHTmw1MPd3M/XQjx3xnpwlQxLXsq/jKVTqylLQ=";
6734     };
6735     propagatedBuildInputs = [ DateTimeFormatBuilder ];
6736     meta = {
6737       description = "Parse and format SQLite dates and times";
6738       license = with lib.licenses; [ artistic1 gpl1Plus ];
6739     };
6740   };
6742   DateTimeFormatW3CDTF = buildPerlPackage {
6743     pname = "DateTime-Format-W3CDTF";
6744     version = "0.08";
6745     src = fetchurl {
6746       url = "mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.08.tar.gz";
6747       hash = "sha256-3MIAoHOiHLpIEipdrgtqh135PT+MiunURtzdm++qQTo=";
6748     };
6749     propagatedBuildInputs = [ DateTime ];
6750     meta = {
6751       description = "Parse and format W3CDTF datetime strings";
6752       homepage = "https://metacpan.org/release/DateTime-Format-W3CDTF";
6753       license = with lib.licenses; [ artistic1 gpl1Plus ];
6754     };
6755   };
6757   DateTimeHiRes = buildPerlPackage {
6758     pname = "DateTime-HiRes";
6759     version = "0.04";
6760     src = fetchurl {
6761       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-HiRes-0.04.tar.gz";
6762       hash = "sha256-HCMVkzLDD566VLdeZpK+TeqAUiQ+r/MCbJyQuLZLw5U=";
6763     };
6764     propagatedBuildInputs = [ DateTime ];
6765     meta = {
6766       homepage = "https://metacpan.org/release/DateTime-HiRes";
6767       description = "Create DateTime objects with sub-second current time resolution";
6768       license = with lib.licenses; [ artistic1 gpl1Plus ];
6769     };
6770   };
6772   DateTimeLocale = buildPerlPackage {
6773     pname = "DateTime-Locale";
6774     version = "1.39";
6775     src = fetchurl {
6776       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.39.tar.gz";
6777       hash = "sha256-EMFFpsfa9xGIZOl0grSun5T5O5QUIS7uiqMLFqgTUQA=";
6778     };
6779     buildInputs = [ CPANMetaCheck FileShareDirInstall IPCSystemSimple PathTiny Test2PluginNoWarnings Test2Suite TestFileShareDir ];
6780     propagatedBuildInputs = [ FileShareDir ParamsValidationCompiler Specio namespaceautoclean ];
6781     meta = {
6782       description = "Localization support for DateTime.pm";
6783       homepage = "https://metacpan.org/release/DateTime-Locale";
6784       license = with lib.licenses; [ artistic1 gpl1Plus ];
6785     };
6786   };
6788   DateTimeFormatRFC3339 = buildPerlPackage rec {
6789     pname = "DateTime-Format-RFC3339";
6790     version = "1.2.0";
6791     src = fetchurl {
6792       url = "mirror://cpan/authors/id/I/IK/IKEGAMI/DateTime-Format-RFC3339-v${version}.tar.gz";
6793       hash = "sha256-E27hIkwxxuAXaSqfXlb9tPcKlfRq7DrYVdN4PeNaDfc=";
6794     };
6795     propagatedBuildInputs = [ DateTime ];
6796     meta = {
6797       description = "Parse and format RFC3339 datetime strings";
6798       homepage = "https://search.cpan.org/dist/DateTime-Format-RFC3339";
6799       license = with lib.licenses; [ cc0 ];
6800     };
6801   };
6803   DateTimeSet = buildPerlModule {
6804     pname = "DateTime-Set";
6805     version = "0.3900";
6806     src = fetchurl {
6807       url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3900.tar.gz";
6808       hash = "sha256-lPQcOSSq/eTvf6a1jgWV1AONisX/1iuhEbE8X028CUY=";
6809     };
6810     propagatedBuildInputs = [ DateTime ParamsValidate SetInfinite ];
6811     meta = {
6812       description = "DateTime set objects";
6813       license = with lib.licenses; [ artistic1 gpl1Plus ];
6814     };
6815   };
6817   DateTimeTimeZone = buildPerlPackage {
6818     pname = "DateTime-TimeZone";
6819     version = "2.60";
6820     src = fetchurl {
6821       url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.60.tar.gz";
6822       hash = "sha256-8EYNN5MjkFtXm+1E4UEjejN9wl3Sa2qwxgrCuAYpMj0=";
6823     };
6824     buildInputs = [ TestFatal TestRequires ];
6825     propagatedBuildInputs = [ ClassSingleton ParamsValidationCompiler Specio namespaceautoclean ];
6826     meta = {
6827       description = "Time zone object base class and factory";
6828       homepage = "https://metacpan.org/release/DateTime-TimeZone";
6829       license = with lib.licenses; [ artistic1 gpl1Plus ];
6830     };
6831   };
6833   DateTimeXEasy = buildPerlPackage {
6834     pname = "DateTimeX-Easy";
6835     version = "0.091";
6836     src = fetchurl {
6837       url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/DateTimeX-Easy-0.091.tar.gz";
6838       hash = "sha256-pfjbvntpZdUD4VJYIBXaKk+B46WGA9/t1Oc9H92s/II=";
6839     };
6840     buildInputs = [ TestMost ];
6841     propagatedBuildInputs = [ DateTimeFormatFlexible DateTimeFormatICal DateTimeFormatNatural TimeDate ];
6842     doCheck = false;
6843     meta = {
6844       description = "Parse a date/time string using the best method available";
6845       license = with lib.licenses; [ artistic1 gpl1Plus ];
6846     };
6847   };
6849   DebugShowStuff = buildPerlModule {
6850     pname = "Debug-ShowStuff";
6851     version = "1.16";
6852     src = fetchurl {
6853       url = "mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz";
6854       hash = "sha256-pN1dLNfbjqbkhhsZPgJLQYeisO0rmdWHBi37EaXNLLc=";
6855     };
6856     propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ];
6857     meta = {
6858       description = "A collection of handy debugging routines for displaying the values of variables with a minimum of coding";
6859       license = with lib.licenses; [ artistic1 gpl1Plus ];
6860     };
6861   };
6863   Deliantra = buildPerlPackage rec {
6864     pname = "Deliantra";
6865     version = "2.01";
6866     src = fetchurl {
6867       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/${pname}-${version}.tar.gz";
6868       hash = "sha256-JxbZsfBWJ9YJQs4GNLnBolEJsWSBgoXUW2Ca6FluKxc=";
6869     };
6870     propagatedBuildInputs = [ AnyEvent CompressLZF JSONXS commonsense ];
6871     meta = {
6872       description = "Deliantra suppport module to read/write archetypes, maps etc";
6873       license = with lib.licenses; [ artistic1 gpl1Plus ];
6874     };
6875   };
6877   DevelCaller = buildPerlPackage {
6878     pname = "Devel-Caller";
6879     version = "2.07";
6880     src = fetchurl {
6881       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.07.tar.gz";
6882       hash = "sha256-tnmisYA0sLcg3oLDcIckw2SxCmyhZMvGfNw68oPzUD8=";
6883     };
6884     propagatedBuildInputs = [ PadWalker ];
6885     meta = {
6886       description = "Meatier versions of caller";
6887       license = with lib.licenses; [ artistic1 gpl1Plus ];
6888     };
6889   };
6891   DevelCheckBin = buildPerlPackage {
6892     pname = "Devel-CheckBin";
6893     version = "0.04";
6894     src = fetchurl {
6895       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Devel-CheckBin-0.04.tar.gz";
6896       hash = "sha256-FX89tZwp7R1JEzpGnO53LIha1O5k6GkqkbPr/b4v4+Q=";
6897     };
6898     meta = {
6899       description = "Check that a command is available";
6900       homepage = "https://github.com/tokuhirom/Devel-CheckBin";
6901       license = with lib.licenses; [ artistic1 gpl1Plus ];
6902     };
6903   };
6905   DevelCheckCompiler = buildPerlModule {
6906     pname = "Devel-CheckCompiler";
6907     version = "0.07";
6908     src = fetchurl {
6909       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz";
6910       hash = "sha256-dot2l7S41NNyx1B7ZendJqpCI/cQAYO7tNOvRtQ4abU=";
6911     };
6912     buildInputs = [ ModuleBuildTiny ];
6913     meta = {
6914       description = "Check the compiler's availability";
6915       homepage = "https://github.com/tokuhirom/Devel-CheckCompiler";
6916       license = with lib.licenses; [ artistic1 gpl1Plus ];
6917     };
6918   };
6920   DevelChecklib = buildPerlPackage {
6921     pname = "Devel-CheckLib";
6922     version = "1.16";
6923     src = fetchurl {
6924       url = "mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.16.tar.gz";
6925       hash = "sha256-hp04wljmRtzvZ2YJ8N18qQ8IX1bPb9cAGwGaXVuDH8o=";
6926     };
6927     buildInputs = [ CaptureTiny MockConfig ];
6928     meta = {
6929       description = "Check that a library is available";
6930       license = with lib.licenses; [ artistic1 gpl1Plus ];
6931     };
6932   };
6934   DevelCheckOS = buildPerlPackage {
6935     pname = "Devel-CheckOS";
6936     version = "1.96";
6937     src = fetchurl {
6938       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-CheckOS-1.96.tar.gz";
6939       hash = "sha256-+GB5BfT1reSI9+9Et8HnyFI/ure5HS3IMLMa6cqBPfU=";
6940     };
6941     buildInputs = [ TestWarnings ];
6942     propagatedBuildInputs = [ FileFindRule ];
6943     meta = {
6944       description = "Check what OS we're running on";
6945       license = with lib.licenses; [ gpl2Only artistic1 ];
6946     };
6947   };
6949   DevelDeprecationsEnvironmental = buildPerlPackage {
6950     pname = "Devel-Deprecations-Environmental";
6951     version = "1.101";
6952     src = fetchurl {
6953       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-Deprecations-Environmental-1.101.tar.gz";
6954       hash = "sha256-S+SC08PcOtHvR0P6s4DOuQG3QVZQeVOoNITfadolpqY=";
6955     };
6956     propagatedBuildInputs = [ DevelCheckOS DevelHide TestException TestTime ];
6957     meta = {
6958       description = "A framework for managing deprecations";
6959       homepage = "https://github.com/DrHyde/perl-modules-Devel-Deprecations-Environmental";
6960       license = with lib.licenses; [ gpl2Only artistic1 ];
6961     };
6962   };
6964   DevelLeak = buildPerlPackage rec {
6965     pname = "Devel-Leak";
6966     version = "0.03";
6967     src = fetchurl {
6968       url = "mirror://cpan/authors/id/N/NI/NI-S/Devel-Leak-0.03.tar.gz";
6969       hash = "sha256-b0LDTxHitOPqLg5rlBaoimha3UR5EMr02R3SwXgXclI=";
6970     };
6971     meta = {
6972       description = "Utility for looking for perl objects that are not reclaimed";
6973       homepage = "https://metacpan.org/release/Devel-Leak";
6974       license = with lib.licenses; [ artistic1 gpl1Plus ]; # According to Debian
6975     };
6976   };
6978   DevelPatchPerl = buildPerlPackage {
6979     pname = "Devel-PatchPerl";
6980     version = "2.08";
6981     src = fetchurl {
6982       url = "mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-2.08.tar.gz";
6983       hash = "sha256-acbpcBYmD0COnX5Ej5QrNqbUnfWvBzQPHWXX4jAWdBk=";
6984     };
6985     propagatedBuildInputs = [ Filepushd ModulePluggable ];
6986     meta = {
6987       description = "Patch perl source a la Devel::PPPort's buildperl.pl";
6988       homepage = "https://github.com/bingos/devel-patchperl";
6989       license = with lib.licenses; [ artistic1 gpl1Plus ];
6990       mainProgram = "patchperl";
6991     };
6992   };
6994   DevelRefcount = buildPerlModule {
6995     pname = "Devel-Refcount";
6996     version = "0.10";
6997     src = fetchurl {
6998       url = "mirror://cpan/authors/id/P/PE/PEVANS/Devel-Refcount-0.10.tar.gz";
6999       hash = "sha256-tlTUaWPRqIFCa6FZlPKPUuuDmw0TW/I5tNG/OLHKyko=";
7000     };
7001     buildInputs = [ TestFatal ];
7002     meta = {
7003       description = "Obtain the REFCNT value of a referent";
7004       license = with lib.licenses; [ artistic1 gpl1Plus ];
7005     };
7006   };
7008   DevelPPPort = buildPerlPackage {
7009     pname = "Devel-PPPort";
7010     version = "3.68";
7011     src = fetchurl {
7012       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.68.tar.gz";
7013       hash = "sha256-UpDVu4TN6enmEROiDGe11HJn645loRmookjMlqrAuts=";
7014     };
7015     meta = {
7016       description = "Perl/Pollution/Portability";
7017       license = with lib.licenses; [ artistic1 gpl1Plus ];
7018     };
7019   };
7021   DevelTrace = buildPerlPackage {
7022     pname = "Devel-Trace";
7023     version = "0.12";
7024     src = fetchurl {
7025       url = "mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz";
7026       hash = "sha256-9QHK93b/fphvduAlRNbOI0yJdwFzKD8x333MV4AKOGg=";
7027     };
7028     meta = {
7029       description = "Print out each line before it is executed (like sh -x)";
7030       license = with lib.licenses; [ publicDomain ];
7031     };
7032   };
7034   DeviceMAC = buildPerlPackage {
7035     pname = "Device-MAC";
7036     version = "1.00";
7037     src = fetchurl {
7038       url = "mirror://cpan/authors/id/J/JA/JASONK/Device-MAC-1.00.tar.gz";
7039       hash = "sha256-xCGCqahImjFMv+bhyEUvMrO2Jqpsif7h2JJebftk+tU=";
7040     };
7041     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
7042     propagatedBuildInputs = [ DeviceOUI Moose ];
7043     meta = {
7044       description = "Handle hardware MAC Addresses (EUI-48 and EUI-64)";
7045       license = with lib.licenses; [ artistic1 gpl1Plus ];
7046       maintainers = [ maintainers.sgo ];
7047     };
7048   };
7050   DeviceOUI = buildPerlPackage {
7051     pname = "Device-OUI";
7052     version = "1.04";
7053     src = fetchurl {
7054       url = "mirror://cpan/authors/id/J/JA/JASONK/Device-OUI-1.04.tar.gz";
7055       hash = "sha256-SzZ+YbH63ed/tvtynzzVrNHUbnEhjZb0Bry6ONQ7S+8=";
7056     };
7057     buildInputs = [ TestException ];
7058     patches = [ ../development/perl-modules/Device-OUI-1.04-hash.patch ];
7059     propagatedBuildInputs = [ ClassAccessorGrouped LWP SubExporter ];
7060     meta = {
7061       description = "Resolve an Organizationally Unique Identifier";
7062       license = with lib.licenses; [ artistic1 gpl1Plus ];
7063       maintainers = [ maintainers.sgo ];
7064     };
7065   };
7067   DBDCSV = buildPerlPackage {
7068     pname = "DBD-CSV";
7069     version = "0.60";
7070     src = fetchurl {
7071       url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBD-CSV-0.60.tgz";
7072       hash = "sha256-AYuDow95mXm8jDwwRMixyAAc32C9w+dGhIgYGVJUtOc=";
7073     };
7074     propagatedBuildInputs = [ DBI SQLStatement TextCSV_XS ];
7075     meta = {
7076       description = "DBI driver for CSV files";
7077       license = with lib.licenses; [ artistic1 gpl1Plus ];
7078     };
7079   };
7081   DBDMock = buildPerlModule {
7082     pname = "DBD-Mock";
7083     version = "1.59";
7084     src = fetchurl {
7085       url = "mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.59.tar.gz";
7086       hash = "sha256-ClqllTq2XPeQaB5sBFLjGK1X2ArCf1dfhJGMYDqkdAY=";
7087     };
7088     propagatedBuildInputs = [ DBI ];
7089     buildInputs = [ ModuleBuildTiny TestException ];
7090     meta = {
7091       description = "Mock database driver for testing";
7092       license = with lib.licenses; [ artistic1 gpl1Plus ];
7093     };
7094   };
7096   DBDSQLite = buildPerlPackage {
7097     pname = "DBD-SQLite";
7098     version = "1.74";
7100     src = fetchurl {
7101       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.74.tar.gz";
7102       hash = "sha256-iZSZfYS5/rRUd5X3h0bGYfty48tqJdvdeJtzH1aIpN0=";
7103     };
7105     propagatedBuildInputs = [ DBI ];
7106     buildInputs = [ pkgs.sqlite ];
7108     patches = [
7109       # Support building against our own sqlite.
7110       ../development/perl-modules/DBD-SQLite/external-sqlite.patch
7112       # Pull upstream fix for test failures against sqlite-3.37.
7113       (fetchpatch {
7114         name = "sqlite-3.37-compat.patch";
7115         url = "https://github.com/DBD-SQLite/DBD-SQLite/commit/ba4f472e7372dbf453444c7764d1c342e7af12b8.patch";
7116         hash = "sha256-nn4JvaIGlr2lUnUC+0ABe9AFrRrC5bfdTQiefo0Pjwo=";
7117       })
7118     ];
7120     makeMakerFlags = [ "SQLITE_INC=${pkgs.sqlite.dev}/include" "SQLITE_LIB=${pkgs.sqlite.out}/lib" ];
7122     postInstall = ''
7123       # Get rid of a pointless copy of the SQLite sources.
7124       rm -rf $out/${perl.libPrefix}/*/*/auto/share
7125     '';
7127     preCheck = "rm t/65_db_config.t"; # do not run failing tests
7129     meta = {
7130       description = "Self Contained SQLite RDBMS in a DBI Driver";
7131       license = with lib.licenses; [ artistic1 gpl1Plus ];
7132       platforms = lib.platforms.unix;
7133     };
7134   };
7136   DBDMariaDB = buildPerlPackage {
7137     pname = "DBD-MariaDB";
7138     version = "1.23";
7139     src = fetchurl {
7140       url = "mirror://cpan/authors/id/P/PA/PALI/DBD-MariaDB-1.23.tar.gz";
7141       hash = "sha256-DQx2xmDd1VVw5I8+L96o9iGmmsDtSBkOjPyvy16bhZ0=";
7142     };
7143     buildInputs = [ pkgs.mariadb-connector-c DevelChecklib TestDeep TestDistManifest TestPod ];
7144     propagatedBuildInputs = [ DBI ];
7145     meta = {
7146       description = "MariaDB and MySQL driver for the Perl5 Database Interface (DBI)";
7147       homepage = "https://github.com/gooddata/DBD-MariaDB";
7148       license = with lib.licenses; [ artistic1 gpl1Plus ];
7149       maintainers = [ maintainers.sgo ];
7150     };
7151   };
7153   DBDmysql = buildPerlPackage {
7154     pname = "DBD-mysql";
7155     version = "4.050";
7157     src = fetchurl {
7158       url = "mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz";
7159       hash = "sha256-T0hUH/FaCnQF92rcEPgWJ8M5lvv1bJXCbAlERMCSjXg=";
7160     };
7162     buildInputs = [ pkgs.libmysqlclient DevelChecklib TestDeep TestDistManifest TestPod ];
7163     propagatedBuildInputs = [ DBI ];
7165     doCheck = false;
7167   #  makeMakerFlags = "MYSQL_HOME=${mysql}";
7168     meta = {
7169       description = "MySQL driver for the Perl5 Database Interface (DBI)";
7170       license = with lib.licenses; [ artistic1 gpl1Plus ];
7171     };
7172   };
7174   DBDOracle = buildPerlPackage {
7175     pname = "DBD-Oracle";
7176     version = "1.83";
7178     src = fetchurl {
7179       url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.83.tar.gz";
7180       hash = "sha256-Uf6cFYlV/aDKkXqAaGPwvFEGi1M/u8dCOzzErVle0VM=";
7181     };
7183     ORACLE_HOME = "${pkgs.oracle-instantclient.lib}/lib";
7185     buildInputs = [ pkgs.oracle-instantclient TestNoWarnings ];
7186     propagatedBuildInputs = [ DBI ];
7188     postBuild = lib.optionalString stdenv.isDarwin ''
7189       install_name_tool -add_rpath "${pkgs.oracle-instantclient.lib}/lib" blib/arch/auto/DBD/Oracle/Oracle.bundle
7190     '';
7191     meta = {
7192       description = "Oracle database driver for the DBI module";
7193       license = with lib.licenses; [ artistic1 gpl1Plus ];
7194     };
7195   };
7197   DBDPg = buildPerlPackage {
7198     pname = "DBD-Pg";
7199     version = "3.17.0";
7201     src = fetchurl {
7202       url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.17.0.tar.gz";
7203       hash = "sha256-jZANTA50nzchh1KmZh+w01V6sfzMjeo4TLWHw4LeIZs=";
7204     };
7206     buildInputs = [ pkgs.postgresql ];
7207     propagatedBuildInputs = [ DBI ];
7209     makeMakerFlags = [ "POSTGRES_HOME=${pkgs.postgresql}" ];
7211     # tests freeze in a sandbox
7212     doCheck = false;
7214     meta = {
7215       description = "DBI PostgreSQL interface";
7216       homepage = "https://search.cpan.org/dist/DBD-Pg";
7217       license = with lib.licenses; [ artistic1 gpl1Plus ];
7218       platforms = lib.platforms.unix;
7219     };
7220   };
7222   DBDsybase = buildPerlPackage {
7223     pname = "DBD-Sybase";
7224     version = "1.23";
7226     src = fetchurl {
7227       url = "mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.23.tar.gz";
7228       hash = "sha256-B1e6aqyaKaLcOFmV1myPQSqIlo/SNsDYu0ZZAo5OmWU=";
7229     };
7231     SYBASE = pkgs.freetds;
7233     buildInputs = [ pkgs.freetds ];
7234     propagatedBuildInputs = [ DBI ];
7236     doCheck = false;
7238     meta = {
7239       description = "DBI driver for Sybase datasources";
7240       license = with lib.licenses; [ artistic1 gpl1Only ];
7241       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.DBDsybase.x86_64-darwin
7242     };
7243   };
7245   DBFile = buildPerlPackage {
7246     pname = "DB_File";
7247     version = "1.859";
7249     src = fetchurl {
7250       url = "mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.859.tar.gz";
7251       hash = "sha256-VnTg0s0LBgxNElNnDqAixk2EKlUlf5647bGcD1PiVlw=";
7252     };
7254     preConfigure = ''
7255       cat > config.in <<EOF
7256       PREFIX = size_t
7257       HASH = u_int32_t
7258       LIB = ${pkgs.db.out}/lib
7259       INCLUDE = ${pkgs.db.dev}/include
7260       EOF
7261     '';
7262     meta = {
7263       description = "Perl5 access to Berkeley DB version 1.x";
7264       license = with lib.licenses; [ artistic1 gpl1Plus ];
7265     };
7266   };
7268   DBI = buildPerlPackage {
7269     pname = "DBI";
7270     version = "1.643";
7271     src = fetchurl {
7272       url = "mirror://cpan/authors/id/T/TI/TIMB/DBI-1.643.tar.gz";
7273       hash = "sha256-iiuZPbVgosNzwXTul2pRAn3XgOx2auF2IMIDk9LoNvo=";
7274     };
7275     postInstall = lib.optionalString (perl ? crossVersion) ''
7276       mkdir -p $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI
7277       cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI.pm <<EOF
7278       package DBI;
7279       BEGIN {
7280       our \$VERSION = "$version";
7281       }
7282       1;
7283       EOF
7285       autodir=$(echo $out/${perl.libPrefix}/${perl.version}/*/auto/DBI)
7286       cat > $out/${perl.libPrefix}/cross_perl/${perl.version}/DBI/DBD.pm <<EOF
7287       package DBI::DBD;
7288       use Exporter ();
7289       use vars qw (@ISA @EXPORT);
7290       @ISA = qw(Exporter);
7291       @EXPORT = qw(dbd_postamble);
7292       sub dbd_postamble {
7293           return '
7294       # --- This section was generated by DBI::DBD::dbd_postamble()
7295       DBI_INSTARCH_DIR=$autodir
7296       DBI_DRIVER_XST=$autodir/Driver.xst
7298       # The main dependency (technically correct but probably not used)
7299       \$(BASEEXT).c: \$(BASEEXT).xsi
7301       # This dependency is needed since MakeMaker uses the .xs.o rule
7302       \$(BASEEXT)\$(OBJ_EXT): \$(BASEEXT).xsi
7304       \$(BASEEXT).xsi: \$(DBI_DRIVER_XST) $autodir/Driver_xst.h
7305       ''\t\$(PERL) -p -e "s/~DRIVER~/\$(BASEEXT)/g" \$(DBI_DRIVER_XST) > \$(BASEEXT).xsi
7307       # ---
7308       ';
7309       }
7310       1;
7311       EOF
7312     '';
7313     meta = {
7314       description = "Database independent interface for Perl";
7315       homepage = "https://dbi.perl.org";
7316       license = with lib.licenses; [ artistic1 gpl1Plus ];
7317     };
7318   };
7320   DBICxTestDatabase = buildPerlPackage {
7321     pname = "DBICx-TestDatabase";
7322     version = "0.05";
7323     src = fetchurl {
7324       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/DBICx-TestDatabase-0.05.tar.gz";
7325       hash = "sha256-jjvCUwsBIWGIw6plrNvS9ZxOYx864IXfxDmr2J+PCs8=";
7326     };
7327     buildInputs = [ DBIxClass TestSimple13 ];
7328     propagatedBuildInputs = [ DBDSQLite SQLTranslator ];
7329     meta = {
7330       description = "Create a temporary database from a DBIx::Class::Schema";
7331       homepage = "https://metacpan.org/pod/DBICx::TestDatabase";
7332       license = with lib.licenses; [ artistic1 gpl1Plus ];
7333       maintainers = [ maintainers.sgo ];
7334     };
7335   };
7337   DBIxClass = buildPerlPackage {
7338     pname = "DBIx-Class";
7339     version = "0.082843";
7340     src = fetchurl {
7341       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082843.tar.gz";
7342       hash = "sha256-NB4Lbssp2MSRdKbAnXxtvzhym6QBXuf9cDYKT/7h8lE=";
7343     };
7344     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
7345     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstractClassic ScopeGuard SubName namespaceclean ];
7346     meta = {
7347       description = "Extensible and flexible object <-> relational mapper";
7348       homepage = "https://metacpan.org/pod/DBIx::Class";
7349       license = with lib.licenses; [ artistic1 gpl1Plus ];
7350       mainProgram = "dbicadmin";
7351     };
7352   };
7354   DBIxClassCandy = buildPerlPackage {
7355     pname = "DBIx-Class-Candy";
7356     version = "0.005003";
7357     src = fetchurl {
7358       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.005003.tar.gz";
7359       hash = "sha256-uKIpp7FfVZCV1FYc+CIEYBKFQbp/w1Re01hpkj1GVlw=";
7360     };
7361     buildInputs = [ TestDeep TestFatal ];
7362     propagatedBuildInputs = [ DBIxClass LinguaENInflect SubExporter ];
7363     meta = {
7364       description = "Sugar for your favorite ORM, DBIx::Class";
7365       homepage = "https://github.com/frioux/DBIx-Class-Candy";
7366       license = with lib.licenses; [ artistic1 gpl1Plus ];
7367     };
7368   };
7370   DBIxClassCursorCached = buildPerlPackage {
7371     pname = "DBIx-Class-Cursor-Cached";
7372     version = "1.001004";
7373     src = fetchurl {
7374       url = "mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001004.tar.gz";
7375       hash = "sha256-NwhSMqEjClqodUOZ+1mw+PzV9Zeh4uNIxSJ0YaGSYiU=";
7376     };
7377     buildInputs = [ CacheCache DBDSQLite ];
7378     propagatedBuildInputs = [ CarpClan DBIxClass ];
7379     meta = {
7380       description = "Cursor class with built-in caching support";
7381       license = with lib.licenses; [ artistic1 gpl1Plus ];
7382     };
7383   };
7385   DBIxClassDynamicDefault = buildPerlPackage {
7386     pname = "DBIx-Class-DynamicDefault";
7387     version = "0.04";
7388     src = fetchurl {
7389       url = "mirror://cpan/authors/id/M/MS/MSTROUT/DBIx-Class-DynamicDefault-0.04.tar.gz";
7390       hash = "sha256-Io9RqyJGQlhLTcY9tt4mZ8W/riqJSpN2shChBIBqWvs=";
7391     };
7392     buildInputs = [ DBICxTestDatabase ];
7393     propagatedBuildInputs = [ DBIxClass ];
7394     meta = {
7395       description = "Automatically set and update fields";
7396       homepage = "https://metacpan.org/pod/DBIx::Class::DynamicDefault";
7397       license = with lib.licenses; [ artistic1 gpl1Plus ];
7398       maintainers = [ maintainers.sgo ];
7399     };
7400   };
7402   DBIxClassHTMLWidget = buildPerlPackage {
7403     pname = "DBIx-Class-HTMLWidget";
7404     version = "0.16";
7405     src = fetchurl {
7406       url = "mirror://cpan/authors/id/A/AN/ANDREMAR/DBIx-Class-HTMLWidget-0.16.tar.gz";
7407       hash = "sha256-QUJ1YyFu31qTllCQrg4chaldN6gdcg8CwTYM+n208Bc=";
7408     };
7409     propagatedBuildInputs = [ DBIxClass HTMLWidget ];
7410     meta = {
7411       description = "Like FromForm but with DBIx::Class and HTML::Widget";
7412       license = with lib.licenses; [ artistic1 gpl1Plus ];
7413     };
7414   };
7416   DBIxClassHelpers = buildPerlPackage {
7417     pname = "DBIx-Class-Helpers";
7418     version = "2.036000";
7419     src = fetchurl {
7420       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.036000.tar.gz";
7421       hash = "sha256-t7i0iRqYPANO8LRfQRJASgpAVQxOIX2ut6IsoWhh79s=";
7422     };
7423     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
7424     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
7425     meta = {
7426       description = "Simplify the common case stuff for DBIx::Class";
7427       homepage = "https://github.com/frioux/DBIx-Class-Helpers";
7428       license = with lib.licenses; [ artistic1 gpl1Plus ];
7429     };
7430   };
7432   DBIxClassInflateColumnSerializer = buildPerlPackage {
7433     pname = "DBIx-Class-InflateColumn-Serializer";
7434     version = "0.09";
7435     src = fetchurl {
7436       url = "mirror://cpan/authors/id/M/MR/MRUIZ/DBIx-Class-InflateColumn-Serializer-0.09.tar.gz";
7437       hash = "sha256-YmK0hx22psRaDL583o8biQsiwpGt1OzEDKruq1o6b1A=";
7438     };
7439     buildInputs = [ DBDSQLite TestException ];
7440     propagatedBuildInputs = [ DBIxClass JSONMaybeXS YAML ];
7441     meta = {
7442       description = "Inflators to serialize data structures for DBIx::Class";
7443       homepage = "https://metacpan.org/release/DBIx-Class-InflateColumn-Serializer";
7444       license = with lib.licenses; [ artistic1 gpl1Plus ];
7445       maintainers = [ maintainers.sgo ];
7446     };
7447   };
7449   DBIxClassIntrospectableM2M = buildPerlPackage {
7450     pname = "DBIx-Class-IntrospectableM2M";
7451     version = "0.001002";
7452     src = fetchurl {
7453       url = "mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-IntrospectableM2M-0.001002.tar.gz";
7454       hash = "sha256-xrqvtCQWk/2zSynr2QaZOt02S/Mar6RGLz4GIgTMh/A=";
7455     };
7456     propagatedBuildInputs = [ DBIxClass ];
7457     meta = {
7458       description = "Introspect many-to-many relationships";
7459       license = with lib.licenses; [ artistic1 gpl1Plus ];
7460     };
7461   };
7463   DBIxClassSchemaLoader = buildPerlPackage {
7464     pname = "DBIx-Class-Schema-Loader";
7465     version = "0.07051";
7466     src = fetchurl {
7467       url = "mirror://cpan/authors/id/V/VE/VEESH/DBIx-Class-Schema-Loader-0.07051.tar.gz";
7468       hash = "sha256-GgieUISlJ2j0J0vCGB3LrhTcxXnk2YD89WnGeBsGCSw=";
7469     };
7470     buildInputs = [ DBDSQLite TestDeep TestDifferences TestException TestWarn ];
7471     propagatedBuildInputs = [ CarpClan ClassUnload DBIxClass DataDump StringCamelCase StringToIdentifierEN curry ];
7472     meta = {
7473       description = "Create a DBIx::Class::Schema based on a database";
7474       license = with lib.licenses; [ artistic1 gpl1Plus ];
7475       mainProgram = "dbicdump";
7476     };
7477   };
7479   DBIxConnector = buildPerlPackage {
7480     pname = "DBIx-Connector";
7481     version = "0.59";
7482     src = fetchurl {
7483       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/DBIx-Connector-0.59.tar.gz";
7484       hash = "sha256-eCmU8T9JVVhAU4SU+EBrC/JVj1M8zahsjSuV4jAQh/Q=";
7485     };
7486     buildInputs = [ TestMockModule ];
7487     propagatedBuildInputs = [ DBI ];
7488     meta = {
7489       description = "Fast, safe DBI connection and transaction management";
7490       license = with lib.licenses; [ artistic1 gpl1Plus ];
7491     };
7492   };
7494   DBIxDBSchema = buildPerlPackage {
7495     pname = "DBIx-DBSchema";
7496     version = "0.47";
7497     src = fetchurl {
7498       url = "mirror://cpan/authors/id/I/IV/IVAN/DBIx-DBSchema-0.47.tar.gz";
7499       hash = "sha256-7u4hDcFKjWPrAawtZsZ6HcJ5+Sib6WphckyJUXkcUhI=";
7500     };
7501     propagatedBuildInputs = [ DBI ];
7502     meta = {
7503       description = "Database-independent schema objects";
7504       license = with lib.licenses; [ artistic1 gpl1Plus ];
7505     };
7506   };
7508   DBIxSearchBuilder = buildPerlPackage {
7509     pname = "DBIx-SearchBuilder";
7510     version = "1.77";
7511     src = fetchurl {
7512       url = "mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.77.tar.gz";
7513       hash = "sha256-O/il1cjF/cYK0vY/Y/c90fZJP/TYJYcoOj4iM36P4HA=";
7514     };
7515     buildInputs = [ DBDSQLite ];
7516     propagatedBuildInputs = [ CacheSimpleTimedExpiry ClassAccessor ClassReturnValue Clone DBIxDBSchema Want capitalization ];
7517     meta = {
7518       description = "Encapsulate SQL queries and rows in simple perl objects";
7519       license = with lib.licenses; [ artistic1 gpl1Plus ];
7520     };
7521   };
7523   DBIxSimple = buildPerlPackage {
7524     pname = "DBIx-Simple";
7525     version = "1.37";
7526     src = fetchurl {
7527       url = "mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.37.tar.gz";
7528       hash = "sha256-RtMRqizgiQdAHFYRllhCbbsETFpA3nPZp7eb9QOQyuM=";
7529     };
7530     propagatedBuildInputs = [ DBI ];
7531     meta = {
7532       description = "Very complete easy-to-use OO interface to DBI";
7533       license = with lib.licenses; [ artistic1 gpl1Plus ];
7534     };
7535   };
7537   DBMDeep = buildPerlPackage {
7538     pname = "DBM-Deep";
7539     version = "2.0017";
7540     src = fetchurl {
7541       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/DBM-Deep-2.0017.tar.gz";
7542       hash = "sha256-1yNFIFdVO72UXWMhXr/gqnepLsbg+jOw2spXrhuKTSQ=";
7543     };
7544     buildInputs = [ TestDeep TestException TestPod TestPodCoverage TestWarn ];
7545     meta = {
7546       description = "A pure perl multi-level hash/array DBM that supports transactions";
7547       homepage = "https://github.com/robkinyon/dbm-deep";
7548       license = with lib.licenses; [ artistic1 gpl1Plus ];
7549     };
7550   };
7552   DataBinary = buildPerlPackage {
7553     pname = "Data-Binary";
7554     version = "0.01";
7555     src = fetchurl {
7556       url = "mirror://cpan/authors/id/S/SN/SNKWATT/Data-Binary-0.01.tar.gz";
7557       hash = "sha256-SCGi3hCscQj03LKEpxuHaYGwyx6mxe1q+xd78ufLjXM=";
7558     };
7559     meta = {
7560       description = "Simple detection of binary versus text in strings";
7561       license = with lib.licenses; [ artistic2 ];
7562     };
7563   };
7565   DataBuffer = buildPerlPackage {
7566     pname = "Data-Buffer";
7567     version = "0.04";
7568     src = fetchurl {
7569       url = "mirror://cpan/authors/id/B/BT/BTROTT/Data-Buffer-0.04.tar.gz";
7570       hash = "sha256-Kz0Jt7zzifwRYgeyg77iUONI1EycY0YL7mfvq03SG7Q=";
7571     };
7572     meta = {
7573       description = "Read/write buffer class";
7574       license = with lib.licenses; [ artistic1 gpl1Plus ];
7575       maintainers = [ maintainers.sgo ];
7576     };
7577   };
7579   DBIxIntrospector = buildPerlPackage {
7580     pname = "DBIx-Introspector";
7581     version = "0.001005";
7582     src = fetchurl {
7583       url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Introspector-0.001005.tar.gz";
7584       hash = "sha256-lqlNLMaQwfqP00ET47CEvypGmjI6l4AoWu+S3cOB5jo=";
7585     };
7587     propagatedBuildInputs = [ DBI Moo ];
7588     buildInputs = [ DBDSQLite TestFatal TestRoo ];
7589     meta = {
7590       description = "Detect what database you are connected to";
7591       license = with lib.licenses; [ artistic1 gpl1Plus ];
7592     };
7593   };
7595   DevelCamelcadedb = buildPerlPackage {
7596     pname = "Devel-Camelcadedb";
7597     version = "2023.1";
7598     src = fetchurl {
7599       url = "mirror://cpan/authors/id/H/HU/HURRICUP/Devel-Camelcadedb-v2023.1.tar.gz";
7600       hash = "sha256-z/jSTllF45RN6/ITmVprFVuR5YE0aRVrE9Ws819qXZ8=";
7601     };
7602     propagatedBuildInputs = [ HashStoredIterator JSONXS PadWalker ];
7603     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
7604     meta = {
7605       description = "Perl side of the Perl debugger for IntelliJ IDEA and other JetBrains IDEs";
7606       license = with lib.licenses; [ mit ];
7607     };
7608   };
7610   DevelCycle = buildPerlPackage {
7611     pname = "Devel-Cycle";
7612     version = "1.12";
7613     src = fetchurl {
7614       url = "mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz";
7615       hash = "sha256-/TNlxNiYsrK927eKRtUHoYzKhJCikBmVR9q38ec5C8I=";
7616     };
7617     meta = {
7618       description = "Find memory cycles in objects";
7619       license = with lib.licenses; [ artistic1 gpl1Plus ];
7620     };
7621   };
7623   DevelDeclare = buildPerlPackage {
7624     pname = "Devel-Declare";
7625     version = "0.006022";
7626     src = fetchurl {
7627       url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-Declare-0.006022.tar.gz";
7628       hash = "sha256-cvKco1ZGpZO+mDEf/dtyAzrh6KnYJUxiqiSL1iYOWW4=";
7629     };
7630     buildInputs = [ ExtUtilsDepends TestRequires ];
7631     propagatedBuildInputs = [ BHooksEndOfScope BHooksOPCheck SubName ];
7632     meta = {
7633       description = "(DEPRECATED) Adding keywords to perl, in perl";
7634       license = with lib.licenses; [ artistic1 gpl1Plus ];
7635     };
7636   };
7638   DevelFindPerl = buildPerlPackage {
7639     pname = "Devel-FindPerl";
7640     version = "0.016";
7641     src = fetchurl {
7642       url = "mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.016.tar.gz";
7643       hash = "sha256-Q6K/L3h6PxuIEXkGMWKyqj58sET25eduxkZq6QqGETg=";
7644     };
7645     meta = {
7646       description = "Find the path to your perl";
7647       license = with lib.licenses; [ artistic1 gpl1Plus ];
7648     };
7649   };
7651   DevelGlobalDestruction = buildPerlPackage {
7652     pname = "Devel-GlobalDestruction";
7653     version = "0.14";
7654     src = fetchurl {
7655       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz";
7656       hash = "sha256-NLil8pmRMRRo/mkTytq6df1dKws+47tB/ltT76uRVKs=";
7657     };
7658     propagatedBuildInputs = [ SubExporterProgressive ];
7659     meta = {
7660       description = "Provides function returning the equivalent of \${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls";
7661       homepage = "https://metacpan.org/release/Devel-GlobalDestruction";
7662       license = with lib.licenses; [ artistic1 gpl1Plus ];
7663     };
7664   };
7666   DevelGlobalPhase = buildPerlPackage {
7667     pname = "Devel-GlobalPhase";
7668     version = "0.003003";
7669     src = fetchurl {
7670       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalPhase-0.003003.tar.gz";
7671       hash = "sha256-jaMCL3ynHf2/SqYGmJRNcgCsMUn0c32KnJG/Q4f/MvU=";
7672     };
7673     meta = {
7674       description = "Detect perl's global phase on older perls";
7675       license = with lib.licenses; [ artistic1 gpl1Plus ];
7676     };
7677   };
7679   DevelHide = buildPerlPackage {
7680     pname = "Devel-Hide";
7681     version = "0.0015";
7682     src = fetchurl {
7683       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-Hide-0.0015.tar.gz";
7684       hash = "sha256-/I2+t/fXWnjtSWseDgXPyZxorKs6LpLP8VXKXw+l31g=";
7685     };
7686     meta = {
7687       description = "Forces the unavailability of specified Perl modules (for testing)";
7688       license = with lib.licenses; [ artistic1 gpl1Plus ];
7689     };
7690   };
7692   DevelNYTProf = buildPerlPackage {
7693     pname = "Devel-NYTProf";
7694     version = "6.12";
7695     src = fetchurl {
7696       url = "mirror://cpan/authors/id/J/JK/JKEENAN/Devel-NYTProf-6.12.tar.gz";
7697       hash = "sha256-qDtZheTalr24X1McFqtvPUkHGnM80JSqMPqF+2pLAsQ=";
7698     };
7699     propagatedBuildInputs = [ FileWhich JSONMaybeXS ];
7700     buildInputs = [ CaptureTiny TestDifferences ];
7701     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
7702     postInstall = lib.optionalString stdenv.isDarwin ''
7703       shortenPerlShebang $out/bin/*
7704     '';
7705     meta = {
7706       description = "Powerful fast feature-rich Perl source code profiler";
7707       homepage = "https://code.google.com/p/perl-devel-nytprof";
7708       license = with lib.licenses; [ artistic1 gpl1Plus ];
7709     };
7710   };
7712   DevelOverloadInfo = buildPerlPackage {
7713     pname = "Devel-OverloadInfo";
7714     version = "0.007";
7715     src = fetchurl {
7716       url = "mirror://cpan/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.007.tar.gz";
7717       hash = "sha256-IaGEFjuQ+R8G/8f13guWg1ZUaum0AKnXXFc8lYwkYiI=";
7718     };
7719     propagatedBuildInputs = [ MROCompat PackageStash SubIdentify ];
7720     buildInputs = [ TestFatal ];
7721     meta = {
7722       description = "Introspect overloaded operators";
7723       license = with lib.licenses; [ artistic1 gpl1Plus ];
7724     };
7725   };
7727   DevelOverrideGlobalRequire = buildPerlPackage {
7728     pname = "Devel-OverrideGlobalRequire";
7729     version = "0.001";
7730     src = fetchurl {
7731       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Devel-OverrideGlobalRequire-0.001.tar.gz";
7732       hash = "sha256-B5GJLeOuKSr0qU44LyHbHuiCEIdQMYUebqgsNBB4Xvk=";
7733     };
7734     meta = {
7735       homepage = "https://metacpan.org/release/Devel-OverrideGlobalRequire";
7736       description = "Override CORE::GLOBAL::require safely";
7737       license = with lib.licenses; [ artistic1 gpl1Plus ];
7738     };
7739   };
7741   DevelPartialDump = buildPerlPackage {
7742     pname = "Devel-PartialDump";
7743     version = "0.20";
7744     src = fetchurl {
7745       url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-PartialDump-0.20.tar.gz";
7746       hash = "sha256-rvD/PqWalpGWfCiFEY/2ZxVghJVwicQ4j0nbZG/T2Qc=";
7747     };
7748     propagatedBuildInputs = [ ClassTiny SubExporter namespaceclean ];
7749     buildInputs = [ TestSimple13 TestWarnings ];
7750     meta = {
7751       description = "Partial dumping of data structures, optimized for argument printing";
7752       license = with lib.licenses; [ artistic1 gpl1Plus ];
7753     };
7754   };
7756   DevelStackTrace = buildPerlPackage {
7757     pname = "Devel-StackTrace";
7758     version = "2.04";
7759     src = fetchurl {
7760       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz";
7761       hash = "sha256-zTwD7VR9PULGH6WBTJgpYTk5LnlxwJLgmkMfLJ9daFU=";
7762     };
7763     meta = {
7764       description = "An object representing a stack trace";
7765       homepage = "https://metacpan.org/release/Devel-StackTrace";
7766       license = with lib.licenses; [ artistic2 ];
7767     };
7768   };
7770   DevelSize = buildPerlPackage {
7771     pname = "Devel-Size";
7772     version = "0.83";
7773     src = fetchurl {
7774       url = "mirror://cpan/authors/id/N/NW/NWCLARK/Devel-Size-0.83.tar.gz";
7775       hash = "sha256-dXpn4KpZrhA+pcoJLL7MAlZE69wyZzFoj/q2+II+9LM=";
7776     };
7777     meta = {
7778       description = "Perl extension for finding the memory usage of Perl variables";
7779       license = with lib.licenses; [ artistic1 gpl1Plus ];
7780     };
7781   };
7783   DevelStackTraceAsHTML = buildPerlPackage {
7784     pname = "Devel-StackTrace-AsHTML";
7785     version = "0.15";
7786     src = fetchurl {
7787       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz";
7788       hash = "sha256-YoPb4hl+LyAAnMS0SZl3Qhac3ZUb/ETLxuYsKpYtMUc=";
7789     };
7790     propagatedBuildInputs = [ DevelStackTrace ];
7791     meta = {
7792       description = "Displays stack trace in HTML";
7793       homepage = "https://github.com/miyagawa/Devel-StackTrace-AsHTML";
7794       license = with lib.licenses; [ artistic1 gpl1Plus ];
7795     };
7796   };
7798   DevelSymdump = buildPerlPackage {
7799     pname = "Devel-Symdump";
7800     version = "2.18";
7801     src = fetchurl {
7802       url = "mirror://cpan/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz";
7803       hash = "sha256-gm+BoQf1WSolFnZu1DvrR+EMyD7cnqSAkLAqNgQHdsA=";
7804     };
7805     meta = {
7806       description = "Dump symbol names or the symbol table";
7807       license = with lib.licenses; [ artistic1 gpl1Plus ];
7808     };
7809   };
7811   DigestCRC = buildPerlPackage {
7812     pname = "Digest-CRC";
7813     version = "0.24";
7814     src = fetchurl {
7815       url = "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-0.24.tar.gz";
7816       hash = "sha256-ugIqBbGtvsc3EsRvIz2Eif4Tobn8QKH8zu2bUvkN78E=";
7817     };
7818     meta = {
7819       description = "Module that calculates CRC sums of all sorts";
7820       license = with lib.licenses; [ publicDomain ];
7821     };
7822   };
7824   DigestHMAC = buildPerlPackage {
7825     pname = "Digest-HMAC";
7826     version = "1.04";
7827     src = fetchurl {
7828       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Digest-HMAC-1.04.tar.gz";
7829       hash = "sha256-1ryBVqonXETXlLfBj0TNrEpYFAJFyVnmsZssODiwjtQ=";
7830     };
7831     meta = {
7832       description = "Keyed-Hashing for Message Authentication";
7833       homepage = "https://metacpan.org/release/Digest-HMAC";
7834       license = with lib.licenses; [ artistic1 gpl1Plus ];
7835     };
7836   };
7838   DigestJHash = buildPerlPackage {
7839     pname = "Digest-JHash";
7840     version = "0.10";
7841     src = fetchurl {
7842       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Digest-JHash-0.10.tar.gz";
7843       hash = "sha256-x0bPCoYaAECQJjzVTXco0MdZWgz5DLv9hAmzlu47AGM=";
7844     };
7845     meta = {
7846       description = "Perl extension for 32 bit Jenkins Hashing Algorithm";
7847       license = with lib.licenses; [ artistic2 ];
7848     };
7849   };
7851   DigestMD2 = buildPerlPackage {
7852     pname = "Digest-MD2";
7853     version = "2.04";
7854     src = fetchurl {
7855       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-MD2-2.04.tar.gz";
7856       hash = "sha256-0Kq/SDTCCsQRvqQnxKMItZpfyqMnZ571KUwdaKtx7tM=";
7857     };
7858     meta = {
7859       description = "Perl interface to the MD2 Algorithm";
7860       license = with lib.licenses; [ artistic1 gpl1Plus ];
7861       maintainers = [ maintainers.sgo ];
7862     };
7863   };
7865   DigestMD4 = buildPerlPackage {
7866     pname = "Digest-MD4";
7867     version = "1.9";
7868     src = fetchurl {
7869       url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-1.9.tar.gz";
7870       hash = "sha256-ZlEQu6MkcPOY8xHNZGL9iXXXyDZ1/2dLwvbHtysMqqY=";
7871     };
7872     meta = {
7873       description = "Perl interface to the MD4 Algorithm";
7874       license = with lib.licenses; [ artistic1 gpl1Plus ];
7875     };
7876   };
7878   DigestMD5File = buildPerlPackage {
7879     pname = "Digest-MD5-File";
7880     version = "0.08";
7881     src = fetchurl {
7882       url = "mirror://cpan/authors/id/D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz";
7883       hash = "sha256-rbQ6VOMmJ7T35XyWQObrBtC7edjqVM0L157TVoj7Ehg=";
7884     };
7885     propagatedBuildInputs = [ LWP ];
7886     meta = {
7887       description = "Perl extension for getting MD5 sums for files and urls";
7888       license = with lib.licenses; [ artistic1 gpl1Plus ];
7889     };
7890   };
7892   DigestPerlMD5 = buildPerlPackage {
7893     pname = "Digest-Perl-MD5";
7894     version = "1.9";
7895     src = fetchurl {
7896       url = "mirror://cpan/authors/id/D/DE/DELTA/Digest-Perl-MD5-1.9.tar.gz";
7897       hash = "sha256-cQDLoXEPRfsOkH2LGnvYyu81xkrNMdfyJa/1r/7s2bE=";
7898     };
7899     meta = {
7900       description = "Perl Implementation of Rivest's MD5 algorithm";
7901       license = with lib.licenses; [ artistic1 gpl1Plus ];
7902     };
7903   };
7905   DigestSHA1 = buildPerlPackage {
7906     pname = "Digest-SHA1";
7907     version = "2.13";
7908     src = fetchurl {
7909       url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz";
7910       hash = "sha256-aMHawhh0IfDrer9xRSoG8ZAYG4/Eso7e31uQKW+5Q8w=";
7911     };
7912     meta = {
7913       description = "Perl interface to the SHA-1 algorithm";
7914       license = with lib.licenses; [ artistic1 gpl1Plus ];
7915     };
7916   };
7918   DigestSHA3 = buildPerlPackage {
7919     pname = "Digest-SHA3";
7920     version = "1.05";
7921     src = fetchurl {
7922       url = "mirror://cpan/authors/id/M/MS/MSHELOR/Digest-SHA3-1.05.tar.gz";
7923       hash = "sha256-rfG5B5sreBdV5XBId6FDCl8SmX6oIgX9KWbJzEZahSI=";
7924     };
7925     meta = {
7926       description = "Perl extension for SHA-3";
7927       homepage = "https://metacpan.org/release/Digest-SHA3";
7928       license = with lib.licenses; [ artistic1 gpl1Plus ];
7929       maintainers = [ maintainers.sgo ];
7930       mainProgram = "sha3sum";
7931     };
7932   };
7934   DigestSRI = buildPerlPackage {
7935     pname = "Digest-SRI";
7936     version = "0.02";
7937     src = fetchurl {
7938       url = "mirror://cpan/authors/id/H/HA/HAUKEX/Digest-SRI-0.02.tar.gz";
7939       hash = "sha256-VITN/m68OYwkZfeBx3w++1OKOULNSyDWiBjG//kHT8c=";
7940     };
7941     meta = {
7942       description = "Calculate and verify Subresource Integrity hashes (SRI)";
7943       homepage = "https://github.com/haukex/Digest-SRI";
7944       license = with lib.licenses; [ gpl3Plus ];
7945     };
7946   };
7948   DirManifest = buildPerlModule {
7949     pname = "Dir-Manifest";
7950     version = "0.6.1";
7951     src = fetchurl {
7952       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Dir-Manifest-0.6.1.tar.gz";
7953       hash = "sha256-hP9yJoc9XoZW7Hc0TAg4wVOp8BW0a2Dh/oeYuykn5QU=";
7954     };
7955     propagatedBuildInputs = [ Moo PathTiny ];
7956     meta = {
7957       description = "Treat a directory and a manifest file as a hash/dictionary of keys to texts or blobs";
7958       homepage = "https://metacpan.org/release/Dir-Manifest";
7959       license = with lib.licenses; [ mit ];
7960     };
7961   };
7963   DirSelf = buildPerlPackage {
7964     pname = "Dir-Self";
7965     version = "0.11";
7966     src = fetchurl {
7967       url = "mirror://cpan/authors/id/M/MA/MAUKE/Dir-Self-0.11.tar.gz";
7968       hash = "sha256-4lGlGrx9m6PnCPc8KqII4J1HoMUo1iVHEPp4zI1ohbU=";
7969     };
7970     meta = {
7971       description = "A __DIR__ constant for the directory your source file is in";
7972       homepage = "https://github.com/mauke/Dir-Self";
7973       license = with lib.licenses; [ artistic1 gpl1Plus ];
7974     };
7975   };
7977   DispatchClass = buildPerlPackage {
7978     pname = "Dispatch-Class";
7979     version = "0.02";
7980     src = fetchurl {
7981       url = "mirror://cpan/authors/id/M/MA/MAUKE/Dispatch-Class-0.02.tar.gz";
7982       hash = "sha256-1020Oxr56L1G/8Fb/k3x5dgQxCzoWC6TdRDcKiyhZYI=";
7983     };
7984     propagatedBuildInputs = [ ExporterTiny ];
7985     meta = {
7986       description = "Dispatch on the type (class) of an argument";
7987       license = with lib.licenses; [ artistic1 gpl1Plus ];
7988     };
7989   };
7991   DistCheckConflicts = buildPerlPackage {
7992     pname = "Dist-CheckConflicts";
7993     version = "0.11";
7994     src = fetchurl {
7995       url = "mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz";
7996       hash = "sha256-6oRLlobJTWZtnURDIddkSQss3i+YXEFltMLHdmXK7cQ=";
7997     };
7998     buildInputs = [ TestFatal ];
7999     propagatedBuildInputs = [ ModuleRuntime ];
8000     meta = {
8001       description = "Declare version conflicts for your dist";
8002       homepage = "https://metacpan.org/release/Dist-CheckConflicts";
8003       license = with lib.licenses; [ artistic1 gpl1Plus ];
8004     };
8005   };
8007   DistZilla = buildPerlPackage {
8008     pname = "Dist-Zilla";
8009     version = "6.030";
8010     src = fetchurl {
8011       url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-6.030.tar.gz";
8012       hash = "sha256-xAa75oCelO23DKlDJMMBQz1sij375wsC3xLh3/LzsTA=";
8013     };
8014     buildInputs = [ CPANMetaCheck TestDeep TestFailWarnings TestFatal TestFileShareDir ];
8015     propagatedBuildInputs = [ AppCmd CPANUploader ConfigMVPReaderINI DateTime FileCopyRecursive FileFindRule FileShareDirInstall Filepushd LogDispatchouli MooseXLazyRequire MooseXSetOnce MooseXTypesPerl PathTiny PerlPrereqScanner SoftwareLicense TermEncoding TermUI YAMLTiny ];
8016     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
8017     postInstall = lib.optionalString stdenv.isDarwin ''
8018       shortenPerlShebang $out/bin/dzil
8019     '';
8020     doCheck = false;
8021     meta = {
8022       description = "Distribution builder; installer not included!";
8023       homepage = "https://dzil.org";
8024       license = with lib.licenses; [ artistic1 gpl1Plus ];
8025       mainProgram = "dzil";
8026     };
8027   };
8029   DistZillaPluginBundleTestingMania = buildPerlModule {
8030     pname = "Dist-Zilla-PluginBundle-TestingMania";
8031     version = "0.25";
8032     src = fetchurl {
8033       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.25.tar.gz";
8034       hash = "sha256-XguywA8UD9ZNy9EvpdPJ4kS5NWgor0ZRmLYjBGnUWRw=";
8035     };
8036     buildInputs = [ MooseAutobox TestCPANMeta TestPerlCritic TestVersion ];
8037     propagatedBuildInputs = [ DistZillaPluginMojibakeTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestNoTabs DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion PodCoverageTrustPod ];
8038     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
8039     meta = {
8040       description = "Test your dist with every testing plugin conceivable";
8041       homepage = "https://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania";
8042       license = with lib.licenses; [ artistic1 gpl1Plus ];
8043     };
8044   };
8046   DistZillaPluginCheckChangeLog = buildPerlPackage {
8047     pname = "Dist-Zilla-Plugin-CheckChangeLog";
8048     version = "0.05";
8049     src = fetchurl {
8050       url = "mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.05.tar.gz";
8051       hash = "sha256-sLNNbXC1bxlE0DxfDcO49vJEdMgW0HtlehFsaSwuBSo=";
8052     };
8053     propagatedBuildInputs = [ DistZilla ];
8054     buildInputs = [ PathClass PodCoverage PodCoverageTrustPod PodMarkdown TestDeep TestException TestPod TestPodCoverage ];
8055     meta = {
8056       description = "Dist::Zilla with Changes check";
8057       license = with lib.licenses; [ artistic1 gpl1Plus ];
8058     };
8059   };
8061   DistZillaPluginMojibakeTests = buildPerlPackage {
8062     pname = "Dist-Zilla-Plugin-MojibakeTests";
8063     version = "0.8";
8064     src = fetchurl {
8065       url = "mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.8.tar.gz";
8066       hash = "sha256-8f/1R+okqPekg0Bqcu1sQFjXRtna6WNyVQLdugJas4A=";
8067     };
8068     propagatedBuildInputs = [ DistZilla ];
8069     buildInputs = [ TestMojibake ];
8070     meta = {
8071       description = "Author tests for source encoding";
8072       homepage = "https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests";
8073       license = with lib.licenses; [ artistic1 gpl1Plus ];
8074     };
8075   };
8077   DistZillaPluginPodWeaver = buildPerlPackage {
8078     pname = "Dist-Zilla-Plugin-PodWeaver";
8079     version = "4.010";
8080     src = fetchurl {
8081       url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-4.010.tar.gz";
8082       hash = "sha256-Zm1S1UXUjSpn8VN63HTPOMdkofmVHQtiNiP2IGDLYj4=";
8083     };
8084     propagatedBuildInputs = [ DistZilla PodElementalPerlMunger PodWeaver ];
8085     meta = {
8086       description = "Weave your Pod together from configuration and Dist::Zilla";
8087       homepage = "https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver";
8088       license = with lib.licenses; [ artistic1 gpl1Plus ];
8089     };
8090   };
8092   DistZillaPluginReadmeAnyFromPod = buildPerlPackage {
8093     pname = "Dist-Zilla-Plugin-ReadmeAnyFromPod";
8094     version = "0.163250";
8095     src = fetchurl {
8096       url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250.tar.gz";
8097       hash = "sha256-1E8nmZIveLKnlh7YkSPhG913q/6FuiBA2CuArXLtE7w=";
8098     };
8099     buildInputs = [ TestDeep TestDifferences TestException TestFatal TestMost TestRequires TestSharedFork TestWarn ];
8100     propagatedBuildInputs = [ DistZillaRoleFileWatcher MooseXHasSugar PodMarkdownGithub ];
8101     meta = {
8102       description = "Automatically convert POD to a README in any format for Dist::Zilla";
8103       homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod";
8104       license = with lib.licenses; [ artistic1 gpl1Plus ];
8105     };
8106   };
8108   DistZillaPluginReadmeMarkdownFromPod = buildPerlPackage {
8109     pname = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
8110     version = "0.141140";
8111     src = fetchurl {
8112       url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140.tar.gz";
8113       hash = "sha256-nKrXs2bqWRGa1zzdmdzdU/h3pRW9AWT8KLM5wBc5qAE=";
8114     };
8115     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
8116     propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod ];
8117     meta = {
8118       description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
8119       homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
8120       license = with lib.licenses; [ artistic1 gpl1Plus ];
8121     };
8122   };
8124   DistZillaPluginTestCPANChanges = buildPerlPackage {
8125     pname = "Dist-Zilla-Plugin-Test-CPAN-Changes";
8126     version = "0.012";
8127     src = fetchurl {
8128       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Changes-0.012.tar.gz";
8129       hash = "sha256-IVs6XDxYyLqw6icTBEG72uxzfuzADwZwk39gi9v2SAY=";
8130     };
8131     buildInputs = [ CPANChanges TestDeep ];
8132     propagatedBuildInputs = [ DistZilla ];
8133     meta = {
8134       description = "Release tests for your changelog";
8135       homepage = "https://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes";
8136       license = with lib.licenses; [ artistic1 gpl1Plus ];
8137     };
8138   };
8140   DistZillaPluginTestCPANMetaJSON = buildPerlModule {
8141     pname = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON";
8142     version = "0.004";
8143     src = fetchurl {
8144       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004.tar.gz";
8145       hash = "sha256-Clc+HVZAN05u5NVtT7lKPGfU511Ss93q5wz6ZFDhryI=";
8146     };
8147     buildInputs = [ MooseAutobox TestCPANMetaJSON TestDeep ];
8148     propagatedBuildInputs = [ DistZilla ];
8149     meta = {
8150       description = "Validate your CPAN META.json files";
8151       homepage = "https://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON";
8152       license = with lib.licenses; [ artistic2 ];
8153     };
8154   };
8156   DistZillaPluginTestCompile = buildPerlModule {
8157     pname = "Dist-Zilla-Plugin-Test-Compile";
8158     version = "2.058";
8159     src = fetchurl {
8160       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.058.tar.gz";
8161       hash = "sha256-0M+T5SXxAuyg9/OWcSTS5Z0KIS9zjOVMHd2R3aJo2Io=";
8162     };
8163     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestDeep TestMinimumVersion TestWarnings ];
8164     propagatedBuildInputs = [ DistZilla ];
8165     meta = {
8166       description = "Assert that your Perl files compile OK";
8167       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile";
8168       license = with lib.licenses; [ artistic1 gpl1Plus ];
8169     };
8170   };
8172   DistZillaPluginTestDistManifest = buildPerlModule {
8173     pname = "Dist-Zilla-Plugin-Test-DistManifest";
8174     version = "2.000006";
8175     src = fetchurl {
8176       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-DistManifest-2.000006.tar.gz";
8177       hash = "sha256-Wj2kW/yYzjhf7X3BZTp4kGEfC57xVsABOueFdPiWYH0=";
8178     };
8179     buildInputs = [ ModuleBuildTiny TestDeep TestDistManifest TestOutput ];
8180     propagatedBuildInputs = [ DistZilla ];
8181     meta = {
8182       description = "Author test that validates a package MANIFEST";
8183       homepage = "https://github.com/jawnsy/Test-DistManifest";
8184       license = with lib.licenses; [ artistic1 gpl1Plus ];
8185     };
8186   };
8188   DistZillaPluginTestEOL = buildPerlModule {
8189     pname = "Dist-Zilla-Plugin-Test-EOL";
8190     version = "0.19";
8191     src = fetchurl {
8192       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-EOL-0.19.tar.gz";
8193       hash = "sha256-orlZx6AszDLt1D7lhgmHVhPv1Ty8u9YDmeF/FUZ6Qzg=";
8194     };
8195     buildInputs = [ ModuleBuildTiny TestDeep TestEOL TestWarnings ];
8196     propagatedBuildInputs = [ DistZilla ];
8197     meta = {
8198       description = "Check the correct line endings in your project";
8199       homepage = "https://github.com/karenetheridge/Test-EOL";
8200       license = with lib.licenses; [ artistic1 gpl1Plus ];
8201     };
8202   };
8204   DistZillaPluginTestKwalitee = buildPerlModule {
8205     pname = "Dist-Zilla-Plugin-Test-Kwalitee";
8206     version = "2.12";
8207     src = fetchurl {
8208       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.12.tar.gz";
8209       hash = "sha256-vdvPzHXo6y0tnIYRVS8AzcGwUfDwB5hiO4aS/1Awry8=";
8210     };
8211     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestKwalitee ];
8212     propagatedBuildInputs = [ DistZilla ];
8213     meta = {
8214       description = "Test the Kwalitee of a distribution before you release it";
8215       license = with lib.licenses; [ artistic1 gpl1Plus ];
8216     };
8217   };
8219   DistZillaPluginTestMinimumVersion = buildPerlModule {
8220     pname = "Dist-Zilla-Plugin-Test-MinimumVersion";
8221     version = "2.000010";
8222     src = fetchurl {
8223       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-MinimumVersion-2.000010.tar.gz";
8224       hash = "sha256-uLcfS2S2ifS2R6OofWqqrkWmiJLTXja6qXb2BXNjcPs=";
8225     };
8226     buildInputs = [ ModuleBuildTiny TestDeep TestMinimumVersion TestOutput ];
8227     propagatedBuildInputs = [ DistZilla ];
8228     meta = {
8229       description = "Release tests for minimum required versions";
8230       license = with lib.licenses; [ artistic1 gpl1Plus ];
8231     };
8232   };
8234   DistZillaPluginTestNoTabs = buildPerlModule {
8235     pname = "Dist-Zilla-Plugin-Test-NoTabs";
8236     version = "0.15";
8237     src = fetchurl {
8238       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-NoTabs-0.15.tar.gz";
8239       hash = "sha256-G2EMQpFpKbtwFDw2t55XF1JbDp3njj1GCal4ZCtk0KQ=";
8240     };
8241     propagatedBuildInputs = [ DistZilla ];
8242     buildInputs = [ ModuleBuildTiny TestDeep TestNoTabs TestRequires ];
8243     meta = {
8244       description = "Check the presence of tabs in your project";
8245       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-NoTabs";
8246       license = with lib.licenses; [ artistic1 gpl1Plus ];
8247     };
8248   };
8250   DistZillaPluginTestPerlCritic = buildPerlModule {
8251     pname = "Dist-Zilla-Plugin-Test-Perl-Critic";
8252     version = "3.001";
8253     src = fetchurl {
8254       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Perl-Critic-3.001.tar.gz";
8255       hash = "sha256-klC1nV3Brkxok7p4O9PwUTGxT/npGvtFVTFPVSaKOCU=";
8256     };
8257     buildInputs = [ ModuleBuildTiny TestDeep TestPerlCritic ];
8258     propagatedBuildInputs = [ DistZilla ];
8259     meta = {
8260       description = "Tests to check your code against best practices";
8261       license = with lib.licenses; [ artistic1 gpl1Plus ];
8262     };
8263   };
8265   DistZillaPluginTestPodLinkCheck = buildPerlPackage {
8266     pname = "Dist-Zilla-Plugin-Test-Pod-LinkCheck";
8267     version = "1.004";
8268     src = fetchurl {
8269       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.004.tar.gz";
8270       hash = "sha256-Ml0jbaCUA4jSqobsXBMmUWtK1Fre+Oek+Du5HV7hVJA=";
8271     };
8272     # buildInputs = [ TestPodLinkCheck ];
8273     propagatedBuildInputs = [ DistZilla ];
8274     buildInputs = [ TestPodLinkCheck ];
8275     meta = {
8276       description = "Add release tests for POD links";
8277       homepage = "https://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck";
8278       license = with lib.licenses; [ artistic1 gpl1Plus ];
8279     };
8280   };
8282   DistZillaPluginTestPortability = buildPerlModule {
8283     pname = "Dist-Zilla-Plugin-Test-Portability";
8284     version = "2.001001";
8285     src = fetchurl {
8286       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Portability-2.001001.tar.gz";
8287       hash = "sha256-07kxVx4VoidI6BJwmq/aclEKdMAA/AaiyrWHVYEACyA=";
8288     };
8289     buildInputs = [ ModuleBuildTiny TestDeep TestPortabilityFiles TestWarnings ];
8290     propagatedBuildInputs = [ DistZilla ];
8291     meta = {
8292       description = "Author tests for portability";
8293       homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Portability";
8294       license = with lib.licenses; [ artistic1 gpl1Plus ];
8295     };
8296   };
8298   DistZillaPluginTestSynopsis = buildPerlPackage {
8299     pname = "Dist-Zilla-Plugin-Test-Synopsis";
8300     version = "2.000007";
8301     src = fetchurl {
8302       url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000007.tar.gz";
8303       hash = "sha256-59XiUwzYpbtarfPhZpplOqqW4yyte9a5yrprQlzqtWM=";
8304     };
8305     buildInputs = [ TestDeep TestOutput TestSynopsis ];
8306     propagatedBuildInputs = [ DistZilla ];
8307     meta = {
8308       description = "Release tests for synopses";
8309       license = with lib.licenses; [ artistic1 gpl1Plus ];
8310     };
8311   };
8313   DistZillaPluginTestUnusedVars = buildPerlModule {
8314     pname = "Dist-Zilla-Plugin-Test-UnusedVars";
8315     version = "2.001001";
8316     src = fetchurl {
8317       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-UnusedVars-2.001001.tar.gz";
8318       hash = "sha256-df7W0NzCv0B/8nrJ4W7yFTRnFEuYbPovmPhpuqWNdkc=";
8319     };
8320     buildInputs = [ ModuleBuildTiny TestDeep TestOutput TestVars ];
8321     propagatedBuildInputs = [ DistZilla ];
8322     meta = {
8323       description = "Release tests for unused variables";
8324       homepage = "https://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars";
8325       license = with lib.licenses; [ artistic1 gpl1Plus ];
8326     };
8327   };
8329   DistZillaPluginTestVersion = buildPerlPackage {
8330     pname = "Dist-Zilla-Plugin-Test-Version";
8331     version = "1.09";
8332     src = fetchurl {
8333       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Dist-Zilla-Plugin-Test-Version-1.09.tar.gz";
8334       hash = "sha256-ckBQhzG8G/bfrXcB7GVFChjvkkWlIasm69ass5qevhc=";
8335     };
8336     buildInputs = [ Filechdir TestDeep TestEOL TestNoTabs TestScript TestVersion ];
8337     propagatedBuildInputs = [ DistZilla ];
8338     meta = {
8339       description = "Release Test::Version tests";
8340       license = with lib.licenses; [ artistic2 ];
8341     };
8342   };
8344   DistZillaRoleFileWatcher = buildPerlModule {
8345     pname = "Dist-Zilla-Role-FileWatcher";
8346     version = "0.006";
8347     src = fetchurl {
8348       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Role-FileWatcher-0.006.tar.gz";
8349       hash = "sha256-/jpEuVhtrxJ3/Lu69yFrAs4j77vWlPDfEbf3U0S+TpY=";
8350     };
8351     propagatedBuildInputs = [ DistZilla SafeIsa ];
8352     buildInputs = [ ModuleBuildTiny TestDeep TestFatal ];
8353     meta = {
8354       description = "Receive notification when something changes a file's contents";
8355       homepage = "https://github.com/karenetheridge/Dist-Zilla-Role-FileWatcher";
8356       license = with lib.licenses; [ artistic1 gpl1Plus ];
8357     };
8358   };
8360   Dotenv = buildPerlPackage {
8361     pname = "Dotenv";
8362     version = "0.002";
8363     src = fetchurl {
8364       url = "mirror://cpan/authors/id/B/BO/BOOK/Dotenv-0.002.tar.gz";
8365       hash = "sha256-BMenzEURYX16cMTKQQ0QcH3EliSM2tICQK4kIiMhJFQ=";
8366     };
8367     buildInputs = [ TestCPANMeta TestPod TestPodCoverage ];
8368     propagatedBuildInputs = [ PathTiny ];
8369     meta = {
8370       description = "Support for dotenv in Perl";
8371       license = with lib.licenses; [ artistic1 gpl1Plus ];
8372     };
8373   };
8375   Dumbbench = buildPerlPackage {
8376     pname = "Dumbbench";
8377     version = "0.503";
8378     src = fetchurl {
8379       url = "mirror://cpan/authors/id/B/BD/BDFOY/Dumbbench-0.503.tar.gz";
8380       hash = "sha256-0BYBmoGDE+cERk8oDPZB72Dodx0HeRtZuZ4XoeyAH6k=";
8381     };
8382     propagatedBuildInputs = [ CaptureTiny ClassXSAccessor DevelCheckOS NumberWithError StatisticsCaseResampling ];
8383     meta = {
8384       description = "More reliable benchmarking with the least amount of thinking";
8385       homepage = "https://github.com/briandfoy/dumbbench";
8386       license = with lib.licenses; [ artistic1 gpl1Plus ];
8387       mainProgram = "dumbbench";
8388     };
8389   };
8391   EmailAbstract = buildPerlPackage {
8392     pname = "Email-Abstract";
8393     version = "3.010";
8394     src = fetchurl {
8395       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.010.tar.gz";
8396       hash = "sha256-jBL2i1l0yvyZ10lCq+/IWXGTA1qv0nYxKOaqr8pLftY=";
8397     };
8398     propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ];
8399     meta = {
8400       description = "Unified interface to mail representations";
8401       homepage = "https://github.com/rjbs/Email-Abstract";
8402       license = with lib.licenses; [ artistic1 gpl1Plus ];
8403     };
8404   };
8406   EmailAddress = buildPerlPackage {
8407     pname = "Email-Address";
8408     version = "1.913";
8409     src = fetchurl {
8410       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.913.tar.gz";
8411       hash = "sha256-avtUH232tTXM92QtNhrhjXqVo/k6zhvFNz9kwkEMpa8=";
8412     };
8413     meta = {
8414       description = "RFC 2822 Address Parsing and Creation";
8415       homepage = "https://github.com/rjbs/Email-Address";
8416       license = with lib.licenses; [ artistic1 gpl1Plus ];
8417     };
8418   };
8420   EmailAddressList = buildPerlPackage {
8421     pname = "Email-Address-List";
8422     version = "0.06";
8423     src = fetchurl {
8424       url = "mirror://cpan/authors/id/B/BP/BPS/Email-Address-List-0.06.tar.gz";
8425       hash = "sha256-MFuUx3gBHO5w2fIVFNkumF+p3Mu4TGR5jwwfCyTrhw4=";
8426     };
8427     buildInputs = [ JSON ];
8428     propagatedBuildInputs = [ EmailAddress ];
8429     meta = {
8430       description = "RFC close address list parsing";
8431       license = with lib.licenses; [ artistic1 gpl1Plus ];
8432     };
8433   };
8435   EmailAddressXS = buildPerlPackage {
8436     pname = "Email-Address-XS";
8437     version = "1.05";
8438     src = fetchurl {
8439       url = "mirror://cpan/authors/id/P/PA/PALI/Email-Address-XS-1.05.tar.gz";
8440       hash = "sha256-FRC38Q1nIBA3zVDSLJ1rJu7KVe3tpM20a7yiflmk6hY=";
8441     };
8442     meta = {
8443       description = "Parse and format RFC 5322 email addresses and groups";
8444       license = with lib.licenses; [ artistic1 gpl1Plus ];
8445     };
8446   };
8448   EmailDateFormat = buildPerlPackage {
8449     pname = "Email-Date-Format";
8450     version = "1.008";
8451     src = fetchurl {
8452       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.008.tar.gz";
8453       hash = "sha256-Qyt8g/+IdJrxKAA/UlfFc67BpGNBjbkO0ihDy7wli08=";
8454     };
8455     meta = {
8456       description = "Produce RFC 2822 date strings";
8457       homepage = "https://github.com/rjbs/Email-Date-Format";
8458       license = with lib.licenses; [ artistic1 gpl1Plus ];
8459     };
8460   };
8462   EmailReply = buildPerlPackage {
8463     pname = "Email-Reply";
8464     version = "1.204";
8465     src = fetchurl {
8466       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Reply-1.204.tar.gz";
8467       hash = "sha256-uk/YCsUBfW0TLgNYx4aw7NHHrcvu5cGfs9opZHkaVvA=";
8468     };
8469     propagatedBuildInputs = [ EmailAbstract EmailAddress EmailMIME ];
8470     meta = {
8471       description = "Reply to an email message";
8472       homepage = "https://github.com/Perl-Email-Project/Email-Reply";
8473       license = with lib.licenses; [ artistic1 gpl1Plus ];
8474     };
8475   };
8477   EmailMessageID = buildPerlPackage {
8478     pname = "Email-MessageID";
8479     version = "1.408";
8480     src = fetchurl {
8481       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.408.tar.gz";
8482       hash = "sha256-Hz1bT/Cxx7OemsfDGPs3rc0LrJVWA2VGSU0U8G3FZDw=";
8483     };
8484     meta = {
8485       description = "Generate world unique message-ids";
8486       homepage = "https://github.com/rjbs/Email-MessageID";
8487       license = with lib.licenses; [ artistic1 gpl1Plus ];
8488     };
8489   };
8491   EmailMIME = buildPerlPackage {
8492     pname = "Email-MIME";
8493     version = "1.953";
8494     src = fetchurl {
8495       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-1.953.tar.gz";
8496       hash = "sha256-mPsGeFBpmiJLq8NI8c7+MNdExg2okC56XOnYt+c99zU=";
8497     };
8498     propagatedBuildInputs = [ EmailAddressXS EmailMIMEContentType EmailMIMEEncodings EmailMessageID EmailSimple MIMETypes ModuleRuntime ];
8499     meta = {
8500       description = "Easy MIME message handling";
8501       homepage = "https://github.com/rjbs/Email-MIME";
8502       license = with lib.licenses; [ artistic1 gpl1Plus ];
8503     };
8504   };
8506   EmailMIMEAttachmentStripper = buildPerlPackage {
8507     pname = "Email-MIME-Attachment-Stripper";
8508     version = "1.317";
8509     buildInputs = [ CaptureTiny ];
8510     propagatedBuildInputs = [ EmailAbstract EmailMIME ];
8512     src = fetchurl {
8513       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz";
8514       hash = "sha256-3LmLCdw+j3V+w4gqQjRUgQi7LRLjz635WibO84Gp54k=";
8515     };
8516     meta = {
8517       description = "Strip the attachments from an email";
8518       homepage = "https://github.com/rjbs/Email-MIME-Attachment-Stripper";
8519       license = with lib.licenses; [ artistic1 gpl1Plus ];
8520     };
8521   };
8523   EmailMIMEContentType = buildPerlPackage {
8524     pname = "Email-MIME-ContentType";
8525     version = "1.028";
8526     src = fetchurl {
8527       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-ContentType-1.028.tar.gz";
8528       hash = "sha256-55UCRkM/ftbD5P1N8iJ+DyNBE3w8qxmJAY/DcPWBRcQ=";
8529     };
8530     propagatedBuildInputs = [ TextUnidecode ];
8531     meta = {
8532       description = "Parse and build a MIME Content-Type or Content-Disposition Header";
8533       homepage = "https://github.com/rjbs/Email-MIME-ContentType";
8534       license = with lib.licenses; [ artistic1 gpl1Plus ];
8535     };
8536   };
8538   EmailMIMEEncodings = buildPerlPackage {
8539     pname = "Email-MIME-Encodings";
8540     version = "1.317";
8541     src = fetchurl {
8542       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Encodings-1.317.tar.gz";
8543       hash = "sha256-SppBZxqdFQTE2iQb5BmpUD+jSGJiUm7bgeyp4uvqC68=";
8544     };
8545     buildInputs = [ CaptureTiny ];
8546     meta = {
8547       description = "A unified interface to MIME encoding and decoding";
8548       homepage = "https://github.com/rjbs/Email-MIME-Encodings";
8549       license = with lib.licenses; [ artistic1 gpl1Plus ];
8550     };
8551   };
8553   EmailSend = buildPerlPackage {
8554     pname = "Email-Send";
8555     version = "2.201";
8556     src = fetchurl {
8557       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Send-2.201.tar.gz";
8558       hash = "sha256-S77JM1WNfMm4FSutht0xPeJ3ohqJtOqD2E5hWH6V28Y=";
8559     };
8560     propagatedBuildInputs = [ EmailAbstract EmailAddress ReturnValue ];
8561     buildInputs = [ MIMETools MailTools ];
8562     meta = {
8563       description = "Simply Sending Email";
8564       homepage = "https://github.com/rjbs/Email-Send";
8565       license = with lib.licenses; [ artistic1 gpl1Plus ];
8566     };
8567   };
8569   EmailOutlookMessage = buildPerlModule {
8570     pname = "Email-Outlook-Message";
8571     version = "0.921";
8572     src = fetchurl {
8573       url = "mirror://cpan/authors/id/M/MV/MVZ/Email-Outlook-Message-0.921.tar.gz";
8574       hash = "sha256-+0q+6hTNpRweYLwhHPlSG7uq50uEEYym1Y8KciNoA4g=";
8575     };
8576     propagatedBuildInputs = [ EmailMIME EmailSender IOAll IOString OLEStorage_Lite ];
8577     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)
8578     meta = {
8579       homepage = "https://www.matijs.net/software/msgconv/";
8580       description = "A .MSG to mbox converter";
8581       license = with lib.licenses; [ artistic1 gpl1Plus ];
8582       maintainers = with maintainers; [ peterhoeg ];
8583       mainProgram = "msgconvert";
8584     };
8585   };
8587   EmailSender = buildPerlPackage {
8588     pname = "Email-Sender";
8589     version = "2.600";
8590     src = fetchurl {
8591       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-2.600.tar.gz";
8592       hash = "sha256-7MZ10DDXnZpPsGRWfqiFxmsXw4Yjea0w+CBaKBzY7ik=";
8593     };
8594     buildInputs = [ CaptureTiny ];
8595     propagatedBuildInputs = [ EmailAbstract EmailAddressXS EmailSimple ModuleRuntime Moo MooXTypesMooseLike SubExporter Throwable TryTiny ];
8596     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
8597     postPatch = ''
8598       patchShebangs --build util
8599     '';
8600     preCheck = lib.optionalString stdenv.isDarwin ''
8601       shortenPerlShebang util/sendmail
8602     '';
8603     meta = {
8604       description = "A library for sending email";
8605       homepage = "https://github.com/rjbs/Email-Sender";
8606       license = with lib.licenses; [ artistic1 gpl1Plus ];
8607     };
8608   };
8610   EmailSimple = buildPerlPackage {
8611     pname = "Email-Simple";
8612     version = "2.218";
8613     src = fetchurl {
8614       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.218.tar.gz";
8615       hash = "sha256-Lc4daP3pnVPbnKQ+IRtpsWm6Lvrs+HpVyzOpM2BHyW0=";
8616     };
8617     propagatedBuildInputs = [ EmailDateFormat ];
8618     meta = {
8619       description = "Simple parsing of RFC2822 message format and headers";
8620       homepage = "https://github.com/rjbs/Email-Simple";
8621       license = with lib.licenses; [ artistic1 gpl1Plus ];
8622     };
8623   };
8625   EmailStuffer = buildPerlPackage {
8626     pname = "Email-Stuffer";
8627     version = "0.020";
8628     src = fetchurl {
8629       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Stuffer-0.020.tar.gz";
8630       hash = "sha256-Ch77fy3t05BSsSb3GMotO1hFpBI6OTkv2d+gx25gV8c=";
8631     };
8632     buildInputs = [ Moo TestFatal ];
8633     propagatedBuildInputs = [ EmailMIME EmailSender ModuleRuntime ParamsUtil ];
8634     meta = {
8635       description = "A more casual approach to creating and sending Email:: emails";
8636       homepage = "https://github.com/rjbs/Email-Stuffer";
8637       license = with lib.licenses; [ artistic1 gpl1Plus ];
8638       maintainers = with maintainers; [ sgo ];
8639     };
8640   };
8642   EmailValid = buildPerlPackage {
8643     pname = "Email-Valid";
8644     version = "1.203";
8645     src = fetchurl {
8646       url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-1.203.tar.gz";
8647       hash = "sha256-ICG/ux4sJ55evYRoDllvlzRNQphQsjIme3b0kDdSK5M=";
8648     };
8649     propagatedBuildInputs = [ IOCaptureOutput MailTools NetDNS NetDomainTLD ];
8650     doCheck = false;
8651     meta = {
8652       description = "Check validity of Internet email addresses";
8653       license = with lib.licenses; [ artistic1 gpl1Plus ];
8654     };
8655   };
8657   EmailValidLoose = buildPerlPackage {
8658     pname = "Email-Valid-Loose";
8659     version = "0.05";
8660     src = fetchurl {
8661       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Email-Valid-Loose-0.05.tar.gz";
8662       hash = "sha256-5xjnbt3uJAJRyZnhOcjL5vLMgBktpa+HXL0S+oq5Olk=";
8663     };
8664     propagatedBuildInputs = [ EmailValid ];
8665     meta = {
8666       description = "Email::Valid which allows dot before at mark";
8667       license = with lib.licenses; [ artistic1 gpl1Plus ];
8668     };
8669   };
8671   Encode = buildPerlPackage {
8672     pname = "Encode";
8673     version = "3.19";
8674     src = fetchurl {
8675       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-3.19.tar.gz";
8676       hash = "sha256-kWP4SO72nk1MyIODl/CGH9nqft4AERfb2WlPjZUFLvU=";
8677     };
8678     meta = {
8679       description = "Character encodings in Perl";
8680       license = with lib.licenses; [ artistic1 gpl1Plus ];
8681       mainProgram = "piconv";
8682     };
8683   };
8685   EncodeBase32GMP = buildPerlPackage {
8686     pname = "Encode-Base32-GMP";
8687     version = "0.02";
8688     src = fetchurl {
8689       url = "mirror://cpan/authors/id/J/JW/JWANG/Encode-Base32-GMP-0.02.tar.gz";
8690       hash = "sha256-RUIG+n2C5V4DJ0aYcyNBtgcVDwDo4q7FjzUyagMIMtw=";
8691     };
8692     buildInputs = [ TestBase ];
8693     propagatedBuildInputs = [ MathGMPz ];
8694     meta = {
8695       description = "High speed Base32 encoding using GMP with BigInt and MD5 support";
8696       homepage = "https://metacpan.org/release/Encode-Base32-GMP";
8697       license = with lib.licenses; [ mit ];
8698       maintainers = with maintainers; [ sgo ];
8699     };
8700   };
8702   EncodeDetect = buildPerlModule {
8703     pname = "Encode-Detect";
8704     version = "1.01";
8705     src = fetchurl {
8706       url = "mirror://cpan/authors/id/J/JG/JGMYERS/Encode-Detect-1.01.tar.gz";
8707       hash = "sha256-g02JOqfbbOPxWK+9DkMtbtFaJ24JQNsKdL4T/ZxLu/E=";
8708     };
8709     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
8710     meta = {
8711       description = "An Encode::Encoding subclass that detects the encoding of data";
8712       license = with lib.licenses; [ mpl11 gpl2Plus lgpl2Plus ]; # taken from fedora
8713     };
8714   };
8717   EncodeEUCJPASCII = buildPerlPackage {
8718     pname = "Encode-EUCJPASCII";
8719     version = "0.03";
8720     src = fetchurl {
8721       url = "mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz";
8722       hash = "sha256-+ZjTTVX9nILPkQeGoESNHt+mC/aOLCMGckymfGKd6GE=";
8723     };
8724     outputs = [ "out" ];
8725     meta = {
8726       description = "EucJP-ascii - An eucJP-open mapping";
8727       license = with lib.licenses; [ artistic1 gpl1Plus ];
8728     };
8729   };
8731   EncodeHanExtra = buildPerlPackage {
8732     pname = "Encode-HanExtra";
8733     version = "0.23";
8734     src = fetchurl {
8735       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz";
8736       hash = "sha256-H9SwbK2nCFgAOvFT+UyGOzuV8uPQO6GNBFGoHVHbRDo=";
8737     };
8738     meta = {
8739       description = "Extra sets of Chinese encodings";
8740       license = with lib.licenses; [ mit ];
8741     };
8742   };
8744   EncodeIMAPUTF7 = buildPerlPackage {
8745     pname = "Encode-IMAPUTF7";
8746     version = "1.05";
8747     src = fetchurl {
8748       url = "mirror://cpan/authors/id/P/PM/PMAKHOLM/Encode-IMAPUTF7-1.05.tar.gz";
8749       hash = "sha256-RwMF3cN0g8/o08FtE3cKKAEfYAv1V6y4w+B3OZl8N+E=";
8750     };
8751     nativeCheckInputs = [ TestNoWarnings ];
8752     meta = {
8753       description = "IMAP modified UTF-7 encoding";
8754       license = with lib.licenses; [ artistic1 gpl1Plus ];
8755     };
8756   };
8758   EncodeJIS2K = buildPerlPackage {
8759     pname = "Encode-JIS2K";
8760     version = "0.03";
8761     src = fetchurl {
8762       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz";
8763       hash = "sha256-HshNcts53rTa1vypWs/MIQM/RaJNNHwg+aGmlolsNcw=";
8764     };
8765     outputs = [ "out" ];
8766     meta = {
8767       description = "JIS X 0212 (aka JIS 2000) Encodings";
8768       license = with lib.licenses; [ artistic1 gpl1Plus ];
8769     };
8770   };
8772   EncodeLocale = buildPerlPackage {
8773     pname = "Encode-Locale";
8774     version = "1.05";
8775     src = fetchurl {
8776       url = "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz";
8777       hash = "sha256-F2+gJ3H1QqTvsdvCpMko6PQ5G/QHhHO9YEDY8RrbDsE=";
8778     };
8779     preCheck = if stdenv.isCygwin then ''
8780       sed -i"" -e "s@plan tests => 13@plan tests => 10@" t/env.t
8781       sed -i"" -e "s@ok(env(\"\\\x@#ok(env(\"\\\x@" t/env.t
8782       sed -i"" -e "s@ok(\$ENV{\"\\\x@#ok(\$ENV{\"\\\x@" t/env.t
8783     '' else null;
8784     meta = {
8785       description = "Determine the locale encoding";
8786       license = with lib.licenses; [ artistic1 gpl1Plus ];
8787     };
8788   };
8790   EncodeNewlines = buildPerlPackage {
8791     pname = "Encode-Newlines";
8792     version = "0.05";
8793     src = fetchurl {
8794       url = "mirror://cpan/authors/id/N/NE/NEILB/Encode-Newlines-0.05.tar.gz";
8795       hash = "sha256-NLMfysjI/cghubNDSoLXEzIT73TM/yVf4UioavloN74=";
8796     };
8797     meta = {
8798       description = "Normalize line ending sequences";
8799       homepage = "https://github.com/neilb/Encode-Newlines";
8800       license = with lib.licenses; [ artistic1 gpl1Plus ];
8801     };
8802   };
8804   EncodePunycode = buildPerlPackage {
8805     pname = "Encode-Punycode";
8806     version = "1.002";
8807     src = fetchurl {
8808       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Encode-Punycode-1.002.tar.gz";
8809       hash = "sha256-yjrO7NuAtdRaoQ4c3o/sTpC0+MkYnHUE3YZY8HH3cZQ=";
8810     };
8811     buildInputs = [ TestNoWarnings ];
8812     propagatedBuildInputs = [ NetIDNEncode ];
8813     meta = {
8814       description = "Encode plugin for Punycode (RFC 3492)";
8815       homepage = "https://search.cpan.org/dist/Encode-Punycode";
8816       license = with lib.licenses; [ artistic1 gpl1Plus ];
8817     };
8818   };
8820   enum = buildPerlPackage {
8821     pname = "enum";
8822     version = "1.12";
8823     src = fetchurl {
8824       url = "mirror://cpan/authors/id/N/NE/NEILB/enum-1.12.tar.gz";
8825       hash = "sha256-aaeokc04iO2LAsXpmh9In5KmLsNRwLx4lP1719FEfqk=";
8826     };
8827     meta = {
8828       description = "C style enumerated types and bitmask flags in Perl";
8829       homepage = "https://github.com/neilb/enum";
8830       license = with lib.licenses; [ artistic1 gpl1Plus ];
8831     };
8832   };
8834   Env = buildPerlPackage {
8835     pname = "Env";
8836     version = "1.04";
8837     src = fetchurl {
8838       url = "mirror://cpan/authors/id/F/FL/FLORA/Env-1.04.tar.gz";
8839       hash = "sha256-2Uo9QS3yRq/cMaIZnL2K6RUWej9GhPe3AUzhIAJR67A=";
8840     };
8841     meta = {
8842       description = "Perl module that imports environment variables as scalars or arrays";
8843       homepage = "https://search.cpan.org/dist/Env";
8844       license = with lib.licenses; [ artistic1 gpl1Plus ];
8845     };
8846   };
8848   EnvPath = buildPerlPackage {
8849     pname = "Env-Path";
8850     version = "0.19";
8851     src = fetchurl {
8852       url = "mirror://cpan/authors/id/D/DS/DSB/Env-Path-0.19.tar.gz";
8853       hash = "sha256-JEvwk3mIMqfYQdnuW0sOa0iZlu72NUHlBQkao0qQFeI=";
8854     };
8855     meta = {
8856       description = "Advanced operations on path variables";
8857       license = with lib.licenses; [ artistic1 gpl1Plus ];
8858       mainProgram = "envpath";
8859     };
8860   };
8862   EnvSanctify = buildPerlPackage {
8863     pname = "Env-Sanctify";
8864     version = "1.12";
8865     src = fetchurl {
8866       url = "mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz";
8867       hash = "sha256-IOO1ZhwmVHSmnyiZR46ye5RkklWGu2tvtmYSnlgoMl8=";
8868     };
8869     meta = {
8870       description = "Lexically scoped sanctification of %ENV";
8871       homepage = "https://github.com/bingos/env-sanctify";
8872       license = with lib.licenses; [ artistic1 gpl1Plus ];
8873     };
8874   };
8876   ENVUtil = buildPerlPackage {
8877     pname = "ENV-Util";
8878     version = "0.03";
8879     src = fetchurl {
8880       url = "mirror://cpan/authors/id/G/GA/GARU/ENV-Util-0.03.tar.gz";
8881       hash = "sha256-B1574ehSxD6wiGYvr978FS9O9WyEPB4F2QDaGQb3P60=";
8882     };
8883     meta = {
8884       description = "Parse prefixed environment variables and dotnev (.env) files into Perl";
8885       license = with lib.licenses; [ artistic1 gpl1Plus ];
8886     };
8887   };
8889   Error = buildPerlModule {
8890     pname = "Error";
8891     version = "0.17029";
8892     src = fetchurl {
8893       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Error-0.17029.tar.gz";
8894       hash = "sha256-GiP3kTAyrtbUtoMhNzo4mcpmWQ9HJzkaCR7BnJW/etw=";
8895     };
8896     meta = {
8897       description = "Error/exception handling in an OO-ish way";
8898       license = with lib.licenses; [ artistic1 gpl1Plus ];
8899     };
8900   };
8902   EV = buildPerlPackage {
8903     pname = "EV";
8904     version = "4.34";
8905     src = fetchurl {
8906       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.34.tar.gz";
8907       hash = "sha256-EhFoPc57Z3H0q3EMwVNxK913umFXoTKU0LtzSR/QZWA=";
8908     };
8909     buildInputs = [ CanaryStability ];
8910     propagatedBuildInputs = [ commonsense ];
8911     meta = {
8912       description = "Perl interface to libev, a high performance full-featured event loop";
8913       license = with lib.licenses; [ gpl1Plus ];
8914     };
8915   };
8917   EvalClosure = buildPerlPackage {
8918     pname = "Eval-Closure";
8919     version = "0.14";
8920     src = fetchurl {
8921       url = "mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz";
8922       hash = "sha256-6glE8vXsmNiVvvbVA+bko3b+pjg6a8ZMdnDUb/IhjK0=";
8923     };
8924     buildInputs = [ TestFatal TestRequires ];
8925     meta = {
8926       description = "Safely and cleanly create closures via string eval";
8927       homepage = "https://metacpan.org/release/Eval-Closure";
8928       license = with lib.licenses; [ artistic1 gpl1Plus ];
8929     };
8930   };
8932   EvalSafe = buildPerlPackage rec {
8933     pname = "Eval-Safe";
8934     version = "0.02";
8935     src = fetchurl {
8936       url = "mirror://cpan/authors/id/M/MA/MATHIAS/Eval-Safe/Eval-Safe-${version}.tar.gz";
8937       hash = "sha256-VaUsIz4troYRP58Zs09hftz8hBb5vs5nEme9GBGxIRE=";
8938     };
8939     outputs = [ "out" ];
8940     meta = with lib; {
8941       description = "Simplified safe evaluation of Perl code";
8942       homepage = "https://github.com/mkende/perl-eval-safe";
8943       license = licenses.mit;
8944       maintainers = with maintainers; [ figsoda ];
8945     };
8946   };
8948   ExcelWriterXLSX = buildPerlPackage {
8949     pname = "Excel-Writer-XLSX";
8950     version = "1.11";
8951     src = fetchurl {
8952       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Excel-Writer-XLSX-1.11.tar.gz";
8953       hash = "sha256-yzMA0jEZxpiGTvC3PBmnLLpxi/wG7QBzWaUxP5YcwqA=";
8954     };
8955     propagatedBuildInputs = [ ArchiveZip ];
8956     meta = {
8957       description = "Create a new file in the Excel 2007+ XLSX format";
8958       homepage = "https://jmcnamara.github.com/excel-writer-xlsx";
8959       license = with lib.licenses; [ artistic1 gpl1Plus ];
8960       mainProgram = "extract_vba";
8961     };
8962   };
8964   ExceptionBase = buildPerlModule {
8965     pname = "Exception-Base";
8966     version = "0.2501";
8967     src = fetchurl {
8968       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2501.tar.gz";
8969       hash = "sha256-VyPdePSsC00mKgXqRq9mPqANgJay6cCkNRXCEHYOHnU=";
8970     };
8971     buildInputs = [ TestUnitLite ];
8972     patches = [
8973       ../development/perl-modules/Exception-Base-remove-smartmatch-when-5.38.0.patch
8974     ];
8975     meta = {
8976       description = "Lightweight exceptions";
8977       license = with lib.licenses; [ artistic1 gpl1Plus ];
8978     };
8979   };
8981   ExceptionClass = buildPerlPackage {
8982     pname = "Exception-Class";
8983     version = "1.45";
8984     src = fetchurl {
8985       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Exception-Class-1.45.tar.gz";
8986       hash = "sha256-VIKnfvAnyh+fOeH0jFWDVulUk2/I+73ubIEcUScBskk=";
8987     };
8988     propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
8989     meta = {
8990       description = "An Exception Object Class";
8991       license = with lib.licenses; [ artistic1 gpl1Plus ];
8992     };
8993   };
8995   ExceptionDied = buildPerlModule {
8996     pname = "Exception-Died";
8997     version = "0.06";
8998     src = fetchurl {
8999       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Died-0.06.tar.gz";
9000       hash = "sha256-NcRAvCr9TVfiQaDbG05o2dUpXfLbjXidObX0UQWXirU=";
9001     };
9002     buildInputs = [ TestAssert TestUnitLite ];
9003     propagatedBuildInputs = [ ExceptionBase constantboolean ];
9004     meta = {
9005       description = "Convert simple die into real exception object";
9006       license = with lib.licenses; [ artistic1 gpl1Plus ];
9007     };
9008   };
9010   ExceptionWarning = buildPerlModule {
9011     pname = "Exception-Warning";
9012     version = "0.0401";
9013     src = fetchurl {
9014       url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Warning-0.0401.tar.gz";
9015       hash = "sha256-ezacps61se3ytdX4cOl0x8k+kwNnw5o5AL/2CZce06g=";
9016     };
9017     buildInputs = [ TestAssert TestUnitLite ];
9018     propagatedBuildInputs = [ ExceptionBase ];
9019     meta = {
9020       description = "Convert simple warn into real exception object";
9021       license = with lib.licenses; [ artistic1 gpl1Plus ];
9022     };
9023   };
9025   ExporterDeclare = buildPerlModule {
9026     pname = "Exporter-Declare";
9027     version = "0.114";
9028     src = fetchurl {
9029       url = "mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.114.tar.gz";
9030       hash = "sha256-S9cNbKdvb2un5MYY1KyTuFk6WPEjPMvhixD18gTx1OQ=";
9031     };
9032     buildInputs = [ FennecLite TestException ];
9033     propagatedBuildInputs = [ MetaBuilder aliased ];
9034     meta = {
9035       description = "Exporting done right";
9036       homepage = "http://open-exodus.net/projects/Exporter-Declare";
9037       license = with lib.licenses; [ artistic1 gpl1Plus ];
9038     };
9039   };
9041   ExporterLite = buildPerlPackage {
9042     pname = "Exporter-Lite";
9043     version = "0.09";
9044     src = fetchurl {
9045       url = "mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.09.tar.gz";
9046       hash = "sha256-edixT9UBOSLGPoUPFb9RBZ8lAkBFNetmkO8jYSwqGY0=";
9047     };
9048     meta = {
9049       description = "Lightweight exporting of functions and variables";
9050       license = with lib.licenses; [ artistic1 gpl1Plus ];
9051     };
9052   };
9054   ExporterTiny = buildPerlPackage {
9055     pname = "Exporter-Tiny";
9056     version = "1.006002";
9057     src = fetchurl {
9058       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.006002.tar.gz";
9059       hash = "sha256-byleLL/7HbwVvbna3DQWccHgzSvfLTErF1Jic8MiY40=";
9060     };
9061     meta = {
9062       description = "An exporter with the features of Sub::Exporter but only core dependencies";
9063       homepage = "https://metacpan.org/release/Exporter-Tiny";
9064       license = with lib.licenses; [ artistic1 gpl1Plus ];
9065     };
9066   };
9068   Expect = buildPerlPackage {
9069     pname = "Expect";
9070     version = "1.35";
9071     src = fetchurl {
9072       url = "mirror://cpan/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz";
9073       hash = "sha256-CdknYUId7NSVhTEDN5FlqZ779FLHIPMCd2As8jZ5/QY=";
9074     };
9075     propagatedBuildInputs = [ IOTty ];
9076     meta = {
9077       description = "Automate interactions with command line programs that expose a text terminal interface";
9078       license = with lib.licenses; [ artistic1 gpl1Plus ];
9079     };
9080   };
9082   ExpectSimple = buildPerlPackage {
9083     pname = "Expect-Simple";
9084     version = "0.04";
9085     src = fetchurl {
9086       url = "mirror://cpan/authors/id/D/DJ/DJERIUS/Expect-Simple-0.04.tar.gz";
9087       hash = "sha256-r4O5IYXmQmlZE/8Tjv6Bl1LoCFd1mZber8qrJwCtXbU=";
9088     };
9089     propagatedBuildInputs = [ Expect ];
9090     meta = {
9091       description = "Wrapper around the Expect module";
9092       license = with lib.licenses; [ artistic1 gpl1Plus ];
9093     };
9094   };
9096   ExtUtilsCChecker = buildPerlModule {
9097     pname = "ExtUtils-CChecker";
9098     version = "0.11";
9099     src = fetchurl {
9100       url = "mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.11.tar.gz";
9101       hash = "sha256-EXc2Z343/GEfW3Y3TX+VLhlw64Dh9q1RUNUW565TG/U=";
9102     };
9103     buildInputs = [ TestFatal ];
9104     meta = {
9105       description = "Configure-time utilities for using C headers,";
9106       license = with lib.licenses; [ artistic1 gpl1Plus ];
9107     };
9108   };
9110   ExtUtilsConfig = buildPerlPackage {
9111     pname = "ExtUtils-Config";
9112     version = "0.008";
9113     src = fetchurl {
9114       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz";
9115       hash = "sha256-rlEE9jRlDc6KebftE/tZ1no5whOmd2z9qj7nSeYvGow=";
9116     };
9117     meta = {
9118       description = "A wrapper for perl's configuration";
9119       license = with lib.licenses; [ artistic1 gpl1Plus ];
9120     };
9121   };
9123   ExtUtilsConstant = buildPerlPackage {
9124     pname = "ExtUtils-Constant";
9125     version = "0.25";
9126     src = fetchurl {
9127       url = "mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.25.tar.gz";
9128       hash = "sha256-aTPQ6WO2IoHvdWEGjmrsrIxKwrR2srugmrC5D7rJ11c=";
9129     };
9130     patches = [
9131       ../development/perl-modules/ExtUtils-Constant-fix-indirect-method-call-in-test.patch
9132     ];
9133     meta = {
9134       description = "Generate XS code to import C header constants";
9135       license = with lib.licenses; [ artistic1 gpl1Plus ];
9136     };
9137   };
9139   ExtUtilsCppGuess = buildPerlPackage {
9140     pname = "ExtUtils-CppGuess";
9141     version = "0.26";
9142     src = fetchurl {
9143       url = "mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.26.tar.gz";
9144       hash = "sha256-yLNiuGAXKkB2rO4AQ49SuGRk8sUAcCz891J4Ef+aaD4=";
9145     };
9146     doCheck = !stdenv.isDarwin;
9147     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
9148     propagatedBuildInputs = [ CaptureTiny ];
9149     buildInputs = [ ModuleBuild ];
9150     meta = {
9151       description = "Guess C++ compiler and flags";
9152       license = with lib.licenses; [ artistic1 gpl1Plus ];
9153     };
9154   };
9156   ExtUtilsDepends = buildPerlPackage {
9157     pname = "ExtUtils-Depends";
9158     version = "0.8001";
9159     src = fetchurl {
9160       url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.8001.tar.gz";
9161       hash = "sha256-ZzxDh+eJbBohYJnB+7P6qndj1/X5WhpWpgoqKQbBMcU=";
9162     };
9163     meta = {
9164       description = "Easily build XS extensions that depend on XS extensions";
9165       license = with lib.licenses; [ artistic1 gpl1Plus artistic1 gpl1Plus ];
9166     };
9167   };
9169   ExtUtilsF77 = buildPerlPackage rec {
9170     pname = "ExtUtils-F77";
9171     version = "1.26";
9172     src = fetchurl {
9173       url = "mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-F77-1.26.tar.gz";
9174       hash = "sha256-q90dPuxMpPyuXxUrQLyqhi48gG4H5KqRI3V/aqSLndY=";
9175     };
9176     buildInputs = [ pkgs.gfortran ];
9177     propagatedBuildInputs = [ FileWhich ];
9178     meta = {
9179       description = "A simple interface to F77 libs";
9180       license = with lib.licenses; [ artistic1 gpl1Plus ];
9181     };
9182   };
9184   ExtUtilsHelpers = buildPerlPackage {
9185     pname = "ExtUtils-Helpers";
9186     version = "0.026";
9187     src = fetchurl {
9188       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz";
9189       hash = "sha256-3pAbZ5CkVXz07JCBSeA1eDsSW/EV65ZA/rG8HCTDNBY=";
9190     };
9191     meta = {
9192       description = "Various portability utilities for module builders";
9193       license = with lib.licenses; [ artistic1 gpl1Plus ];
9194     };
9195   };
9197   ExtUtilsInstall = buildPerlPackage {
9198     pname = "ExtUtils-Install";
9199     version = "2.22";
9200     src = fetchurl {
9201       url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.22.tar.gz";
9202       hash = "sha256-M3Jbr77Tgp1hPkxlHC4a0SBnDH0qxc8F+DdX/Jddb/I=";
9203     };
9204     meta = {
9205       description = "Install files from here to there";
9206       homepage = "https://metacpan.org/release/ExtUtils-Install";
9207       license = with lib.licenses; [ artistic1 gpl1Plus ];
9208     };
9209   };
9211   ExtUtilsInstallPaths = buildPerlPackage {
9212     pname = "ExtUtils-InstallPaths";
9213     version = "0.012";
9214     src = fetchurl {
9215       url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz";
9216       hash = "sha256-hHNeMDe6sf3/o8JQhWetQSp4XJFZnbPBJZOlCh3UNO0=";
9217     };
9218     propagatedBuildInputs = [ ExtUtilsConfig ];
9219     meta = {
9220       description = "Build.PL install path logic made easy";
9221       license = with lib.licenses; [ artistic1 gpl1Plus ];
9222     };
9223   };
9225   ExtUtilsLibBuilder = buildPerlModule {
9226     pname = "ExtUtils-LibBuilder";
9227     version = "0.08";
9228     src = fetchurl {
9229       url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz";
9230       hash = "sha256-xRFx4G3lMDnwvKHZemRx7DeUH/Weij0csXDr3SVztdI=";
9231     };
9232     perlPreHook = "export LD=$CC";
9233     meta = {
9234       description = "A tool to build C libraries";
9235       license = with lib.licenses; [ artistic1 gpl1Plus ];
9236     };
9237   };
9239   ExtUtilsMakeMaker = buildPerlPackage {
9240     pname = "ExtUtils-MakeMaker";
9241     version = "7.70";
9242     src = fetchurl {
9243       url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.70.tar.gz";
9244       hash = "sha256-8Qi9RkINLwDSQoJfhlsPaIUQhJJJJPkiYdaExJ4+enQ=";
9245     };
9246     meta = {
9247       description = "Create a module Makefile";
9248       homepage = "https://metacpan.org/release/ExtUtils-MakeMaker";
9249       license = with lib.licenses; [ artistic1 gpl1Plus ];
9250       mainProgram = "instmodsh";
9251     };
9252   };
9254   ExtUtilsMakeMakerCPANfile = buildPerlPackage {
9255     pname = "ExtUtils-MakeMaker-CPANfile";
9256     version = "0.09";
9257     src = fetchurl {
9258       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.09.tar.gz";
9259       hash = "sha256-LAd2B9SwoQhWkHTf926BaGWQYq2jpq94swzKDUD44nU=";
9260     };
9261     propagatedBuildInputs = [ ModuleCPANfile ];
9262     meta = {
9263       description = "Cpanfile support for EUMM";
9264       license = with lib.licenses; [ artistic1 gpl1Plus ];
9265     };
9266   };
9268   ExtUtilsPkgConfig = buildPerlPackage {
9269     pname = "ExtUtils-PkgConfig";
9270     version = "1.16";
9271     src = fetchurl {
9272       url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz";
9273       hash = "sha256-u+rO2ZXX2NEM/FGjpaZtpBzrK8BP7cq1DhDmMA6AHG4=";
9274     };
9275     nativeBuildInputs = [ buildPackages.pkg-config ];
9276     propagatedBuildInputs = [ pkgs.pkg-config ];
9277     postPatch = ''
9278       # no pkg-config binary when cross-compiling so the check fails
9279       substituteInPlace Makefile.PL \
9280         --replace "pkg-config" "$PKG_CONFIG"
9281     '';
9282     doCheck = false; # expects test_glib-2.0.pc in PKG_CONFIG_PATH
9283     meta = {
9284       description = "Simplistic interface to pkg-config";
9285       license = with lib.licenses; [ lgpl21Plus ];
9286     };
9287   };
9289   # From CPAN[1]:
9290   #   This module exists merely as a compatibility wrapper around
9291   #   ExtUtils::Typemaps. In a nutshell, ExtUtils::Typemap was renamed to
9292   #   ExtUtils::Typemaps because the Typemap directory in lib/ could collide with
9293   #   the typemap file on case-insensitive file systems.
9294   #
9295   #   The ExtUtils::Typemaps module is part of the ExtUtils::ParseXS distribution
9296   #   and ships with the standard library of perl starting with perl version
9297   #   5.16.
9298   #
9299   # [1] https://metacpan.org/pod/release/SMUELLER/ExtUtils-Typemap-1.00/lib/ExtUtils/Typemap.pm:
9300   ExtUtilsTypemap = buildPerlPackage {
9301     pname = "ExtUtils-Typemap";
9302     version = "1.00";
9303     src = fetchurl {
9304       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemap-1.00.tar.gz";
9305       hash = "sha256-sbAVdy27BouToPb/oC9dlIIjZeYBisXtK8U8pmkHH8c=";
9306     };
9307     meta = {
9308       description = "Read/Write/Modify Perl/XS typemap files";
9309       license = with lib.licenses; [ artistic1 gpl1Plus ];
9310     };
9311   };
9313   ExtUtilsTypemapsDefault = buildPerlModule {
9314     pname = "ExtUtils-Typemaps-Default";
9315     version = "1.05";
9316     src = fetchurl {
9317       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemaps-Default-1.05.tar.gz";
9318       hash = "sha256-Pfr1g36/3AB4lb/KhMPC521Ymn0zZADo37MkPYGCFd4=";
9319     };
9320     meta = {
9321       description = "A set of useful typemaps";
9322       license = with lib.licenses; [ artistic1 gpl1Plus ];
9323     };
9324   };
9326   ExtUtilsXSBuilder = buildPerlPackage {
9327     pname = "ExtUtils-XSBuilder";
9328     version = "0.28";
9329     src = fetchurl {
9330       url = "mirror://cpan/authors/id/G/GR/GRICHTER/ExtUtils-XSBuilder-0.28.tar.gz";
9331       hash = "sha256-jM7ThuPVRMXsLes67QVbcuvPwuqabIB9qHxCRScv6Ao=";
9332     };
9333     propagatedBuildInputs = [ ParseRecDescent TieIxHash ];
9334     meta = {
9335       description = "Automatic Perl XS glue code generation";
9336       license = with lib.licenses; [ artistic1 gpl1Plus ];
9337     };
9338   };
9340   ExtUtilsXSpp = buildPerlModule {
9341     pname = "ExtUtils-XSpp";
9342     version = "0.18";
9343     src = fetchurl {
9344       url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-XSpp-0.18.tar.gz";
9345       hash = "sha256-kXatZGcp470nz3q/EUvt00JL/xumEYXPx9VPOpIjqP8=";
9346     };
9347     buildInputs = [ TestBase TestDifferences ];
9348     meta = {
9349       description = "XS for C++";
9350       license = with lib.licenses; [ artistic1 gpl1Plus ];
9351       mainProgram = "xspp";
9352     };
9353   };
9355   FatalException = buildPerlModule {
9356     pname = "Fatal-Exception";
9357     version = "0.05";
9358     src = fetchurl {
9359       url = "mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz";
9360       hash = "sha256-KAldIT+zKknJwjKmhEg375Rdua1unmHkULTfTQjj7k8=";
9361     };
9362     buildInputs = [ ExceptionWarning TestAssert TestUnitLite ];
9363     propagatedBuildInputs = [ ExceptionDied ];
9364     meta = {
9365       description = "Thrown when core function has a fatal error";
9366       license = with lib.licenses; [ artistic1 gpl1Plus ];
9367     };
9368   };
9370   FCGI = buildPerlPackage {
9371     pname = "FCGI";
9372     version = "0.82";
9373     src = fetchurl {
9374       url = "mirror://cpan/authors/id/E/ET/ETHER/FCGI-0.82.tar.gz";
9375       hash = "sha256-TH1g4m2iwH8Fik40UCHpJQUnOzPJVCIVl34IRhHwns8=";
9376     };
9377     buildInputs = [ FCGIClient ];
9378     postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
9379       sed -i '/use IO::File/d' Makefile.PL
9380     '';
9381     meta = {
9382       description = "Fast CGI module";
9383       license = with lib.licenses; [ oml ];
9384     };
9385   };
9387   FCGIClient = buildPerlModule {
9388     pname = "FCGI-Client";
9389     version = "0.09";
9390     src = fetchurl {
9391       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-0.09.tar.gz";
9392       hash = "sha256-1TfLCc5aqz9Eemu0QV5GzAbv4BYRzVYom1WCvbRiIeg=";
9393     };
9394     propagatedBuildInputs = [ Moo TypeTiny ];
9395     buildInputs = [ ModuleBuildTiny ];
9396     meta = {
9397       description = "Client library for fastcgi protocol";
9398       homepage = "https://github.com/tokuhirom/p5-fcgi-client";
9399       license = with lib.licenses; [ artistic1 gpl1Plus ];
9400     };
9401   };
9403   FCGIProcManager = buildPerlPackage {
9404     pname = "FCGI-ProcManager";
9405     version = "0.28";
9406     src = fetchurl {
9407       url = "mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.28.tar.gz";
9408       hash = "sha256-4clYwEJCehdeBR4ACPICXo7IBhPTx3UFl7+OUpsEQg4=";
9409     };
9410     meta = {
9411       description = "A perl-based FastCGI process manager";
9412       license = with lib.licenses; [ gpl2Plus ];
9413     };
9414   };
9416   FFIC = buildPerlPackage {
9417     pname = "FFI-C";
9418     version = "0.15";
9419     src = fetchurl {
9420       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-C-0.15.tar.gz";
9421       hash = "sha256-63BgfmZzvMsY3yf0zuRZ+23EGODak+aSzcNVX+QNL04=";
9422     };
9423     buildInputs = [ CaptureTiny PathTiny Test2Suite ];
9424     propagatedBuildInputs = [ ClassInspector FFIPlatypus FFIPlatypusTypeEnum RefUtil SubIdentify SubInstall ];
9425     meta = {
9426       homepage = "https://metacpan.org/pod/FFI::C";
9427       description = "C data types for FFI";
9428       license = with lib.licenses; [ artistic1 gpl1Plus ];
9429       maintainers = with maintainers; [ tomasajt ];
9430     };
9431   };
9433   FFICheckLib = buildPerlPackage {
9434     pname = "FFI-CheckLib";
9435     version = "0.31";
9436     src = fetchurl {
9437       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.31.tar.gz";
9438       hash = "sha256-BNiF/Dd9RIluXqHE7DEPl5uwTy8YZYp+ek1Qn36Au4A=";
9439     };
9440     buildInputs = [ Test2Suite ];
9441     propagatedBuildInputs = [ FileWhich ];
9442     meta = {
9443       description = "Check that a library is available for FFI";
9444       homepage = "https://metacpan.org/pod/FFI::CheckLib";
9445       license = with lib.licenses; [ artistic1 gpl1Plus ];
9446     };
9447   };
9449   FeatureCompatTry = buildPerlModule {
9450     pname = "Feature-Compat-Try";
9451     version = "0.05";
9452     src = fetchurl {
9453       url = "mirror://cpan/authors/id/P/PE/PEVANS/Feature-Compat-Try-0.05.tar.gz";
9454       hash = "sha256-WaHHFzysMNsTHF8T+jhA9xhYju+bV5NS/+FWtVBxbXw=";
9455     };
9456     buildInputs = [ Test2Suite ];
9457     propagatedBuildInputs = [ SyntaxKeywordTry ];
9458     meta = {
9459       description = "Make C<try/catch> syntax available";
9460       license = with lib.licenses; [ artistic1 gpl1Plus ];
9461     };
9462   };
9464   FFICStat = buildPerlPackage {
9465     pname = "FFI-C-Stat";
9466     version = "0.03";
9467     src = fetchurl {
9468       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-C-Stat-0.03.tar.gz";
9469       hash = "sha256-YOjveCyLs0cFXJ49ov1BTzX2EP5P77eNBzncyiQoQx4=";
9470     };
9471     buildInputs = [ Filechdir PathTiny Test2Suite TestScript ];
9472     propagatedBuildInputs = [ FFIPlatypus RefUtil ];
9473     meta = {
9474       homepage = "https://metacpan.org/pod/FFI::C::Stat";
9475       description = "Object-oriented FFI interface to native stat and lstat";
9476       license = with lib.licenses; [ artistic1 gpl1Plus ];
9477       maintainers = with maintainers; [ tomasajt ];
9478     };
9479   };
9481   FFIPlatypus = buildPerlPackage {
9482     pname = "FFI-Platypus";
9483     version = "2.08";
9484     src = fetchurl {
9485       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-Platypus-2.08.tar.gz";
9486       hash = "sha256-EbOrEU7ZY1YxzYWzjSKXhuFEv5Sjr5rAnD17s0M2uSQ=";
9487     };
9488     buildInputs = [ AlienFFI Test2Suite ];
9489     propagatedBuildInputs = [ CaptureTiny FFICheckLib ];
9490     meta = {
9491       homepage = "https://pl.atypus.org";
9492       description = "Write Perl bindings to non-Perl libraries with FFI. No XS required";
9493       license = with lib.licenses; [ artistic1 gpl1Plus ];
9494       maintainers = with maintainers; [ tomasajt ];
9495     };
9496   };
9498   FFIPlatypusTypePtrObject = buildPerlPackage {
9499     pname = "FFI-Platypus-Type-PtrObject";
9500     version = "0.03";
9501     src = fetchurl {
9502       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-Platypus-Type-PtrObject-0.03.tar.gz";
9503       hash = "sha256-4elJB++QtANgqabAPSlaEwR9T2ybVqyvHfK1TRcwf3Q=";
9504     };
9505     buildInputs = [ Test2Suite Test2ToolsFFI ];
9506     propagatedBuildInputs = [ FFIPlatypus RefUtil ];
9507     meta = {
9508       homepage = "https://metacpan.org/pod/FFI::Platypus::Type::PtrObject";
9509       description = "Platypus custom type for an object wrapped around an opaque pointer";
9510       license = with lib.licenses; [ artistic1 gpl1Plus ];
9511       maintainers = with maintainers; [ tomasajt ];
9512     };
9513   };
9515   FFIPlatypusTypeEnum = buildPerlPackage {
9516     pname = "FFI-Platypus-Type-Enum";
9517     version = "0.06";
9518     src = fetchurl {
9519       url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-Platypus-Type-Enum-0.06.tar.gz";
9520       hash = "sha256-yVSmBPfWkpYk+pQT2NDh2DtL2XfQVifKznPtU6lcd98=";
9521     };
9522     buildInputs = [ FFIPlatypus Test2Suite ];
9523     propagatedBuildInputs = [ RefUtil ];
9524     meta = {
9525       homepage = "https://metacpan.org/pod/FFI::Platypus::Type::Enum";
9526       description = "Custom platypus type for dealing with C enumerated types";
9527       license = with lib.licenses; [ artistic1 gpl1Plus ];
9528       maintainers = with maintainers; [ tomasajt ];
9529     };
9530   };
9532   FennecLite = buildPerlModule {
9533     pname = "Fennec-Lite";
9534     version = "0.004";
9535     src = fetchurl {
9536       url = "mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz";
9537       hash = "sha256-3OKOOTJ2LC/5KqUtkEBcBuiY6By3sWTMrolmrnfx3Ks=";
9538     };
9539     meta = {
9540       description = "Minimalist Fennec, the commonly used bits";
9541       homepage = "http://open-exodus.net/projects/Fennec-Lite";
9542       license = with lib.licenses; [ artistic1 gpl1Plus ];
9543     };
9544   };
9546   FileChangeNotify = buildPerlPackage {
9547     pname = "File-ChangeNotify";
9548     version = "0.31";
9549     src = fetchurl {
9550       url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.31.tar.gz";
9551       hash = "sha256-GSvbHOdiZsamlKjpYtA5463uuCm2rB4j9QV/K1Bjkr0=";
9552     };
9553     buildInputs = [ Test2Suite TestRequires TestWithoutModule ];
9554     propagatedBuildInputs = [ ModulePluggable Moo TypeTiny namespaceautoclean ];
9555     meta = {
9556       description = "Watch for changes to files, cross-platform style";
9557       license = with lib.licenses; [ artistic2 ];
9558     };
9559   };
9561   Filechdir = buildPerlPackage {
9562     pname = "File-chdir";
9563     version = "0.1011";
9564     src = fetchurl {
9565       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1011.tar.gz";
9566       hash = "sha256-Mev5Et9I1daB3vdLmIDXix86ykNRoO0f41cLjgOvbHk=";
9567     };
9568     meta = {
9569       description = "A more sensible way to change directories";
9570       license = with lib.licenses; [ artistic1 gpl1Plus ];
9571     };
9572   };
9574   FileBaseDir = buildPerlPackage {
9575     version = "0.09";
9576     pname = "File-BaseDir";
9577     src = fetchurl {
9578       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-BaseDir-0.09.tar.gz";
9579       hash = "sha256-bab3KBVirI8R7xo69q7bUcQRgrYPHxIs7QB579kpZ9k=";
9580     };
9581     propagatedBuildInputs = [ IPCSystemSimple ];
9582     nativeCheckInputs = [ FileWhich ];
9583     meta = {
9584       description = "Use the Freedesktop.org base directory specification";
9585       license = with lib.licenses; [ artistic1 gpl1Plus ];
9586     };
9587   };
9589   FileBOM = buildPerlModule {
9590     pname = "File-BOM";
9591     version = "0.18";
9592     src = fetchurl {
9593       url = "mirror://cpan/authors/id/M/MA/MATTLAW/File-BOM-0.18.tar.gz";
9594       hash = "sha256-KO3EP8sRjhG8RYya6InVbTiMHZvCmZewCx3/2Fc4I6M=";
9595     };
9596     buildInputs = [ TestException ];
9597     propagatedBuildInputs = [ Readonly ];
9598     meta = {
9599       description = "Utilities for handling Byte Order Marks";
9600       license = with lib.licenses; [ artistic1 gpl1Plus ];
9601     };
9602   };
9604   FileCheckTree = buildPerlPackage {
9605     pname = "File-CheckTree";
9606     version = "4.42";
9607     src = fetchurl {
9608       url = "mirror://cpan/authors/id/R/RJ/RJBS/File-CheckTree-4.42.tar.gz";
9609       hash = "sha256-ZvtBf4/4peW36iVgYVbnDiBIYcWfqMODGSW03T8VX4o=";
9610     };
9611     meta = {
9612       description = "Run many filetest checks on a tree";
9613       homepage = "https://search.cpan.org/dist/File-CheckTree";
9614       license = with lib.licenses; [ artistic1 gpl1Plus ];
9615     };
9616   };
9618   Filechmod = buildPerlPackage {
9619     pname = "File-chmod";
9620     version = "0.42";
9621     src = fetchurl {
9622       url = "mirror://cpan/authors/id/X/XE/XENO/File-chmod-0.42.tar.gz";
9623       hash = "sha256-bK+v/2i8hCFRaLVe3g0ZHctX+aMgG1HWHtsoWKJAd5U=";
9624     };
9625     meta = {
9626       description = "Implements symbolic and ls chmod modes";
9627       homepage = "https://metacpan.org/dist/File-chmod";
9628       license = with lib.licenses; [ artistic1 gpl1Plus ];
9629     };
9630   };
9632   FilechmodRecursive = buildPerlPackage {
9633     pname = "File-chmod-Recursive";
9634     version = "1.0.3";
9635     src = fetchurl {
9636       url = "mirror://cpan/authors/id/M/MI/MITHUN/File-chmod-Recursive-v1.0.3.tar.gz";
9637       hash = "sha256-k0jKXFuI3q3MSDuTme98Lg/CUE+QWNtl88PFPEETmqc=";
9638     };
9639     propagatedBuildInputs = [ Filechmod ];
9640     meta = {
9641       description = "Run chmod recursively against directories";
9642       homepage = "https://github.com/mithun/perl-file-chmod-recursive";
9643       license = with lib.licenses; [ artistic1 gpl1Plus ];
9644     };
9645   };
9647   FileCopyRecursive = buildPerlPackage {
9648     pname = "File-Copy-Recursive";
9649     version = "0.45";
9650     src = fetchurl {
9651       url = "mirror://cpan/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz";
9652       hash = "sha256-05cc94qDReOAQrIIu3s5y2lQgDhq9in0oE/9ZUnfEVc=";
9653     };
9654     buildInputs = [ PathTiny TestDeep TestFatal TestFile TestWarnings ];
9655     meta = {
9656       description = "Perl extension for recursively copying files and directories";
9657       license = with lib.licenses; [ artistic1 gpl1Plus ];
9658     };
9659   };
9661   FileCopyRecursiveReduced = buildPerlPackage {
9662     pname = "File-Copy-Recursive-Reduced";
9663     version = "0.007";
9664     src = fetchurl {
9665       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Copy-Recursive-Reduced-0.007.tar.gz";
9666       hash = "sha256-07WFIuaYA6kUN+KcCZ63Bug3Px7vBRik3DZp3T383Cc=";
9667     };
9668     buildInputs = [ CaptureTiny PathTiny ];
9669     meta = {
9670       description = "Recursive copying of files and directories within Perl 5 toolchain";
9671       homepage = "http://thenceforward.net/perl/modules/File-Copy-Recursive-Reduced";
9672       license = with lib.licenses; [ artistic1 gpl1Plus ];
9673     };
9674   };
9676   FileCountLines = buildPerlPackage {
9677     pname = "File-CountLines";
9678     version = "0.0.3";
9679     src = fetchurl {
9680       url = "mirror://cpan/authors/id/M/MO/MORITZ/File-CountLines-v0.0.3.tar.gz";
9681       hash = "sha256-z9l8znyWE+TladR4dKK1cE8b6eztLwc5yHByVpQ4KmI=";
9682     };
9683     meta = {
9684       description = "Efficiently count the number of line breaks in a file";
9685       license = with lib.licenses; [ artistic1 gpl1Plus ];
9686     };
9687   };
9689   FileDesktopEntry = buildPerlPackage {
9690     version = "0.22";
9691     pname = "File-DesktopEntry";
9692     src = fetchurl {
9693       url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz";
9694       hash = "sha256-FpwB49ri9il2e+wanxzb1uxtcT0VAeCyeG5N0SNWNbg=";
9695     };
9696     propagatedBuildInputs = [ FileBaseDir URI ];
9697     meta = {
9698       description = "Object to handle .desktop files";
9699       license = with lib.licenses; [ artistic1 gpl1Plus ];
9700     };
9701   };
9703   FileDirList = buildPerlPackage {
9704     version = "0.05";
9705     pname = "File-DirList";
9706     src = fetchurl {
9707       url = "mirror://cpan/authors/id/T/TP/TPABA/File-DirList/File-DirList-0.05.tar.gz";
9708       sha256 = "sha256-mTt9dmLlV5hEih7azLmr0oHSvSO+fquZ9Wm44pYtO8M=";
9709     };
9710     preCheck = ''
9711       export HOME="$TMPDIR"
9712     '';
9713     meta = {
9714       description = "Provide a sorted list of directory content";
9715       license = with lib.licenses; [ artistic1 gpl1Plus ];
9716     };
9717   };
9719   FileFindIterator = buildPerlPackage {
9720     pname = "File-Find-Iterator";
9721     version = "0.4";
9722     src = fetchurl {
9723       url = "mirror://cpan/authors/id/T/TE/TEXMEC/File-Find-Iterator-0.4.tar.gz";
9724       hash = "sha256-orh6uXVqLlu2dK29OZN2Y+0gwoxxa/WhCVo8pE1Uqyw=";
9725     };
9726     propagatedBuildInputs = [ ClassIterator ];
9727     meta = {
9728       description = "Iterator interface for search files";
9729       license = with lib.licenses; [ artistic1 gpl1Plus ];
9730     };
9731   };
9733   FileFindObject = buildPerlModule {
9734     pname = "File-Find-Object";
9735     version = "0.3.8";
9736     src = fetchurl {
9737       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-0.3.8.tar.gz";
9738       hash = "sha256-TlJRRt6GTt+8kJsIRGKe7O0AY7YdQYuXLu8D+ES7NRQ=";
9739     };
9740     buildInputs = [ FileTreeCreate TestFile ];
9741     propagatedBuildInputs = [ ClassXSAccessor ];
9742     meta = {
9743       description = "An object oriented File::Find replacement";
9744       homepage = "https://metacpan.org/release/File-Find-Object";
9745       license = with lib.licenses; [ artistic2 ];
9746     };
9747   };
9749   FileFindObjectRule = buildPerlModule {
9750     pname = "File-Find-Object-Rule";
9751     version = "0.0313";
9752     src = fetchurl {
9753       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0313.tar.gz";
9754       hash = "sha256-gZQPKZ1khySPvzDY8ft99sajSz35RApWIbE1yONPz/I=";
9755     };
9756     buildInputs = [ FileTreeCreate ];
9757     propagatedBuildInputs = [ ClassXSAccessor FileFindObject NumberCompare TextGlob ];
9758     # restore t/sample-data which is corrupted by patching shebangs
9759     preCheck = ''
9760       tar xf $src */t/sample-data --strip-components=1
9761     '';
9762     meta = {
9763       description = "Alternative interface to File::Find::Object";
9764       homepage = "https://www.shlomifish.org/open-source/projects/File-Find-Object";
9765       license = with lib.licenses; [ artistic1 gpl1Plus ];
9766       mainProgram = "findorule";
9767     };
9768   };
9770   FileFindRule = buildPerlPackage {
9771     pname = "File-Find-Rule";
9772     version = "0.34";
9773     src = fetchurl {
9774       url = "mirror://cpan/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz";
9775       hash = "sha256-fm8WzDPrHyn/Jb7lHVE/S4qElHu/oY7bLTzECi1kyv4=";
9776     };
9777     propagatedBuildInputs = [ NumberCompare TextGlob ];
9778     meta = {
9779       description = "File::Find::Rule is a friendlier interface to File::Find";
9780       license = with lib.licenses; [ artistic1 gpl1Plus ];
9781       mainProgram = "findrule";
9782     };
9783   };
9785   FileFindRulePerl = buildPerlPackage {
9786     pname = "File-Find-Rule-Perl";
9787     version = "1.16";
9788     src = fetchurl {
9789       url = "mirror://cpan/authors/id/E/ET/ETHER/File-Find-Rule-Perl-1.16.tar.gz";
9790       hash = "sha256-rhiGBQ2cohIjwHPihwq9yA3DDj9VKJoRw32jggqDIf8=";
9791     };
9792     propagatedBuildInputs = [ FileFindRule ParamsUtil ];
9793     meta = {
9794       description = "Common rules for searching for Perl things";
9795       homepage = "https://github.com/karenetheridge/File-Find-Rule-Perl";
9796       license = with lib.licenses; [ artistic1 gpl1Plus ];
9797     };
9798   };
9800   FileFinder = buildPerlPackage {
9801     pname = "File-Finder";
9802     version = "0.53";
9803     src = fetchurl {
9804       url = "mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-0.53.tar.gz";
9805       hash = "sha256-LsvBmsZ6nmNchyqAeo0+qv9bq8BU8VoZHUfN/F8XanQ=";
9806     };
9807     propagatedBuildInputs = [ TextGlob ];
9808     meta = {
9809       description = "Nice wrapper for File::Find ala find(1)";
9810       license = with lib.licenses; [ artistic1 gpl1Plus ];
9811     };
9812   };
9814   FileFnMatch = buildPerlPackage {
9815     pname = "File-FnMatch";
9816     version = "0.02";
9817     src = fetchurl {
9818       url = "mirror://cpan/authors/id/M/MJ/MJP/File-FnMatch-0.02.tar.gz";
9819       hash = "sha256-liRUuOhr6osTK/ivNXV9DGqPXVmQFb1qXWjLeuep6RY=";
9820     };
9821     meta = {
9822       description = "Simple filename and pathname matching";
9823       license = with lib.licenses; [ artistic1 gpl1Plus ];
9824       maintainers = teams.deshaw.members;
9825     };
9826   };
9828   FileFcntlLock = buildPerlPackage {
9829     pname = "File-FcntlLock";
9830     version = "0.22";
9831     src = fetchurl {
9832       url = "mirror://cpan/authors/id/J/JT/JTT/File-FcntlLock-0.22.tar.gz";
9833       hash = "sha256-mpq7Lv/5Orc3QaEo0/cA5SUnNUbBXQTnxRxwSrCdvN8=";
9834     };
9835     meta = {
9836       description = "File locking with fcntl(2)";
9837       license = with lib.licenses; [ artistic1 ];
9838       maintainers = with maintainers; [ das_j ];
9839     };
9840   };
9842   FileGrep = buildPerlPackage {
9843     pname = "File-Grep";
9844     version = "0.02";
9845     src = fetchurl {
9846       url = "mirror://cpan/authors/id/M/MN/MNEYLON/File-Grep-0.02.tar.gz";
9847       hash = "sha256-Ri4VJ062J4UhQH6jAtnupyUs1EyrI4KHH33oM9X4VjI=";
9848     };
9849     meta = {
9850       description = "Find matches to a pattern in a series of files and related functions";
9851       license = with lib.licenses; [ artistic1 gpl1Plus ];
9852       maintainers = teams.deshaw.members;
9853     };
9854   };
9856   FileHandleUnget = buildPerlPackage {
9857     pname = "FileHandle-Unget";
9858     version = "0.1634";
9859     src = fetchurl {
9860       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/FileHandle-Unget-0.1634.tar.gz";
9861       hash = "sha256-OA80rTzl6exmHUxGi7M5IjHBYjF9QXLfN4FGtCqrF4U=";
9862     };
9863     buildInputs = [ FileSlurper TestCompile UNIVERSALrequire URI ];
9864     meta = {
9865       description = "FileHandle which supports multi-byte unget";
9866       homepage = "https://github.com/coppit/filehandle-unget";
9867       license = with lib.licenses; [ gpl2Only ];
9868       maintainers = with maintainers; [ romildo ];
9869     };
9870   };
9872   FileHomeDir = buildPerlPackage {
9873     pname = "File-HomeDir";
9874     version = "1.006";
9875     src = fetchurl {
9876       url = "mirror://cpan/authors/id/R/RE/REHSACK/File-HomeDir-1.006.tar.gz";
9877       hash = "sha256-WTc3xi3w9tq11BIuC0R2QXlFu2Jiwz7twAlmXvFUiFI=";
9878     };
9879     propagatedBuildInputs = [ FileWhich ];
9880     preCheck = "export HOME=$TMPDIR";
9881     doCheck = !stdenv.isDarwin;
9882     meta = {
9883       description = "Find your home and other directories on any platform";
9884       homepage = "https://metacpan.org/release/File-HomeDir";
9885       license = with lib.licenses; [ artistic1 gpl1Plus ];
9886     };
9887   };
9889   FileKeePass = buildPerlPackage {
9890     pname = "File-KeePass";
9891     version = "2.03";
9892     src = fetchurl {
9893       url = "mirror://cpan/authors/id/R/RH/RHANDOM/File-KeePass-2.03.tar.gz";
9894       hash = "sha256-wwxogCelL/T1jNadbY7zVHKnzxBtTOlOtzp5a6fH/6c=";
9895     };
9896     propagatedBuildInputs = [ CryptRijndael ];
9897     meta = {
9898       description = "Interface to KeePass V1 and V2 database files";
9899       license = with lib.licenses; [ gpl2Only gpl3Only ];
9900     };
9901   };
9903   Filelchown = buildPerlModule {
9904     pname = "File-lchown";
9905     version = "0.02";
9906     src = fetchurl {
9907       url = "mirror://cpan/authors/id/P/PE/PEVANS/File-lchown-0.02.tar.gz";
9908       hash = "sha256-oC+/KFQGqKTZOZKE8DLy1VxWl1FUwuFnS9EJg3uAluw=";
9909     };
9910     buildInputs = [ ExtUtilsCChecker ];
9911     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
9912     meta = {
9913       description = "Modify attributes of symlinks without dereferencing them";
9914       license = with lib.licenses; [ artistic1 gpl1Plus ];
9915     };
9916   };
9918   FileLibMagic = buildPerlPackage {
9919     pname = "File-LibMagic";
9920     version = "1.23";
9921     src = fetchurl {
9922       url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-LibMagic-1.23.tar.gz";
9923       hash = "sha256-Uuax3Hyy2HpM30OboUXguejPKMwmpIo8+Zd8g0Y5Z+4=";
9924     };
9925     buildInputs = [ pkgs.file ConfigAutoConf TestFatal ];
9926     makeMakerFlags = [ "--lib=${pkgs.file}/lib" ];
9927     preCheck = ''
9928       substituteInPlace t/oo-api.t \
9929         --replace "/usr/share/file/magic.mgc" "${pkgs.file}/share/misc/magic.mgc"
9930     '';
9931     meta = {
9932       description = "Determine MIME types of data or files using libmagic";
9933       homepage = "https://metacpan.org/release/File::LibMagic";
9934       license = with lib.licenses; [ artistic1 gpl1Plus ];
9935       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.FileLibMagic.x86_64-darwin
9936     };
9937   };
9939   FileListing = buildPerlPackage {
9940     pname = "File-Listing";
9941     version = "6.16";
9942     src = fetchurl {
9943       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Listing-6.16.tar.gz";
9944       hash = "sha256-GJs6E/wKG6QSudnsWQHp5eREzHRrnwFW1DmTcNM2VcY=";
9945     };
9946     propagatedBuildInputs = [ HTTPDate ];
9947     meta = {
9948       description = "Parse directory listing";
9949       license = with lib.licenses; [ artistic1 gpl1Plus ];
9950     };
9951   };
9953   FileLoadLines = buildPerlPackage {
9954     pname = "File-LoadLines";
9955     version = "1.021";
9956     src = fetchurl {
9957       url = "mirror://cpan/authors/id/J/JV/JV/File-LoadLines-1.021.tar.gz";
9958       hash = "sha256-mOQS98aSYRNPNLh4W926sxVrj0UlU9u1tWytaDuG//A=";
9959     };
9960     buildInputs = [ TestException ];
9961     meta = {
9962       description = "Load lines from file";
9963       license = with lib.licenses; [ artistic1 gpl1Plus ];
9964     };
9965   };
9967   FileMimeInfo = buildPerlPackage {
9968     pname = "File-MimeInfo";
9969     version = "0.33";
9970     src = fetchurl {
9971       url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-MimeInfo-0.33.tar.gz";
9972       hash = "sha256-9r6ms4kGITJeycJ5KvruiOlIoK4dEIcvpyxxELPhscQ=";
9973     };
9974     doCheck = false; # Failed test 'desktop file is the right one'
9975     buildInputs = [ FileBaseDir FileDesktopEntry EncodeLocale ];
9976     meta = {
9977       description = "Determine file type from the file name";
9978       license = with lib.licenses; [ artistic1 gpl1Plus ];
9979     };
9980   };
9982   FileMMagic = buildPerlPackage {
9983     pname = "File-MMagic";
9984     version = "1.30";
9985     src = fetchurl {
9986       url = "mirror://cpan/authors/id/K/KN/KNOK/File-MMagic-1.30.tar.gz";
9987       hash = "sha256-zwwbHrKXBcAtl8KRNkgAnAvkLOk+wks2xpa/LU9evX4=";
9988     };
9989     meta = {
9990       description = "Guess file type from contents";
9991       license = with lib.licenses; [ asl20 ];
9992     };
9993   };
9995   FileMap = buildPerlModule {
9996     pname = "File-Map";
9997     version = "0.71";
9998     src = fetchurl {
9999       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Map-0.71.tar.gz";
10000       hash = "sha256-yOJpM4BOhw1KupJiO3iGrIs8dgyY+/zTvcSyMFxGR1k=";
10001     };
10002     perlPreHook = "export LD=$CC";
10003     propagatedBuildInputs = [ PerlIOLayers SubExporterProgressive ];
10004     buildInputs = [ TestFatal TestWarnings ];
10005     meta = {
10006       description = "Memory mapping made simple and safe";
10007       license = with lib.licenses; [ artistic1 gpl1Plus ];
10008     };
10009   };
10011   FileModified = buildPerlPackage {
10012     pname = "File-Modified";
10013     version = "0.10";
10014     src = fetchurl {
10015       url = "mirror://cpan/authors/id/N/NE/NEILB/File-Modified-0.10.tar.gz";
10016       hash = "sha256-a1CxqrbsaZigF/ZAPCc1s7weHPRhh70TTX623z/EUUQ=";
10017     };
10018     meta = {
10019       description = "Checks intelligently if files have changed";
10020       homepage = "https://github.com/neilbowers/File-Modified";
10021       license = with lib.licenses; [ artistic1 gpl1Plus ];
10022     };
10023   };
10025   FileNext = buildPerlPackage {
10026     pname = "File-Next";
10027     version = "1.18";
10028     src = fetchurl {
10029       url = "mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.18.tar.gz";
10030       hash = "sha256-+QDLOVBetuFoqcpRoQtz8bveGRS5I6CezXLZwC5uwu8=";
10031     };
10032     meta = {
10033       description = "File-finding iterator";
10034       license = with lib.licenses; [ artistic2 ];
10035     };
10036   };
10038   FileNFSLock = buildPerlPackage {
10039     pname = "File-NFSLock";
10040     version = "1.29";
10041     src = fetchurl {
10042       url = "mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.29.tar.gz";
10043       hash = "sha256-YdQVmbSBFk7fm4vsq77y0j9iKpcn9sGDZekrV4LU+jc=";
10044     };
10045     meta = {
10046       description = "Perl module to do NFS (or not) locking";
10047       license = with lib.licenses; [ artistic1 gpl1Only ];
10048     };
10049   };
10051   FilePath = buildPerlPackage {
10052     pname = "File-Path";
10053     version = "2.18";
10054     src = fetchurl {
10055       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.18.tar.gz";
10056       hash = "sha256-mA8KF+2zU99G6c17NX+fWSnN4PgMRf16Bs9+DovWrd0=";
10057     };
10058     meta = {
10059       description = "Create or remove directory trees";
10060       license = with lib.licenses; [ artistic1 gpl1Plus ];
10061     };
10062   };
10064   FilePid = buildPerlPackage {
10065     pname = "File-Pid";
10066     version = "1.01";
10067     src = fetchurl {
10068       url = "mirror://cpan/authors/id/C/CW/CWEST/File-Pid-1.01.tar.gz";
10069       hash = "sha256-uv7uj9yW6wYwagxYu9tyCbbeRfhQ51/caxbbV24F5CI=";
10070     };
10071     patches = [(fetchpatch {
10072       name = "missing-pidfile.patch";
10073       url = "https://sources.debian.org/data/main/libf/libfile-pid-perl/1.01-2/debian/patches/missing-pidfile.patch";
10074       hash = "sha256-VBsIYyCnjcZLYQ2Uq2MKPK3kF2wiMKvnq0m727DoavM=";
10075     })];
10076     propagatedBuildInputs = [ ClassAccessor ];
10077     meta = {
10078       description = "Pid File Manipulation";
10079       license = with lib.licenses; [ artistic1 gpl1Plus ];
10080       maintainers = teams.deshaw.members;
10081     };
10082   };
10084   Filepushd = buildPerlPackage {
10085     pname = "File-pushd";
10086     version = "1.016";
10087     src = fetchurl {
10088       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.016.tar.gz";
10089       hash = "sha256-1zp/CUQpg7CYJg3z33qDKl9mB3OjE8onP6i1ZmX5fNw=";
10090     };
10091     meta = {
10092       description = "Change directory temporarily for a limited scope";
10093       homepage = "https://github.com/dagolden/File-pushd";
10094       license = with lib.licenses; [ asl20 ];
10095     };
10096   };
10098   FileReadBackwards = buildPerlPackage {
10099     pname = "File-ReadBackwards";
10100     version = "1.06";
10101     src = fetchurl {
10102       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-ReadBackwards-1.06.tar.gz";
10103       hash = "sha256-MrKgVJOJqviIde8D1+u//y1ZeeyoW3yBL2tLsQ0QL2I=";
10104     };
10105     meta = {
10106       description = "Read a file backwards by lines";
10107       homepage = "https://metacpan.org/pod/File::ReadBackwards";
10108       license = with lib.licenses; [ artistic1 gpl1Plus ];
10109     };
10110   };
10112   FileRemove = buildPerlModule {
10113     pname = "File-Remove";
10114     version = "1.61";
10115     src = fetchurl {
10116       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Remove-1.61.tar.gz";
10117       hash = "sha256-/YV/WFkI/FA0YbnkizyFlOZTV2a8FL6xfJC6WNXcSXU=";
10118     };
10119     meta = {
10120       description = "Remove files and directories";
10121       license = with lib.licenses; [ artistic1 gpl1Plus ];
10122     };
10123   };
10125   FileShare = buildPerlPackage {
10126     pname = "File-Share";
10127     version = "0.27";
10128     src = fetchurl {
10129       url = "mirror://cpan/authors/id/I/IN/INGY/File-Share-0.27.tar.gz";
10130       hash = "sha256-1uj0tV69OOC7ReRDkuP6J9wf3harxdH/U+FX4ZpXVb4=";
10131     };
10132     propagatedBuildInputs = [ FileShareDir Readonly ];
10133     meta = {
10134       description = "Extend File::ShareDir to Local Libraries";
10135       homepage = "https://github.com/ingydotnet/file-share-pm";
10136       license = with lib.licenses; [ artistic1 gpl1Plus ];
10137     };
10138   };
10140   FileShareDir = buildPerlPackage {
10141     pname = "File-ShareDir";
10142     version = "1.118";
10143     src = fetchurl {
10144       url = "mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.118.tar.gz";
10145       hash = "sha256-O7KiC6Nd+VjcCk8jBvwF2QPYuMTePIvu/OF3OdKByVg=";
10146     };
10147     propagatedBuildInputs = [ ClassInspector ];
10148     buildInputs = [ FileShareDirInstall ];
10149     meta = {
10150       description = "Locate per-dist and per-module shared files";
10151       homepage = "https://metacpan.org/release/File-ShareDir";
10152       license = with lib.licenses; [ artistic1 gpl1Plus ];
10153     };
10154   };
10156   FileShareDirDist = buildPerlPackage {
10157     pname = "File-ShareDir-Dist";
10158     version = "0.07";
10159     src = fetchurl {
10160       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-ShareDir-Dist-0.07.tar.gz";
10161       hash = "sha256-jX/l0O4iNR9B75Wtwi29VsMf+iqbLBmEMA6S/36f6G0=";
10162     };
10163     meta = {
10164       homepage = "https://metacpan.org/pod/File::ShareDir::Dist";
10165       description = "Locate per-dist shared files";
10166       license = with lib.licenses; [ artistic1 gpl1Plus ];
10167       maintainers = with maintainers; [ tomasajt ];
10168     };
10169   };
10171   FileShareDirInstall = buildPerlPackage {
10172     pname = "File-ShareDir-Install";
10173     version = "0.14";
10174     src = fetchurl {
10175       url = "mirror://cpan/authors/id/E/ET/ETHER/File-ShareDir-Install-0.14.tar.gz";
10176       hash = "sha256-j5UzsZjy1KmlKIy8fSJPdnmtBaeoVzdFWZeJQovFrqA=";
10177     };
10178     meta = {
10179       description = "Install shared files";
10180       homepage = "https://github.com/Perl-Toolchain-Gang/File-ShareDir-Install";
10181       license = with lib.licenses; [ artistic1 gpl1Plus ];
10182     };
10183   };
10185   FilesysDf = buildPerlPackage {
10186     pname = "Filesys-Df";
10187     version = "0.92";
10188     src = fetchurl {
10189       url = "mirror://cpan/authors/id/I/IG/IGUTHRIE/Filesys-Df-0.92.tar.gz";
10190       hash = "sha256-/onLtCfg4F8c2Xwt1tOGasayG8eoVzTt4Vm9w1R5VSo=";
10191     };
10192     meta = {
10193       description = "Perl extension for filesystem disk space information.";
10194       license = with lib.licenses; [ artistic1 gpl1Plus ];
10195     };
10196   };
10198   FilesysNotifySimple = buildPerlPackage {
10199     pname = "Filesys-Notify-Simple";
10200     version = "0.14";
10201     src = fetchurl {
10202       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.14.tar.gz";
10203       hash = "sha256-H9pxLUul4YaBWe019vjvv66dQ11jdvVgbVM7ywgFVaQ=";
10204     };
10205     buildInputs = [ TestSharedFork ];
10206     meta = {
10207       description = "Simple and dumb file system watcher";
10208       homepage = "https://github.com/miyagawa/Filesys-Notify-Simple";
10209       license = with lib.licenses; [ artistic1 gpl1Plus ];
10210     };
10211   };
10213   FilesysDiskUsage = buildPerlPackage {
10214     pname = "Filesys-DiskUsage";
10215     version = "0.13";
10216     src = fetchurl {
10217       url = "mirror://cpan/authors/id/M/MA/MANWAR/Filesys-DiskUsage-0.13.tar.gz";
10218       hash = "sha256-/T5SxvYkEnGigTSNHUPEQVTC9hoyVD20aqnhVpLRtxM=";
10219     };
10220     buildInputs = [ TestWarn ];
10221     meta = {
10222       description = "Estimate file space usage (similar to `du`)";
10223       license = with lib.licenses; [ artistic1 gpl1Plus ];
10224       mainProgram = "fdu";
10225     };
10226   };
10228   FileSlurp = buildPerlPackage {
10229     pname = "File-Slurp";
10230     version = "9999.32";
10231     src = fetchurl {
10232       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.32.tar.gz";
10233       hash = "sha256-TDwhmSqdQr46ed10o8g9J9OAVyadZVCaL1VeoPsrxbA=";
10234     };
10235     meta = {
10236       description = "Simple and Efficient Reading/Writing/Modifying of Complete Files";
10237       license = with lib.licenses; [ artistic1 gpl1Plus ];
10238     };
10239   };
10241   FileSlurper = buildPerlPackage {
10242     pname = "File-Slurper";
10243     version = "0.014";
10244     src = fetchurl {
10245       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-0.014.tar.gz";
10246       hash = "sha256-1aNkhzOYiMPNdY5kgWDuHXDrQVPKy6/1eEbbzvs0Sww=";
10247     };
10248     buildInputs = [ TestWarnings ];
10249     meta = {
10250       description = "A simple, sane and efficient module to slurp a file";
10251       license = with lib.licenses; [ artistic1 gpl1Plus ];
10252     };
10253   };
10255   FileSlurpTiny = buildPerlPackage {
10256     pname = "File-Slurp-Tiny";
10257     version = "0.004";
10258     src = fetchurl {
10259       url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz";
10260       hash = "sha256-RSmVvuq/DpI+Zf3GJ6cl27EsnhDADYAYwW0QumJ1fx4=";
10261     };
10262     meta = {
10263       description = "A simple, sane and efficient file slurper [DISCOURAGED]";
10264       license = with lib.licenses; [ artistic1 gpl1Plus ];
10265     };
10266   };
10268   FileTail = buildPerlPackage {
10269     pname = "File-Tail";
10270     version = "1.3";
10271     src = fetchurl {
10272       url = "mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-1.3.tar.gz";
10273       hash = "sha256-JtCfgYNuQ+rkACjVKD/lYg/m/mJ4vz6462AMSOw0r8c=";
10274     };
10275     meta = {
10276       description = "Perl extension for reading from continously updated files";
10277       license = with lib.licenses; [ artistic1 gpl1Plus ];
10278       maintainers = teams.deshaw.members;
10279     };
10280   };
10282   FileTouch = buildPerlPackage {
10283     pname = "File-Touch";
10284     version = "0.12";
10285     src = fetchurl {
10286       url = "mirror://cpan/authors/id/N/NE/NEILB/File-Touch-0.12.tar.gz";
10287       hash = "sha256-KgTcQk30jpjFRVbGBFyrAmpJ43N6qUohz0l3YbDy5Zw=";
10288     };
10289     meta = {
10290       description = "Update file access and modification times, optionally creating files if needed";
10291       homepage = "https://github.com/neilb/File-Touch";
10292       license = with lib.licenses; [ artistic1 gpl1Plus ];
10293       maintainers = teams.deshaw.members;
10294     };
10295   };
10297   FileTreeCreate = buildPerlModule {
10298     pname = "File-TreeCreate";
10299     version = "0.0.1";
10300     src = fetchurl {
10301       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-TreeCreate-0.0.1.tar.gz";
10302       hash = "sha256-V2hvEIQ76Br/rRha5BMXkLoMSvNtIQTW+2kSZSgFUmc=";
10303     };
10304     meta = {
10305       homepage = "http://metacpan.org/release/File-TreeCreate";
10306       description = "Recursively create a directory tree";
10307       license = lib.licenses.mit;
10308     };
10309   };
10311   FileType = buildPerlModule {
10312     pname = "File-Type";
10313     version = "0.22";
10314     src = fetchurl {
10315       url = "mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz";
10316       hash = "sha256-01zZX+9X/U39iDH2LDTilNfEuGH8kJ4Ct2Bxc51S00E=";
10317     };
10318     meta = {
10319       description = "Uses magic numbers (typically at the start of a file) to determine the MIME type of that file";
10320       license = with lib.licenses; [ artistic1 gpl1Plus ];
10321     };
10322   };
10324   FileUtil = buildPerlModule {
10325     pname = "File-Util";
10326     version = "4.201720";
10327     src = fetchurl {
10328       url = "mirror://cpan/authors/id/T/TO/TOMMY/File-Util-4.201720.tar.gz";
10329       hash = "sha256-1EkQIYUNXFy9cCx+R0SFgHmEHS+pPxwtCd3Jp4Y2CN8=";
10330     };
10331     buildInputs = [ TestNoWarnings ];
10332     meta = {
10333       description = "Easy, versatile, portable file handling";
10334       homepage = "https://github.com/tommybutler/file-util/wiki";
10335       license = with lib.licenses; [ artistic1 gpl1Plus ];
10336     };
10337   };
10339   FileUtilTempdir = buildPerlPackage {
10340     pname = "File-Util-Tempdir";
10341     version = "0.034";
10342     src = fetchurl {
10343       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/File-Util-Tempdir-0.034.tar.gz";
10344       hash = "sha256-0R3izl5vrT8GFLymR0ykScNa7TUSXVsyJ+ZpvBdv3Bw=";
10345     };
10346     buildInputs = [ Perlosnames TestException ];
10347     meta = {
10348       description = "Cross-platform way to get system-wide & user private temporary directory";
10349       homepage = "https://metacpan.org/release/File-Util-Tempdir";
10350       license = with lib.licenses; [ artistic1 gpl1Plus ];
10351       maintainers = [ maintainers.sgo ];
10352     };
10353   };
10355   FileWhich = buildPerlPackage {
10356     pname = "File-Which";
10357     version = "1.27";
10358     src = fetchurl {
10359       url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Which-1.27.tar.gz";
10360       hash = "sha256-MgHxpg4/FkhAguYEXIloQiYfw0Xen7LmIP0qLHrzqTo=";
10361     };
10362     meta = {
10363       description = "Perl implementation of the which utility as an API";
10364       homepage = "https://metacpan.org/pod/File::Which";
10365       license = with lib.licenses; [ artistic1 gpl1Plus ];
10366     };
10367   };
10369   FileZglob = buildPerlPackage {
10370     pname = "File-Zglob";
10371     version = "0.11";
10372     src = fetchurl {
10373       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-0.11.tar.gz";
10374       hash = "sha256-HLHt3iCsCU7wA3lLr+8sdiQWnPhALHNn2bdGD2wOZps=";
10375     };
10376     meta = {
10377       description = "Extended globs";
10378       license = with lib.licenses; [ artistic1 gpl1Plus ];
10379     };
10380   };
10382   Filter = buildPerlPackage {
10383     pname = "Filter";
10384     version = "1.64";
10385     src = fetchurl {
10386       url = "mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.64.tar.gz";
10387       hash = "sha256-E+f7fh0yZZjjZgEDzxl0vun2kKxbQ7M58sAi8rX87yw=";
10388     };
10389     meta = {
10390       description = "Source Filters";
10391       license = with lib.licenses; [ artistic1 gpl1Plus ];
10392     };
10393   };
10395   FinanceQuote = buildPerlPackage rec {
10396     pname = "Finance-Quote";
10397     version = "1.59";
10398     src = fetchurl {
10399       url = "mirror://cpan/authors/id/B/BP/BPSCHUCK/Finance-Quote-${version}.tar.gz";
10400       hash = "sha256-mukoeazGgv9AFuHsqSScjko4y38wHnKio21fIVfxKSg=";
10401     };
10402     buildInputs = [ DateManip DateRange DateSimple DateTime DateTimeFormatISO8601 StringUtil TestKwalitee TestPerlCritic TestPod TestPodCoverage ];
10403     propagatedBuildInputs = [ DateManip DateTimeFormatStrptime Encode HTMLTableExtract HTMLTokeParserSimple HTMLTree HTMLTreeBuilderXPath HTTPCookies JSON IOCompress IOString LWPProtocolHttps Readonly StringUtil SpreadsheetXLSX TextTemplate TryTiny WebScraper XMLLibXML libwwwperl ];
10404     meta = {
10405       homepage = "https://finance-quote.sourceforge.net/";
10406       changelog = "https://github.com/finance-quote/finance-quote/releases/tag/v${version}";
10407       description = "Get stock and mutual fund quotes from various exchanges";
10408       license = with lib.licenses; [ gpl2Plus ];
10409       maintainers = with lib.maintainers; [ nevivurn ];
10410     };
10411   };
10413   FindLib = buildPerlPackage {
10414     pname = "Find-Lib";
10415     version = "1.04";
10416     src = fetchurl {
10417       url = "mirror://cpan/authors/id/Y/YA/YANNK/Find-Lib-1.04.tar.gz";
10418       hash = "sha256-HXOSHjBh4bBG/kJo4tBf/VpMV2Jmbi5HI/g6rMFG6FE=";
10419     };
10420     meta = {
10421       description = "Helper to smartly find libs to use in the filesystem tree";
10422       license = with lib.licenses; [ artistic1 gpl1Plus ];
10423     };
10424   };
10426   FontAFM = buildPerlPackage {
10427     pname = "Font-AFM";
10428     version = "1.20";
10429     src = fetchurl {
10430       url = "mirror://cpan/authors/id/G/GA/GAAS/Font-AFM-1.20.tar.gz";
10431       hash = "sha256-MmcRZtoyWWoPa6rNDBIzglpgrK8lgF15yBo/GNYIi8E=";
10432     };
10433     meta = {
10434       description = "Interface to Adobe Font Metrics files";
10435       license = with lib.licenses; [ artistic1 gpl1Plus ];
10436     };
10437   };
10439   FontTTF = buildPerlPackage {
10440     pname = "Font-TTF";
10441     version = "1.06";
10442     src = fetchurl {
10443       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz";
10444       hash = "sha256-S2l9REJZdZ6gLSxELJv/5f/hTJIUCEoB90NpOpRMwpM=";
10445     };
10446     buildInputs = [ IOString ];
10447     meta = {
10448       description = "TTF font support for Perl";
10449       license = with lib.licenses; [ artistic2 ];
10450     };
10451   };
10453   ForksSuper = buildPerlPackage {
10454     pname = "Forks-Super";
10455     version = "0.97";
10456     src = fetchurl {
10457       url = "mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.97.tar.gz";
10458       hash = "sha256-M9tDV+Es1vQPKlijq5b+tP/9JedC29SL75B9skLQKk4=";
10459     };
10460     doCheck = false;
10461     propagatedBuildInputs = [ URI ];
10462     meta = {
10463       description = "Extensions and convenience methods to manage background processes";
10464       license = with lib.licenses; [ artistic1 gpl1Plus ];
10465     };
10466   };
10468   FormValidatorSimple = buildPerlPackage {
10469     pname = "FormValidator-Simple";
10470     version = "0.29";
10471     src = fetchurl {
10472       url = "mirror://cpan/authors/id/L/LY/LYOKATO/FormValidator-Simple-0.29.tar.gz";
10473       hash = "sha256-/Dpj3FS5YtdFhgcBdq2vW+hp8JtWG7MPX9Mu9TF5JmY=";
10474     };
10475     propagatedBuildInputs = [ ClassAccessor ClassDataAccessor DateCalc DateTimeFormatStrptime EmailValidLoose ListMoreUtils TieIxHash UNIVERSALrequire YAML ];
10476     buildInputs = [ CGI ];
10477     meta = {
10478       description = "Validation with simple chains of constraints";
10479       license = with lib.licenses; [ artistic1 gpl1Plus ];
10480     };
10481   };
10483   FreezeThaw = buildPerlPackage {
10484     pname = "FreezeThaw";
10485     version = "0.5001";
10486     src = fetchurl {
10487       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz";
10488       hash = "sha256-PF4IMpEG+c7jq0RLgTMcWTX4MIShUdiFBeekZdpUD0E=";
10489     };
10490     doCheck = false;
10491     meta = {
10492       description = "Converting Perl structures to strings and back";
10493       license = with lib.licenses; [ artistic1 gpl1Plus ];
10494     };
10495   };
10497   FunctionParameters = buildPerlPackage {
10498     pname = "Function-Parameters";
10499     version = "2.002004";
10500     src = fetchurl {
10501       url = "mirror://cpan/authors/id/M/MA/MAUKE/Function-Parameters-2.002004.tar.gz";
10502       hash = "sha256-KKvqWODAnOMnmaCMvXr3DaHimXd8KZEZQpygaacYg+g=";
10503     };
10504     buildInputs = [ DirSelf TestFatal ];
10505     meta = {
10506       description = "Define functions and methods with parameter lists (\"subroutine signatures\")";
10507       license = with lib.licenses; [ artistic1 gpl1Plus ];
10508     };
10509   };
10511   Furl = buildPerlModule {
10512     pname = "Furl";
10513     version = "3.14";
10514     src = fetchurl {
10515       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Furl-3.14.tar.gz";
10516       hash = "sha256-Nd29iIDXHxniAkM+F2H9EXc4XmML9QaFvEi2t6y4V7k=";
10517     };
10518     propagatedBuildInputs = [ ClassAccessorLite HTTPParserXS MozillaCA ];
10519     buildInputs = [ HTTPCookieJar HTTPProxy ModuleBuildTiny Plack Starlet TestFakeHTTPD TestRequires TestSharedFork TestTCP TestValgrind URI ];
10520     meta = {
10521       description = "Lightning-fast URL fetcher";
10522       homepage = "https://github.com/tokuhirom/Furl";
10523       license = with lib.licenses; [ artistic1 gpl1Plus ];
10524     };
10525   };
10527   Future = buildPerlModule {
10528     pname = "Future";
10529     version = "0.50";
10530     src = fetchurl {
10531       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.50.tar.gz";
10532       hash = "sha256-wDXj2eaaOvFEszrINN7p5lrTYPKlHbnxWNw0Ls3dX0Q=";
10533     };
10534     buildInputs = [ Test2Suite ];
10535     meta = {
10536       description = "Represent an operation awaiting completion";
10537       license = with lib.licenses; [ artistic1 gpl1Plus ];
10538     };
10539   };
10541   FutureAsyncAwait = buildPerlModule rec {
10542     pname = "Future-AsyncAwait";
10543     version = "0.66";
10544     src = fetchurl {
10545       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-AsyncAwait-0.66.tar.gz";
10546       hash = "sha256-xqD03kYr8yS1usoXddGZ7DJGo1jBPbm2Ssv82+bl7CE=";
10547     };
10548     buildInputs = [ Test2Suite ];
10549     propagatedBuildInputs = [ Future XSParseKeyword XSParseSublike ];
10550     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
10551     meta = {
10552       description = "Deferred subroutine syntax for futures";
10553       license = with lib.licenses; [ artistic1 gpl1Plus ];
10554       maintainers = [ maintainers.zakame ];
10555     };
10556   };
10558   FutureIO = buildPerlModule {
10559     pname = "Future-IO";
10560     version = "0.14";
10561     src = fetchurl {
10562       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-IO-0.14.tar.gz";
10563       hash = "sha256-a1j++vwwlMJwHwp7mMsUCwmItRaKfV3069Hu6OhyBgo=";
10564     };
10565     buildInputs = [ TestFutureIOImpl ];
10566     propagatedBuildInputs = [ Future StructDumb ];
10567     preCheck = "rm t/06connect.t"; # this test fails in sandbox
10568     meta = {
10569       description = "Future-returning IO methods";
10570       license = with lib.licenses; [ artistic1 gpl1Plus ];
10571       maintainers = [ maintainers.zakame ];
10572     };
10573   };
10575   FutureQueue = buildPerlModule {
10576     pname = "Future-Queue";
10577     version = "0.51";
10578     src = fetchurl {
10579       url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-Queue-0.51.tar.gz";
10580       hash = "sha256-HVAcOpot3/x8YPlvpmlp1AyykuCSBM9t7NHCuLUAPNY=";
10581     };
10582     buildInputs = [ Test2Suite ];
10583     propagatedBuildInputs = [ Future ];
10584     meta = {
10585       description = "A FIFO queue of values that uses L<Future>s";
10586       license = with lib.licenses; [ artistic1 gpl1Plus ];
10587     };
10588   };
10590   GamesSolitaireVerify = buildPerlModule {
10591     pname = "Games-Solitaire-Verify";
10592     version = "0.2403";
10593     src = fetchurl {
10594       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.2403.tar.gz";
10595       hash = "sha256-5atHXIK6HLCIrSj0I8pRTUaUTWrjw+tV6WNunn8dyJM=";
10596     };
10597     buildInputs = [ DirManifest TestDifferences ];
10598     propagatedBuildInputs = [ ClassXSAccessor ExceptionClass PathTiny ];
10599     meta = {
10600       description = "Verify solutions for solitaire games";
10601       homepage = "https://metacpan.org/release/Games-Solitaire-Verify";
10602       license = with lib.licenses; [ mit ];
10603       mainProgram = "verify-solitaire-solution";
10604     };
10605   };
10607   GD = buildPerlPackage {
10608     pname = "GD";
10609     version = "2.78";
10610     src = fetchurl {
10611       url = "mirror://cpan/authors/id/R/RU/RURBAN/GD-2.78.tar.gz";
10612       hash = "sha256-aDEFS/VCS09cI9NifT0UhEgPb5wsZmMiIpFfKFG+buQ=";
10613     };
10615     buildInputs = [ pkgs.gd pkgs.libjpeg pkgs.zlib pkgs.freetype pkgs.libpng pkgs.fontconfig pkgs.xorg.libXpm ExtUtilsPkgConfig TestFork TestNoWarnings ];
10617     # otherwise "cc1: error: -Wformat-security ignored without -Wformat [-Werror=format-security]"
10618     hardeningDisable = [ "format" ];
10620     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}" ];
10622     meta = {
10623       description = "Perl interface to the gd2 graphics library";
10624       license = with lib.licenses; [ artistic1 gpl1Plus ];
10625       mainProgram = "bdf2gdfont.pl";
10626     };
10627   };
10629   GDGraph = buildPerlPackage {
10630     pname = "GDGraph";
10631     version = "1.56";
10632     src = fetchurl {
10633       url = "mirror://cpan/authors/id/B/BP/BPS/GDGraph-1.56.tar.gz";
10634       hash = "sha256-b0nMTlkBVIDbnJtrGK/YxQvjCIZoe2lBFRPQbziXERM=";
10635     };
10636     propagatedBuildInputs = [ GDText ];
10637     buildInputs = [ CaptureTiny TestException ];
10638     meta = {
10639       description = "Graph Plotting Module for Perl 5";
10640       license = with lib.licenses; [ artistic1 gpl1Plus ];
10641     };
10642   };
10644   GDSecurityImage = buildPerlPackage {
10645     pname = "GD-SecurityImage";
10646     version = "1.75";
10647     src = fetchurl {
10648       url = "mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.75.tar.gz";
10649       hash = "sha256-Pd4k2ay6lRzd5bVp0eQsrZRs/bUSgORGnzNv1f4MjqY=";
10650     };
10651     propagatedBuildInputs = [ GD ];
10652     meta = {
10653       description = "Security image (captcha) generator";
10654       license = with lib.licenses; [ artistic1 gpl1Plus ];
10655     };
10656   };
10658   GDText = buildPerlPackage {
10659     pname = "GDTextUtil";
10660     version = "0.86";
10661     src = fetchurl {
10662       url = "mirror://cpan/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz";
10663       hash = "sha256-iG7L+Fz+lPQTXuVonEhHqa54PsuZ5nWeEsc08t1hFrw=";
10664     };
10665     propagatedBuildInputs = [ GD ];
10666     meta = {
10667       description = "Text utilities for use with GD";
10668       license = with lib.licenses; [ artistic1 gpl1Plus ];
10669     };
10670   };
10672   GeoIP = buildPerlPackage {
10673     pname = "Geo-IP";
10674     version = "1.51";
10675     src = fetchurl {
10676       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-1.51.tar.gz";
10677       hash = "sha256-FjAgMV1cVEGDaseeCKd7Qo8nf9CQvqT6gNpwd7JDaro=";
10678     };
10679     makeMakerFlags = [ "LIBS=-L${pkgs.geoip}/lib" "INC=-I${pkgs.geoip}/include" ];
10680     doCheck = false; # seems to access the network
10681     meta = {
10682       description = "Look up location and network information by IP Address";
10683       license = with lib.licenses; [ artistic1 gpl1Plus ];
10684     };
10685   };
10687   GeoIP2 = buildPerlPackage {
10688     pname = "GeoIP2";
10689     version = "2.006002";
10690     src = fetchurl {
10691       url = "mirror://cpan/authors/id/M/MA/MAXMIND/GeoIP2-2.006002.tar.gz";
10692       hash = "sha256-CQVCqO7pvTwS5ZxLZWJMidAf/ZQgTx8Hah20CybAmDQ=";
10693     };
10694     propagatedBuildInputs = [ JSONMaybeXS LWPProtocolHttps MaxMindDBReader ParamsValidate Throwable ];
10695     buildInputs = [ PathClass TestFatal TestNumberDelta ];
10696     meta = {
10697       description = "Perl API for MaxMind's GeoIP2 web services and databases";
10698       homepage = "https://metacpan.org/release/GeoIP2";
10699       license = with lib.licenses; [ artistic1 gpl1Plus ];
10700       mainProgram = "web-service-request";
10701     };
10702   };
10704   GetoptArgvFile = buildPerlPackage {
10705     pname = "Getopt-ArgvFile";
10706     version = "1.11";
10707     src = fetchurl {
10708       url = "mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-1.11.tar.gz";
10709       hash = "sha256-NwmqUTzm/XHRpVoC400vCQAX1TUKm9RHAFZTybCDWyI=";
10710     };
10711     meta = {
10712       description = "Interpolates script options from files into @ARGV or another array";
10713       license = with lib.licenses; [ artistic1 ];
10714       maintainers = [ maintainers.pSub ];
10715     };
10716   };
10718   GetoptLong = buildPerlPackage {
10719     pname = "Getopt-Long";
10720     version = "2.54";
10721     src = fetchurl {
10722       url = "mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.54.tar.gz";
10723       hash = "sha256-WEujyZuy1rNBN1IS+bh0YT9wbPsBzuIbiiZ2qYq5hf4=";
10724     };
10725     meta = {
10726       description = "Extended processing of command line options";
10727       license = with lib.licenses; [ artistic1 gpl2Plus ];
10728     };
10729   };
10731   GetoptLongDescriptive = buildPerlPackage {
10732     pname = "Getopt-Long-Descriptive";
10733     version = "0.111";
10734     src = fetchurl {
10735       url = "mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.111.tar.gz";
10736       hash = "sha256-m40V/K8Y/ddAJGtDjw5+uRS4McUdnXCMCZ7Kd2YiB20=";
10737     };
10738     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
10739     propagatedBuildInputs = [ ParamsValidate SubExporter ];
10740     meta = {
10741       description = "Getopt::Long, but simpler and more powerful";
10742       homepage = "https://github.com/rjbs/Getopt-Long-Descriptive";
10743       license = with lib.licenses; [ artistic1 gpl1Plus ];
10744     };
10745   };
10747   GetoptTabular = buildPerlPackage {
10748     pname = "Getopt-Tabular";
10749     version = "0.3";
10750     src = fetchurl {
10751       url = "mirror://cpan/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz";
10752       hash = "sha256-m98GdjO1kTEngg9OgDXtxT0INy+qzla6a/oAyWiiU3c=";
10753     };
10754     meta = {
10755       description = "Table-driven argument parsing for Perl 5";
10756       license = with lib.licenses; [ artistic1 gpl1Plus ];
10757     };
10758   };
10760   Git = buildPerlPackage {
10761     pname = "Git";
10762     version = "0.42";
10763     src = fetchurl {
10764       url = "mirror://cpan/authors/id/M/MS/MSOUTH/Git-0.42.tar.gz";
10765       hash = "sha256-lGmp85jzor8rBQBWbuQdP/b65GBBKhNxhXZ6HMR4Om0=";
10766     };
10767     propagatedBuildInputs = [ Error ];
10768     meta = {
10769       description = "This is the Git.pm, plus the other files in the perl/Git directory, from github's git/git";
10770       license = with lib.licenses; [ gpl2Plus ];
10771       maintainers = teams.deshaw.members;
10772     };
10773   };
10775   GitAutofixup = buildPerlPackage rec {
10776     pname = "App-Git-Autofixup";
10777     version = "0.004001";
10778     src = fetchurl {
10779       url = "mirror://cpan/authors/id/T/TO/TORBIAK/App-Git-Autofixup-0.004001.tar.gz";
10780       hash = "sha256-WroBPI3hOZD1iRoOKjnJcHTQcnvjZTIMLGrxnTbF3aw=";
10781     };
10782     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
10783     postInstall = lib.optionalString stdenv.isDarwin ''
10784       shortenPerlShebang $out/bin/git-autofixup
10785     '';
10786     meta = {
10787       description = "Create fixup commits for topic branches";
10788       license = with lib.licenses; [ artistic2 ];
10789       maintainers = [ maintainers.DamienCassou ];
10790       mainProgram = "git-autofixup";
10791     };
10792   };
10794   GitPurePerl = buildPerlPackage {
10795     pname = "Git-PurePerl";
10796     version = "0.53";
10797     src = fetchurl {
10798       url = "mirror://cpan/authors/id/B/BR/BROQ/Git-PurePerl-0.53.tar.gz";
10799       hash = "sha256-mHx0NmzEw37ghAUPmF+iVDWcicElB/W4v8ZgfeU41ag=";
10800     };
10801     buildInputs = [ Testutf8 ];
10802     propagatedBuildInputs = [ ArchiveExtract ConfigGitLike DataStreamBulk DateTime FileFindRule IODigest MooseXStrictConstructor MooseXTypesPathClass ];
10803     doCheck = false;
10804     meta = {
10805       description = "A Pure Perl interface to Git repositories";
10806       license = with lib.licenses; [ artistic1 gpl1Plus ];
10807     };
10808   };
10810   GitRepository = buildPerlPackage {
10811     pname = "Git-Repository";
10812     version = "1.325";
10813     src = fetchurl {
10814       url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.325.tar.gz";
10815       hash = "sha256-mypPoZT0oOtFI1XQyAhyfl6cFsFFrH0kw+qW0Kvv7UM=";
10816     };
10817     buildInputs = [ TestRequiresGit ];
10818     propagatedBuildInputs = [ GitVersionCompare SystemCommand namespaceclean ];
10819     meta = {
10820       description = "Perl interface to Git repositories";
10821       license = with lib.licenses; [ artistic1 gpl1Plus ];
10822     };
10823   };
10825   GitVersionCompare = buildPerlPackage {
10826     pname = "Git-Version-Compare";
10827     version = "1.005";
10828     src = fetchurl {
10829       url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Version-Compare-1.005.tar.gz";
10830       hash = "sha256-NX/e2eVflesvUWoY9dwbRyCp3u+eLA52vNX+SuubPLs=";
10831     };
10832     buildInputs = [ TestNoWarnings ];
10833     meta = {
10834       description = "Functions to compare Git versions";
10835       license = with lib.licenses; [ artistic1 gpl1Plus ];
10836     };
10837   };
10839   Glib = buildPerlPackage {
10840     pname = "Glib";
10841     version = "1.3294";
10842     src = fetchurl {
10843       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-1.3294.tar.gz";
10844       hash = "sha256-1xX1qGvMGHB13oXnrlvAewcU1u3BlqktpDmG76ROXLs=";
10845     };
10846     buildInputs = [ pkgs.glib ];
10847     propagatedBuildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig ];
10848     meta = {
10849       description = "Perl wrappers for the GLib utility and Object libraries";
10850       homepage = "https://gtk2-perl.sourceforge.net";
10851       license = with lib.licenses; [ lgpl21Only ];
10852     };
10853   };
10855   GlibObjectIntrospection = buildPerlPackage {
10856     pname = "Glib-Object-Introspection";
10857     version = "0.051";
10858     src = fetchurl {
10859       url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.051.tar.gz";
10860       hash = "sha256-ZWlhHcyArBSCx8IiZLGujJw1HUmDUR65psX0ehAVAIk=";
10861     };
10862     nativeCheckInputs = [ pkgs.cairo CairoGObject ];
10863     propagatedBuildInputs = [ pkgs.gobject-introspection Glib ];
10864     preCheck = ''
10865       # Our gobject-introspection patches make the shared library paths absolute
10866       # in the GIR files. When running tests, the library is not yet installed,
10867       # though, so we need to replace the absolute path with a local one during build.
10868       # We are using a symlink that we will delete after the execution of the tests.
10869       mkdir -p $out/lib
10870       ln -s $PWD/build/*.so $out/lib/
10871     '';
10872     postCheck = ''
10873       rm -r $out/lib
10874     '';
10875     doCheck = !stdenv.isDarwin;
10876     meta = {
10877       description = "Dynamically create Perl language bindings";
10878       homepage = "https://gtk2-perl.sourceforge.net";
10879       license = with lib.licenses; [ lgpl21Only ];
10880     };
10881   };
10883   Gnome2 = buildPerlPackage {
10884     pname = "Gnome2";
10885     version = "1.048";
10886     src = fetchurl {
10887       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-1.048.tar.gz";
10888       hash = "sha256-ZPzDgnFKvY1XaSrDdjKMOiDGy8i81zKwB9FMv5ooLd0=";
10889     };
10890     buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gnome2Canvas Gnome2VFS Gtk2 ];
10891     propagatedBuildInputs = [ pkgs.gnome2.libgnomeui ];
10892     meta = {
10893       description = "(DEPRECATED) Perl interface to the 2.x series of the GNOME libraries";
10894       homepage = "https://gtk2-perl.sourceforge.net";
10895       license = with lib.licenses; [ lgpl21Plus ];
10896       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gnome2Canvas.x86_64-darwin
10897     };
10898   };
10900   Gnome2Canvas = buildPerlPackage {
10901     pname = "Gnome2-Canvas";
10902     version = "1.006";
10903     src = fetchurl {
10904       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-Canvas-1.006.tar.gz";
10905       hash = "sha256-aQZnxziSHeLWUWtOtjlVOlceSoMQ2AMfFYZYU23lq0I=";
10906     };
10907     buildInputs = [ pkgs.gnome2.libgnomecanvas ];
10908     propagatedBuildInputs = [ Gtk2 ];
10909     doCheck = !stdenv.isDarwin;
10910     meta = {
10911       description = "(DEPRECATED) A structured graphics canvas";
10912       license = with lib.licenses; [ lgpl2Plus ];
10913     };
10914   };
10916   Gnome2VFS = buildPerlPackage {
10917     pname = "Gnome2-VFS";
10918     version = "1.084";
10919     src = fetchurl {
10920       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-VFS-1.084.tar.gz";
10921       hash = "sha256-PI2Mlca2XCN9ueiJx57bK7gIvzfAhKvfu9mFn+93h8w=";
10922     };
10923     propagatedBuildInputs = [ pkgs.gnome2.gnome_vfs Glib ];
10924     meta = {
10925       description = "(DEPRECATED) Perl interface to the 2.x series of the GNOME VFS";
10926       license = with lib.licenses; [ lgpl21Plus ];
10927     };
10928   };
10930   Gnome2Wnck = buildPerlPackage {
10931     pname = "Gnome2-Wnck";
10932     version = "0.18";
10933     src = fetchurl {
10934       url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-Wnck-0.18.tar.gz";
10935       hash = "sha256-RL7OyLLX9B8ngKc7CSJp/bec1JJluuDI/zkQN8RWSjU=";
10936     };
10937     buildInputs = [ pkgs.libwnck2 pkgs.glib pkgs.gtk2 ];
10938     propagatedBuildInputs = [ Gtk2 ];
10939     meta = {
10940       description = "(DEPRECATED) Perl interface to the Window Navigator";
10941       license = with lib.licenses; [ lgpl21Plus ];
10942     };
10943   };
10945   GnuPG = buildPerlPackage {
10946     pname = "GnuPG";
10947     version = "0.19";
10948     src = fetchurl {
10949       url = "mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz";
10950       hash = "sha256-r1Py0/Yyl+BGZ26uFKdilq/dKRDglyO2sRNwhiK3mJs=";
10951     };
10952     buildInputs = [ pkgs.gnupg1orig ];
10953     doCheck = false;
10954     meta = {
10955       description = "Perl interface to the GNU Privacy Guard";
10956       license = with lib.licenses; [ gpl2Plus ];
10957       mainProgram = "gpgmailtunl";
10958     };
10959   };
10961   GnuPGInterface = buildPerlPackage {
10962     pname = "GnuPG-Interface";
10963     version = "1.03";
10964     src = fetchurl {
10965       url = "mirror://cpan/authors/id/B/BP/BPS/GnuPG-Interface-1.03.tar.gz";
10966       hash = "sha256-WvVmMPD6wpDXJCGD9kSaoOAoKfRhHcYrxunps4CPGHo=";
10967     };
10968     buildInputs = [ pkgs.which pkgs.gnupg1compat ];
10969     propagatedBuildInputs = [ MooXHandlesVia MooXlate ];
10970     doCheck = false;
10971     meta = {
10972       description = "Supply object methods for interacting with GnuPG";
10973       license = with lib.licenses; [ artistic1 gpl1Plus ];
10974     };
10975   };
10977   GoferTransporthttp = buildPerlPackage {
10978     pname = "GoferTransport-http";
10979     version = "1.017";
10980     src = fetchurl {
10981       url = "mirror://cpan/authors/id/T/TI/TIMB/GoferTransport-http-1.017.tar.gz";
10982       hash = "sha256-9z7/4+p6+hkHzol3yHOHq7DUQE+FpySuJjeymnMVSps=";
10983     };
10984     propagatedBuildInputs = [ DBI LWP mod_perl2 ];
10985     doCheck = false; # no make target 'test'
10986     meta = {
10987       description = "HTTP transport for DBI stateless proxy driver DBD::Gofer";
10988       license = with lib.licenses; [ artistic1 gpl1Plus ];
10989     };
10990   };
10992   GooCanvas = buildPerlPackage {
10993     pname = "Goo-Canvas";
10994     version = "0.06";
10995     src = fetchurl {
10996       url = "mirror://cpan/authors/id/Y/YE/YEWENBIN/Goo-Canvas-0.06.tar.gz";
10997       hash = "sha256-DFiMUH7tXmLRLtHMHkkcb/Oh9ZxPs9Q14UIUs3qzklE=";
10998     };
10999     propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 ];
11000     meta = {
11001       description = "Perl interface to the GooCanvas";
11002       license = with lib.licenses; [ artistic1 gpl1Plus ];
11003     };
11004   };
11006   GooCanvas2 = buildPerlPackage {
11007     pname = "GooCanvas2";
11008     version = "0.06";
11009     src = fetchurl {
11010       url = "mirror://cpan/authors/id/P/PE/PERLMAX/GooCanvas2-0.06.tar.gz";
11011       hash = "sha256-4kyHhz4ZBj3U1eLHCcqs+MCuiIEEQ5W7hl3CtP3WO1A=";
11012     };
11013     buildInputs = [ pkgs.gtk3 ];
11014     propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
11015     meta = {
11016       description = "Perl binding for GooCanvas2 widget using Glib::Object::Introspection";
11017       license = with lib.licenses; [ artistic1 gpl1Plus ];
11018     };
11019   };
11021   GooCanvas2CairoTypes = buildPerlPackage rec {
11022     pname = "GooCanvas2-CairoTypes";
11023     version = "0.001";
11024     src = fetchurl {
11025       url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/GooCanvas2-CairoTypes-${version}.tar.gz";
11026       hash = "sha256-uoBnNuvMnePYFBp2Omgr3quxy4cCveKZrf1XSs6HUFI=";
11027     };
11028     propagatedBuildInputs = [ pkgs.goocanvas2 Gtk3 ];
11029     meta = {
11030       description = "Bridge between GooCanvas2 and Cairo types";
11031       license = with lib.licenses; [ artistic1 gpl1Plus ];
11032     };
11033   };
11035   GoogleProtocolBuffers = buildPerlPackage {
11036     pname = "Google-ProtocolBuffers";
11037     version = "0.12";
11038     src = fetchurl {
11039       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/Google-ProtocolBuffers-0.12.tar.gz";
11040       hash = "sha256-s4RJxguaJxLd5IFIXMerA7KgrBw/1ICzhT5BEawpTXE=";
11041     };
11042     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
11043     patches =
11044       [ ../development/perl-modules/Google-ProtocolBuffers-multiline-comments.patch ];
11045     meta = {
11046       description = "Simple interface to Google Protocol Buffers";
11047       homepage = "https://github.com/csirtgadgets/google-protocolbuffers-perl";
11048       license = with lib.licenses; [ artistic1 gpl1Plus ];
11049       mainProgram = "protoc-perl";
11050     };
11051   };
11053   gotofile = buildPerlPackage {
11054     pname = "goto-file";
11055     version = "0.005";
11056     src = fetchurl {
11057       url = "mirror://cpan/authors/id/E/EX/EXODIST/goto-file-0.005.tar.gz";
11058       hash = "sha256-xs3V7kps3L2/MU2SpPmYXbzfnkJYBIyudhJcBSqjH3c=";
11059     };
11060     buildInputs = [ Test2Suite ];
11061     meta = {
11062       description = "Stop parsing the current file and move on to a different one";
11063       license = with lib.licenses; [ artistic1 gpl1Plus ];
11064     };
11065   };
11067   Graph = buildPerlPackage {
11068     pname = "Graph";
11069     version = "0.9727";
11070     src = fetchurl {
11071       url = "mirror://cpan/authors/id/E/ET/ETJ/Graph-0.9727.tar.gz";
11072       hash = "sha256-OSqJFtyVExq+jJE9/Kx2mEhL9IZrQq9fcEPABi50Iik=";
11073     };
11074     propagatedBuildInputs = [ HeapFibonacci SetObject ];
11075     meta = {
11076       description = "GRaph data structures and algorithms";
11077       license = with lib.licenses; [ artistic1 gpl1Plus ];
11078     };
11079   };
11081   GraphicsColor = buildPerlPackage {
11082     pname = "Graphics-Color";
11083     version = "0.31";
11084     src = fetchurl {
11085       url = "mirror://cpan/authors/id/G/GP/GPHAT/Graphics-Color-0.31.tar.gz";
11086       hash = "sha256-+qj+1bLYDlFgr5duXbIkLAs1VVQs4QQldf9raUWHoz0=";
11087     };
11088     buildInputs = [ TestNumberDelta ModulePluggable ];
11089     propagatedBuildInputs = [ ColorLibrary Moose MooseXAliases MooseXClone MooseXStorage MooseXTypes ];
11090     meta = {
11091       description = "Device and library agnostic color spaces";
11092       homepage = "https://github.com/gphat/graphics-color";
11093       license = with lib.licenses; [ artistic1 gpl1Plus ];
11094     };
11095   };
11097   GraphicsTIFF = buildPerlPackage {
11098     pname = "Graphics-TIFF";
11099     version = "20";
11100     src = fetchurl {
11101       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Graphics-TIFF-20.tar.gz";
11102       hash = "sha256-PlXMIJRl4GQBmiFaUvBf9RBAKX0CA5P+n7PeJ60CDjU=";
11103     };
11104     buildInputs = [ pkgs.libtiff ExtUtilsDepends ExtUtilsPkgConfig ];
11105     propagatedBuildInputs = [ Readonly ];
11106     nativeCheckInputs = [ TestRequires TestDeep pkgs.hexdump ];
11107     meta = {
11108       description = "Perl extension for the libtiff library";
11109       license = with lib.licenses; [ artistic1 gpl1Plus ];
11110     };
11111   };
11113   GraphicsToolkitColor = buildPerlPackage {
11114     pname = "Graphics-Toolkit-Color";
11115     version = "1.71";
11116     src = fetchurl {
11117       url = "mirror://cpan/authors/id/L/LI/LICHTKIND/Graphics-Toolkit-Color-1.71.tar.gz";
11118       hash = "sha256-NOiLb2hY9H2ZYQHxWC8esA23+G4Snl8dYb9/m922LvI=";
11119     };
11120     buildInputs = [ TestWarn ];
11121     meta = {
11122       description = "Color palette constructor";
11123       license = with lib.licenses; [ artistic1 gpl1Plus ];
11124     };
11125   };
11127   GraphViz = buildPerlPackage {
11128     pname = "GraphViz";
11129     version = "2.26";
11130     src = fetchurl {
11131       url = "mirror://cpan/authors/id/E/ET/ETJ/GraphViz-2.26.tar.gz";
11132       hash = "sha256-ml0lILMmK/MEdSct12SkRfjn+TG++Ivg49O/9EXacyg=";
11133     };
11135     # XXX: It'd be nicer it `GraphViz.pm' could record the path to graphviz.
11136     buildInputs = [ pkgs.graphviz TestPod ];
11137     propagatedBuildInputs = [ FileWhich IPCRun ParseRecDescent XMLTwig XMLXPath ];
11139     meta = {
11140       description = "Perl interface to the GraphViz graphing tool";
11141       license = with lib.licenses; [ artistic2 ];
11142     };
11143   };
11145   GraphViz2 = buildPerlPackage {
11146     pname = "GraphViz2";
11147     version = "2.67";
11148     src = fetchurl {
11149       url = "mirror://cpan/authors/id/E/ET/ETJ/GraphViz2-2.67.tar.gz";
11150       hash = "sha256-h8hcbt/86k+W5rSAD2+VEq6rGeuNOzSDAachMxvLhYA=";
11151     };
11153     # XXX: It'd be nicer if `GraphViz.pm' could record the path to graphviz.
11154     buildInputs = [ pkgs.graphviz TestPod Moo IPCRun3 TypeTiny TestSnapshot Graph ];
11155     propagatedBuildInputs = [ FileWhich IPCRun ParseRecDescent XMLTwig XMLXPath DataSectionSimple ];
11157     # needed for fontconfig tests
11158     HOME = "/build";
11159     FONTCONFIG_PATH = "${lib.getOutput "out" pkgs.fontconfig}/etc/fonts";
11161     meta = {
11162       description = "Perl interface to the GraphViz graphing tool";
11163       license = with lib.licenses; [ artistic2 ];
11164     };
11165   };
11167   grepmail = buildPerlPackage {
11168     pname = "grepmail";
11169     version = "5.3111";
11170     src = fetchurl {
11171       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/grepmail-5.3111.tar.gz";
11172       hash = "sha256-0JhOP3ob4XrgFFdfcMFngVGlvMliIYXcWgUstjJxp2E=";
11173     };
11174     buildInputs = [ FileHomeDir FileSlurper TestCompile UNIVERSALrequire URI ];
11175     propagatedBuildInputs = [ MailMboxMessageParser TimeDate ];
11176     outputs = [ "out" ];
11177     meta = {
11178       description = "Search mailboxes for mail matching a regular expression";
11179       homepage = "https://github.com/coppit/grepmail";
11180       license = with lib.licenses; [ gpl2Only ];
11181       maintainers = with maintainers; [ romildo ];
11182     };
11183   };
11185   GrowlGNTP = buildPerlModule {
11186     pname = "Growl-GNTP";
11187     version = "0.21";
11188     src = fetchurl {
11189       url = "mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-0.21.tar.gz";
11190       hash = "sha256-KHl/jkJ0BnIFhMr9EOeAp47CtWnFVaGHQ9dFU9X1CD8=";
11191     };
11192     buildInputs = [ ModuleBuildTiny ];
11193     propagatedBuildInputs = [ CryptCBC DataUUID ];
11194     meta = {
11195       description = "Perl implementation of GNTP Protocol (Client Part)";
11196       license = with lib.licenses; [ artistic1 gpl1Plus ];
11197     };
11198   };
11200   GSSAPI = buildPerlPackage {
11201     pname = "GSSAPI";
11202     version = "0.28";
11203     src = fetchurl {
11204       url = "mirror://cpan/authors/id/A/AG/AGROLMS/GSSAPI-0.28.tar.gz";
11205       hash = "sha256-fY8se2F2L7TsctLsKBKQ8vh/nH0pgnPaRSVDKmXncNY=";
11206     };
11207     propagatedBuildInputs = [ pkgs.krb5.dev ];
11208     makeMakerFlags = [ "--gssapiimpl" "${pkgs.krb5.dev}" ];
11209     meta = {
11210       description = "Perl extension providing access to the GSSAPIv2 library";
11211       license = with lib.licenses; [ artistic1 gpl1Plus ];
11212       maintainers = teams.deshaw.members;
11213     };
11214   };
11216   Gtk2 = buildPerlPackage {
11217     pname = "Gtk2";
11218     version = "1.24993";
11219     src = fetchurl {
11220       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24993.tar.gz";
11221       hash = "sha256-ScRDdDsu7+EadoACck9/akxI78lP8806VZ+357aTyWc=";
11222     };
11223     patches = [
11224       # Fix incompatible function pointer conversion (assigning `GdkNativeWindow` to `guint32`).
11225       ../development/perl-modules/Gtk2-fix-incompatible-pointer-conversion.patch
11226     ];
11227     buildInputs = [ pkgs.gtk2 ];
11228     # https://rt.cpan.org/Public/Bug/Display.html?id=130742
11229     # doCheck = !stdenv.isDarwin;
11230     doCheck = false;
11231     propagatedBuildInputs = [ Pango ];
11232     meta = {
11233       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
11234       homepage = "https://gtk2-perl.sourceforge.net";
11235       license = with lib.licenses; [ lgpl21Plus ];
11236     };
11237   };
11239   Gtk2TrayIcon = buildPerlPackage {
11240     pname = "Gtk2-TrayIcon";
11241     version = "0.07";
11242     src = fetchurl {
11243       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-TrayIcon-0.07.tar.gz";
11244       hash = "sha256-OfwrmabmE9qeqXfYy1MD+l4H5poVJIk03hIXqXuWRVQ=";
11245     };
11246     propagatedBuildInputs = [ pkgs.gtk2 Gtk2 ];
11247     meta = {
11248       description = "(DEPRECATED) Perl interface to the EggTrayIcon library";
11249       license = with lib.licenses; [ gpl2Plus ];
11250       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2TrayIcon.x86_64-darwin
11251     };
11252   };
11254   Gtk2AppIndicator = buildPerlPackage {
11255     pname = "Gtk2-AppIndicator";
11256     version = "0.15";
11257     src = fetchurl {
11258       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Gtk2-AppIndicator-0.15.tar.gz";
11259       hash = "sha256-olywceIU+4m0RQqkYFAx6uibeWHhSbDW6PSRwZwUqQo=";
11260     };
11261     propagatedBuildInputs = [ pkgs.libappindicator-gtk2 pkgs.libdbusmenu-gtk2 pkgs.gtk2 pkgs.pkg-config Gtk2 ];
11262     # Tests fail due to no display:
11263     #   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.
11264     doCheck = false;
11265     meta = {
11266       description = "Perl extension for libappindicator";
11267       license = with lib.licenses; [ artistic1 ];
11268     };
11269   };
11271   Gtk2ImageView = buildPerlPackage {
11272     pname = "Gtk2-ImageView";
11273     version = "0.05";
11274     src = fetchurl {
11275       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk2-ImageView-0.05.tar.gz";
11276       hash = "sha256-CHGGw2k6zxlkUc9ZzIt/XPmnsFq+INMty8uggilT+4A=";
11277     };
11278     buildInputs = [ pkgs.gtkimageview pkgs.gtk2 ];
11279     propagatedBuildInputs = [ Gtk2 ];
11280     # Tests fail due to no display server:
11281     #   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.
11282     #   t/animview.t ...........
11283     doCheck = false;
11284     meta = {
11285       description = "Perl bindings for the GtkImageView widget";
11286       license = with lib.licenses; [ lgpl3Plus ];
11287     };
11288   };
11290   Gtk2Unique = buildPerlPackage {
11291     pname = "Gtk2-Unique";
11292     version = "0.07";
11293     src = fetchurl {
11294       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-Unique-0.07.tar.gz";
11295       hash = "sha256-nOX2ikFgC8z31u/eMMBwqxFOk57XqKx8O3rZE5mJGGc=";
11296     };
11297     propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 ];
11298     meta = {
11299       description = "(DEPRECATED) Use single instance applications";
11300       license = with lib.licenses; [ artistic1 gpl1Plus ];
11301       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Gtk2Unique.x86_64-darwin
11302     };
11303   };
11305   Gtk3 = buildPerlPackage rec {
11306     pname = "Gtk3";
11307     version = "0.038";
11308     src = fetchurl {
11309       url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk3-${version}.tar.gz";
11310       hash = "sha256-cNxL8qp0mBx54V/SmNmY4FqS66SBHxrVyfH03jdzesw=";
11311     };
11312     propagatedBuildInputs = [ pkgs.gtk3 CairoGObject GlibObjectIntrospection ];
11313     preCheck = lib.optionalString stdenv.isDarwin ''
11314       # Currently failing on macOS
11315       rm t/overrides.t
11316       rm t/signals.t
11317       rm t/zz-GdkEvent.t
11318       rm t/zz-GtkContainer.t
11319       rm t/zz-GtkDialog.t
11320     '';
11321     meta = {
11322       description = "Perl interface to the 3.x series of the gtk+ toolkit";
11323       license = with lib.licenses; [ lgpl21Plus ];
11324     };
11325   };
11327   Gtk3ImageView = buildPerlPackage rec {
11328     pname = "Gtk3-ImageView";
11329     version = "10";
11330     src = fetchurl {
11331       url = "mirror://cpan/authors/id/A/AS/ASOKOLOV/Gtk3-ImageView-${version}.tar.gz";
11332       hash = "sha256-vHfnBgaeZPK7hBgZcP1KjepG+IvsDE3XwrH9U4xoN+Y=";
11333     };
11334     buildInputs = [ pkgs.gtk3 ];
11335     propagatedBuildInputs = [ Readonly Gtk3 ];
11336     nativeCheckInputs = [ TestDifferences TestDeep ImageMagick TryTiny TestMockObject CarpAlways pkgs.librsvg ];
11337     checkPhase = ''
11338       ${pkgs.xvfb-run}/bin/xvfb-run -s '-screen 0 800x600x24' \
11339         make test
11340     '';
11341     meta = {
11342       description = "Image viewer widget for Gtk3";
11343       homepage = "https://github.com/carygravel/gtk3-imageview";
11344       license = with lib.licenses; [ artistic1 gpl1Plus ];
11345     };
11346   };
11348   Gtk3SimpleList = buildPerlPackage {
11349     pname = "Gtk3-SimpleList";
11350     version = "0.21";
11351     src = fetchurl {
11352       url = "mirror://cpan/authors/id/T/TV/TVIGNAUD/Gtk3-SimpleList-0.21.tar.gz";
11353       hash = "sha256-HURlEAvzvAR0opRppAb9AzVituNzYYgSEAA3KrKtqIQ=";
11354     };
11355     propagatedBuildInputs = [ Gtk3 ];
11356     meta = {
11357       description = "A simple interface to Gtk3's complex MVC list widget";
11358       homepage = "https://github.com/soig/Gtk3-SimpleList";
11359       license = with lib.licenses; [ lgpl21Plus ];
11360     };
11361   };
11363   Guard = buildPerlPackage {
11364     pname = "Guard";
11365     version = "1.023";
11366     src = fetchurl {
11367       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.023.tar.gz";
11368       hash = "sha256-NMTd+R/JPRCQ2G2hTfcG0XWxYQxnNywB4SzpVV1N0dw=";
11369     };
11370     meta = {
11371       description = "Safe cleanup blocks";
11372       license = with lib.licenses; [ artistic1 gpl1Plus ];
11373     };
11374   };
11376   HamAPRSFAP = buildPerlPackage {
11377     pname = "Ham-APRS-FAP";
11378     version = "1.21";
11379     src = fetchurl {
11380       url = "mirror://cpan/authors/id/H/HE/HESSU/Ham-APRS-FAP-1.21.tar.gz";
11381       hash = "sha256-4BtFXUb0RxDbzyG2+oQ/CTWM5g7uHEFBvHTgogTToCA=";
11382     };
11383     propagatedBuildInputs = [ DateCalc ];
11384     meta = {
11385       description = "Finnish APRS Parser (Fabulous APRS Parser)";
11386       maintainers = with maintainers; [ andrew-d ];
11387       license = with lib.licenses; [ artistic1 gpl1Plus ];
11388     };
11389   };
11391   Hailo = buildPerlPackage {
11392     pname = "Hailo";
11393     version = "0.75";
11394     src = fetchurl {
11395       url = "mirror://cpan/authors/id/A/AV/AVAR/Hailo-0.75.tar.gz";
11396       hash = "sha256-u6mcsM+j7oYy3YmQbG5voF/muzZ/IoLoiQnO/Y+RdMI=";
11397     };
11398     buildInputs = [ BotTrainingMegaHAL BotTrainingStarCraft DataSection FileSlurp PodSection TestException TestExpect TestOutput TestScript TestScriptRun ];
11399     propagatedBuildInputs = [ ClassLoad DBDSQLite DataDump DirSelf FileCountLines GetoptLongDescriptive IOInteractive IPCSystemSimple ListMoreUtils Moose MooseXGetopt MooseXStrictConstructor MooseXTypes RegexpCommon TermSk namespaceclean ];
11400     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
11401     patches = [
11402       ../development/perl-modules/Hailo-fix-test-gld.patch
11403     ];
11404     postPatch = ''
11405       patchShebangs bin
11406     '';
11407     postInstall = lib.optionalString stdenv.isDarwin ''
11408       shortenPerlShebang $out/bin/hailo
11409     '';
11410     meta = {
11411       description = "A pluggable Markov engine analogous to MegaHAL";
11412       homepage = "https://hailo.org";
11413       license = with lib.licenses; [ artistic1 gpl1Plus ];
11414       mainProgram = "hailo";
11415     };
11416   };
11418   HashDiff = buildPerlPackage {
11419     pname = "Hash-Diff";
11420     version = "0.010";
11421     src = fetchurl {
11422       url = "mirror://cpan/authors/id/B/BO/BOLAV/Hash-Diff-0.010.tar.gz";
11423       hash = "sha256-vJpKo47JjwqYKJ41q/mhfC8qMjmiIJoymADglwqi4MU=";
11424     };
11425     propagatedBuildInputs = [ HashMerge ];
11426     buildInputs = [ TestSimple13 ];
11428     meta = {
11429       description = "Return difference between two hashes as a hash";
11430       homepage = "https://github.com/bolav/hash-diff";
11431       license = with lib.licenses; [ artistic1 gpl1Plus ];
11432     };
11433   };
11435   ham = callPackage ../development/perl-modules/ham { };
11437   HashFlatten = buildPerlPackage {
11438     pname = "Hash-Flatten";
11439     version = "1.19";
11440     src = fetchurl {
11441       url = "mirror://cpan/authors/id/B/BB/BBC/Hash-Flatten-1.19.tar.gz";
11442       hash = "sha256-cMbEnYtsRgdGQXpQmO3SoP0x/YuGxUv4SS6FPB9OS5g=";
11443     };
11444     buildInputs = [ TestAssertions ];
11445     propagatedBuildInputs = [ LogTrace ];
11446     meta = {
11447       description = "Flatten/unflatten complex data hashes";
11448       license = with lib.licenses; [ gpl2Only ];
11449     };
11450   };
11452   HashMerge = buildPerlPackage {
11453     pname = "Hash-Merge";
11454     version = "0.302";
11455     src = fetchurl {
11456       url = "mirror://cpan/authors/id/H/HE/HERMES/Hash-Merge-0.302.tar.gz";
11457       hash = "sha256-rgUi92U5YIth3eFGcOeWd+DzkQNoMvcKIfMa3eJThkQ=";
11458     };
11459     propagatedBuildInputs = [ CloneChoose ];
11460     buildInputs = [ Clone ClonePP ];
11461     meta = {
11462       description = "Merges arbitrarily deep hashes into a single hash";
11463       homepage = "https://metacpan.org/release/Hash-Merge";
11464       license = with lib.licenses; [ artistic1 gpl1Plus ];
11465     };
11466   };
11468   HashMergeSimple = buildPerlPackage {
11469     pname = "Hash-Merge-Simple";
11470     version = "0.051";
11471     src = fetchurl {
11472       url = "mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz";
11473       hash = "sha256-HFYyeHPS8E1XInd/BEhj2WiRBGaZd0DVWnVAccYoe3M=";
11474     };
11475     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
11476     propagatedBuildInputs = [ Clone ];
11477     meta = {
11478       description = "Recursively merge two or more hashes, simply";
11479       license = with lib.licenses; [ artistic1 gpl1Plus ];
11480     };
11481   };
11483   HashMoreUtils = buildPerlPackage {
11484     pname = "Hash-MoreUtils";
11485     version = "0.06";
11486     src = fetchurl {
11487       url = "mirror://cpan/authors/id/R/RE/REHSACK/Hash-MoreUtils-0.06.tar.gz";
11488       hash = "sha256-25qPuGfVB1PDgIiaXlQHVlG14IybO3IctyIMCINUfeg=";
11489     };
11490     meta = {
11491       description = "Provide the stuff missing in Hash::Util";
11492       homepage = "https://metacpan.org/release/Hash-MoreUtils";
11493       license = with lib.licenses; [ artistic1 gpl1Plus ];
11494     };
11495   };
11497   HashMultiValue = buildPerlPackage {
11498     pname = "Hash-MultiValue";
11499     version = "0.16";
11500     src = fetchurl {
11501       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz";
11502       hash = "sha256-Zhgd96po4nhvr2iVyIsYuVyACo5Ob7TAf9F2QQo8c/Q=";
11503     };
11504     meta = {
11505       description = "Store multiple values per key";
11506       homepage = "https://github.com/miyagawa/Hash-MultiValue";
11507       license = with lib.licenses; [ artistic1 gpl1Plus ];
11508     };
11509   };
11511   HashOrdered = buildPerlPackage {
11512     pname = "Hash-Ordered";
11513     version = "0.014";
11514     src = fetchurl {
11515       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Hash-Ordered-0.014.tar.gz";
11516       hash = "sha256-jcNs15FVrjerij3l/ZEg/7qaMeQJJYwoUp7FJRxZdHs=";
11517     };
11518     buildInputs = [ TestDeep TestFailWarnings TestFatal ];
11519     meta = {
11520       homepage = "https://github.com/dagolden/Hash-Ordered";
11521       description = "A fast, pure-Perl ordered hash class";
11522       license = lib.licenses.asl20;
11523     };
11524   };
11526   HashSafeKeys = buildPerlPackage {
11527     pname = "Hash-SafeKeys";
11528     version = "0.04";
11529     src = fetchurl {
11530       url = "mirror://cpan/authors/id/M/MO/MOB/Hash-SafeKeys-0.04.tar.gz";
11531       hash = "sha256-pSStO/naZ3wfi+bhWXG3ZXVAj3RJI9onZHro8dPDfMw=";
11532     };
11533     meta = {
11534       description = "Get hash contents without resetting each iterator";
11535       license = with lib.licenses; [ artistic1 gpl1Plus ];
11536     };
11537   };
11539   HashSharedMem = buildPerlModule {
11540     pname = "Hash-SharedMem";
11541     version = "0.005";
11542     src = fetchurl {
11543       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Hash-SharedMem-0.005.tar.gz";
11544       hash = "sha256-Mkd2gIYC973EStqpN4lTZUVAKakm+mEfMhyb9rlAu14=";
11545     };
11546     env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-mno-outline-atomics";
11547     buildInputs = [ ScalarString ];
11548     meta = {
11549       description = "Efficient shared mutable hash";
11550       license = with lib.licenses; [ artistic1 gpl1Plus ];
11551       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HashSharedMem.x86_64-darwin
11552     };
11553   };
11555   HashStoredIterator = buildPerlModule {
11556     pname = "Hash-StoredIterator";
11557     version = "0.008";
11558     src = fetchurl {
11559       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Hash-StoredIterator-0.008.tar.gz";
11560       hash = "sha256-ucvE3NgjPo0dfxSB3beaSl+dtxgMs+8CtLy+4F5l6gw=";
11561     };
11562     buildInputs = [ Test2Suite ];
11563     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
11564     meta = {
11565       description = "Functions for accessing a hashes internal iterator";
11566       license = with lib.licenses; [ artistic1 gpl1Plus ];
11567     };
11568   };
11570   HashUtilFieldHashCompat = buildPerlPackage {
11571     pname = "Hash-Util-FieldHash-Compat";
11572     version = "0.11";
11573     src = fetchurl {
11574       url = "mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz";
11575       hash = "sha256-ZC5Gp1tTe6EUILMPiwNAPJCgahVFjNgAnzOf6eXzdBs=";
11576     };
11577     meta = {
11578       description = "Use Hash::Util::FieldHash or ties, depending on availability";
11579       license = with lib.licenses; [ artistic1 gpl1Plus ];
11580     };
11581   };
11583   HeapFibonacci = buildPerlPackage {
11584     pname = "Heap";
11585     version = "0.80";
11586     src = fetchurl {
11587       url = "mirror://cpan/authors/id/J/JM/JMM/Heap-0.80.tar.gz";
11588       hash = "sha256-zNop88kxdq0P3/9N1vXkrJCzcMuksCg4a3NDv2QTm94=";
11589     };
11590     meta = {
11591       description = "Perl extensions for keeping data partially sorted";
11592       license = with lib.licenses; [ artistic1 gpl1Plus ];
11593     };
11594   };
11596   HookLexWrap = buildPerlPackage {
11597     pname = "Hook-LexWrap";
11598     version = "0.26";
11599     src = fetchurl {
11600       url = "mirror://cpan/authors/id/E/ET/ETHER/Hook-LexWrap-0.26.tar.gz";
11601       hash = "sha256-tgvcX5j5T5KUsGre+CsdmW2hktXxg/n0NLYQ/RE37C0=";
11602     };
11603     buildInputs = [ pkgs.unzip ];
11604     meta = {
11605       description = "Lexically scoped subroutine wrappers";
11606       homepage = "https://github.com/karenetheridge/Hook-LexWrap";
11607       license = with lib.licenses; [ artistic1 gpl1Plus ];
11608     };
11609   };
11611   HTMLClean = buildPerlPackage {
11612     pname = "HTML-Clean";
11613     version = "1.4";
11614     src = fetchurl {
11615       url = "mirror://cpan/authors/id/A/AZ/AZJADFTRE/HTML-Clean-1.4.tar.gz";
11616       hash = "sha256-pn1KvadR/DxrSjUYU3eoi8pbZRxgszN5gEtOkKF4hwY=";
11617     };
11618     meta = {
11619       description = "Cleans up HTML code for web browsers, not humans";
11620       license = with lib.licenses; [ artistic1 gpl1Plus ];
11621       mainProgram = "htmlclean";
11622     };
11623   };
11625   HTMLElementExtended = buildPerlPackage {
11626     pname = "HTML-Element-Extended";
11627     version = "1.18";
11628     src = fetchurl {
11629       url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz";
11630       hash = "sha256-8+8a8Qjyf+8V6+xmR58lHOCKpJvQCwRiycgMhrS2sys=";
11631     };
11632     propagatedBuildInputs = [ HTMLTree ];
11633     meta = {
11634       description = "Perl extension for HTML::Element(3)";
11635       license = with lib.licenses; [ artistic1 gpl1Plus ];
11636     };
11637   };
11639   HTMLEscape = buildPerlModule {
11640     pname = "HTML-Escape";
11641     version = "1.11";
11642     src = fetchurl {
11643       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTML-Escape-1.11.tar.gz";
11644       hash = "sha256-Wl7viWUA0epsJKkIXs++mkOr7mjPxmwD+InSostoml0=";
11645     };
11646     buildInputs = [ ModuleBuildPluggablePPPort TestRequires ];
11647     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
11648     meta = {
11649       description = "Extremely fast HTML escaping";
11650       homepage = "https://github.com/tokuhirom/HTML-Escape";
11651       license = with lib.licenses; [ artistic1 gpl1Plus ];
11652       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HTMLEscape.x86_64-darwin
11653     };
11654   };
11656   HTMLFromANSI = buildPerlPackage {
11657     pname = "HTML-FromANSI";
11658     version = "2.03";
11659     src = fetchurl {
11660       url = "mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz";
11661       hash = "sha256-IXdjRe1wGywEx7CTgK+UP5mEzH+ZYkCHrqRdtfwJw1k=";
11662     };
11663     propagatedBuildInputs = [ HTMLParser TermVT102Boundless ];
11664     meta = {
11665       description = "Mark up ANSI sequences as HTML";
11666       license = with lib.licenses; [ artistic1 gpl1Plus ];
11667       mainProgram = "ansi2html";
11668     };
11669   };
11671   HTMLForm = buildPerlPackage {
11672     pname = "HTML-Form";
11673     version = "6.11";
11674     src = fetchurl {
11675       url = "mirror://cpan/authors/id/S/SI/SIMBABQUE/HTML-Form-6.11.tar.gz";
11676       hash = "sha256-Q7+qcIc5NIfS1RJhoap/b4Gpex2P73pI/PbvMrFtZFQ=";
11677     };
11678     buildInputs = [ TestWarnings ];
11679     propagatedBuildInputs = [ HTMLParser URI ];
11680     meta = {
11681       description = "Class that represents an HTML form element";
11682       homepage = "https://github.com/libwww-perl/HTML-Form";
11683       license = with lib.licenses; [ artistic1 gpl1Plus ];
11684     };
11685   };
11687   HTMLFormatter = buildPerlPackage {
11688     pname = "HTML-Formatter";
11689     version = "2.16";
11690     src = fetchurl {
11691       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.16.tar.gz";
11692       hash = "sha256-ywoN2Kpei6nKIUzkUb9N8zqgnBPpB+jTCC3a/rMBUcw=";
11693     };
11694     buildInputs = [ FileSlurper TestWarnings ];
11695     propagatedBuildInputs = [ FontAFM HTMLTree ];
11696     meta = {
11697       description = "Base class for HTML formatters";
11698       homepage = "https://metacpan.org/release/HTML-Formatter";
11699       license = with lib.licenses; [ artistic1 gpl1Plus ];
11700     };
11701   };
11703   HTMLFormatExternal = buildPerlPackage {
11704     pname = "HTML-FormatExternal";
11705     version = "26";
11706     src = fetchurl {
11707       url = "mirror://cpan/authors/id/K/KR/KRYDE/HTML-FormatExternal-26.tar.gz";
11708       hash = "sha256-PFnyM9CxBoaoWu0MmUARzsaGJtoBKN6pC1xP3BdGz8M=";
11709     };
11710     propagatedBuildInputs = [ IPCRun URI constant-defer ];
11711     meta = {
11712       description = "HTML to text formatting using external programs";
11713       homepage = "https://user42.tuxfamily.org/html-formatexternal/index.html";
11714       license = with lib.licenses; [ gpl3Plus ];
11715     };
11716   };
11718   HTMLFormatTextWithLinks = buildPerlModule {
11719     pname = "HTML-FormatText-WithLinks";
11720     version = "0.15";
11721     src = fetchurl {
11722       url = "mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz";
11723       hash = "sha256-f8wat561j7l9Q+W90U4heRolCiBJmJGMYtahcRMYM7E=";
11724     };
11725     propagatedBuildInputs = [ HTMLFormatter ];
11726     meta = {
11727       description = "HTML to text conversion with links as footnotes";
11728       license = with lib.licenses; [ artistic1 gpl1Plus ];
11729     };
11730   };
11732   HTMLFormatTextWithLinksAndTables = buildPerlPackage {
11733     pname = "HTML-FormatText-WithLinks-AndTables";
11734     version = "0.07";
11735     src = fetchurl {
11736       url = "mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.07.tar.gz";
11737       hash = "sha256-gJ7i8RcFcGszxUMStce+5nSDjyvqrtr4y5RecCquObY=";
11738     };
11739     propagatedBuildInputs = [ HTMLFormatTextWithLinks ];
11740     meta = {
11741       description = "Converts HTML to Text with tables intact";
11742       license = with lib.licenses; [ artistic1 gpl1Plus ];
11743     };
11744   };
11746   HTMLFormFu = buildPerlPackage {
11747     pname = "HTML-FormFu";
11748     version = "2.07";
11749     src = fetchurl {
11750       url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-FormFu-2.07.tar.gz";
11751       hash = "sha256-Ty8Bf3qHVPu26RIGyI7RPHVqFOO+oXgYjDuXdGNm6zI=";
11752     };
11753     buildInputs = [ CGI FileShareDirInstall RegexpAssemble TestException TestMemoryCycle TestRequiresInternet ];
11754     propagatedBuildInputs = [ ConfigAny DataVisitor DateTimeFormatBuilder DateTimeFormatNatural EmailValid HTMLScrubber HTMLTokeParserSimple HashFlatten JSONMaybeXS MooseXAliases MooseXAttributeChained NumberFormat PathClass Readonly RegexpCommon TaskWeaken YAMLLibYAML ];
11755     meta = {
11756       description = "HTML Form Creation, Rendering and Validation Framework";
11757       homepage = "https://github.com/FormFu/HTML-FormFu";
11758       license = with lib.licenses; [ artistic1 gpl1Plus ];
11759     };
11760   };
11762   HTMLFormFuMultiForm = buildPerlPackage {
11763     pname = "HTML-FormFu-MultiForm";
11764     version = "1.03";
11765     src = fetchurl {
11766       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-FormFu-MultiForm-1.03.tar.gz";
11767       hash = "sha256-NvAM12u4luTaCd0rsOXYkGZ/cMePVCUa9NJYyCFJFZ8=";
11768     };
11769     propagatedBuildInputs = [ CryptCBC CryptDES HTMLFormFu ];
11770     meta = {
11771       description = "Handle multi-page/stage forms with FormFu";
11772       homepage = "https://github.com/FormFu/HTML-FormFu-MultiForm";
11773       license = with lib.licenses; [ artistic1 gpl1Plus ];
11774     };
11775   };
11777   HTMLFormHandler = buildPerlPackage {
11778     pname = "HTML-FormHandler";
11779     version = "0.40068";
11780     src = fetchurl {
11781       url = "mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz";
11782       hash = "sha256-63t43aMSV1LMi8wDltOXf70o2jPS1ExQQq1tNdbN6Cc=";
11783     };
11784     # a single test is failing on perl 5.20
11785     doCheck = false;
11786     buildInputs = [ FileShareDirInstall PadWalker TestDifferences TestException TestMemoryCycle TestWarn ];
11787     propagatedBuildInputs = [ CryptBlowfish CryptCBC DataClone DateTimeFormatStrptime EmailValid HTMLTree JSONMaybeXS MooseXGetopt MooseXTypesCommon MooseXTypesLoadableClass aliased ];
11788     meta = {
11789       description = "HTML forms using Moose";
11790       license = with lib.licenses; [ artistic1 gpl1Plus ];
11791     };
11792   };
11794   HTMLGumbo = buildPerlModule {
11795     pname = "HTML-Gumbo";
11796     version = "0.18";
11797     src = fetchurl {
11798       url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Gumbo-0.18.tar.gz";
11799       hash = "sha256-v1C2HCRlbMP8lYYC2AqcfQFyR6842Nv6Dp3sW3VCXV8=";
11800     };
11801     propagatedBuildInputs = [ AlienLibGumbo ];
11802     meta = {
11803       description = "HTML5 parser based on gumbo C library";
11804       license = with lib.licenses; [ artistic1 gpl1Plus ];
11805     };
11806   };
11808   HTMLMason = buildPerlPackage {
11809     pname = "HTML-Mason";
11810     version = "1.60";
11811     src = fetchurl {
11812       url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.60.tar.gz";
11813       hash = "sha256-qgu9WmtjxiyJVfjFXsCF43DXktZSZrbDtcXweIu8d+Y=";
11814     };
11815     buildInputs = [ TestDeep ];
11816     propagatedBuildInputs = [ CGI CacheCache ClassContainer ExceptionClass LogAny ];
11817     meta = {
11818       description = "High-performance, dynamic web site authoring system";
11819       homepage = "https://metacpan.org/release/HTML-Mason";
11820       license = with lib.licenses; [ artistic1 gpl1Plus ];
11821     };
11822   };
11824   HTMLMasonPSGIHandler = buildPerlPackage {
11825     pname = "HTML-Mason-PSGIHandler";
11826     version = "0.53";
11827     src = fetchurl {
11828       url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Mason-PSGIHandler-0.53.tar.gz";
11829       hash = "sha256-6v18dlXfqCYd80RrkxooPTAwaHe4OsRnHEnP906n8As=";
11830     };
11831     buildInputs = [ Plack ];
11832     propagatedBuildInputs = [ CGIPSGI HTMLMason ];
11833     meta = {
11834       description = "PSGI handler for HTML::Mason";
11835       homepage = "https://search.cpan.org/dist/HTML-Mason-PSGIHandler";
11836       license = with lib.licenses; [ artistic1 gpl1Plus ];
11837     };
11838   };
11840   HTMLParser = buildPerlPackage {
11841     pname = "HTML-Parser";
11842     version = "3.81";
11843     src = fetchurl {
11844       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTML-Parser-3.81.tar.gz";
11845       hash = "sha256-wJEKXI+S+IF+3QbM/SJLocLr6MEPVR8DJYeh/IPWL/I=";
11846     };
11847     propagatedBuildInputs = [ HTMLTagset HTTPMessage ];
11848     meta = {
11849       description = "HTML parser class";
11850       homepage = "https://github.com/libwww-perl/HTML-Parser";
11851       license = with lib.licenses; [ artistic1 gpl1Plus ];
11852     };
11853   };
11855   HTMLTagCloud = buildPerlModule {
11856     pname = "HTML-TagCloud";
11857     version = "0.38";
11858     src = fetchurl {
11859       url = "mirror://cpan/authors/id/R/RO/ROBERTSD/HTML-TagCloud-0.38.tar.gz";
11860       hash = "sha256-SYCZRy3vhmtEi/YvQYLfrfWUcuE/JMuGZKZxynm2cBU=";
11861     };
11862     meta = {
11863       description = "Generate An HTML Tag Cloud";
11864       license = with lib.licenses; [ artistic1 gpl1Plus ];
11865     };
11866   };
11868   HTMLQuoted = buildPerlPackage {
11869     pname = "HTML-Quoted";
11870     version = "0.04";
11871     src = fetchurl {
11872       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-Quoted-0.04.tar.gz";
11873       hash = "sha256-i0HzE/3BgS8C9vbDfVjyEshP3PeCf3/UsDCQfzncZQw=";
11874     };
11875     propagatedBuildInputs = [ HTMLParser ];
11876     meta = {
11877       description = "Extract structure of quoted HTML mail message";
11878       license = with lib.licenses; [ artistic1 gpl1Plus ];
11879     };
11880   };
11882   HTMLRewriteAttributes = buildPerlPackage {
11883     pname = "HTML-RewriteAttributes";
11884     version = "0.05";
11885     src = fetchurl {
11886       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz";
11887       hash = "sha256-GAjsfN9A0nCFdf5hVaiPEDsX/sd5c6WDHC8kwlDnpYw=";
11888     };
11889     propagatedBuildInputs = [ HTMLParser ];
11890     meta = {
11891       description = "Concise attribute rewriting";
11892       license = with lib.licenses; [ artistic1 gpl1Plus ];
11893     };
11894   };
11896   HTMLSelectorXPath = buildPerlPackage {
11897     pname = "HTML-Selector-XPath";
11898     version = "0.28";
11899     src = fetchurl {
11900       url = "mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.28.tar.gz";
11901       hash = "sha256-QycX8D7Szz1kETDP09ShU/Ca1PhW2gB4E3kv4LLljQ8=";
11902     };
11903     buildInputs = [ TestBase ];
11904     meta = {
11905       description = "CSS Selector to XPath compiler";
11906       license = with lib.licenses; [ artistic1 gpl1Plus ];
11907     };
11908   };
11910   HTMLScrubber = buildPerlPackage {
11911     pname = "HTML-Scrubber";
11912     version = "0.19";
11913     src = fetchurl {
11914       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.19.tar.gz";
11915       hash = "sha256-rihVePhWX5FUxj5CNHBLV7aDX3ei+C/+ckiZ1FMmK7E=";
11916     };
11917     propagatedBuildInputs = [ HTMLParser ];
11918     buildInputs = [ TestDifferences TestMemoryCycle ];
11919     meta = {
11920       description = "Perl extension for scrubbing/sanitizing HTML";
11921       license = with lib.licenses; [ artistic1 gpl1Plus ];
11922     };
11923   };
11925   HTMLStripScripts = buildPerlPackage {
11926     pname = "HTML-StripScripts";
11927     version = "1.06";
11928     src = fetchurl {
11929       url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-1.06.tar.gz";
11930       hash = "sha256-Iiv7fsH9+kZeMto9xKvtLtxzZLvhno48UTx9WFsBCa0=";
11931     };
11932     meta = {
11933       description = "Strip scripting constructs out of HTML";
11934       license = with lib.licenses; [ artistic1 gpl1Plus ];
11935     };
11936   };
11938   HTMLStripScriptsParser = buildPerlPackage {
11939     pname = "HTML-StripScripts-Parser";
11940     version = "1.03";
11941     src = fetchurl {
11942       url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-Parser-1.03.tar.gz";
11943       hash = "sha256-R4waTkbrd/p7zpa6KIFo8LmMJ/JQ4A3GMSNlCBrtNAc=";
11944     };
11945     propagatedBuildInputs = [ HTMLParser HTMLStripScripts ];
11946     meta = {
11947       description = "XSS filter using HTML::Parser";
11948       license = with lib.licenses; [ artistic1 gpl1Plus ];
11949     };
11950   };
11952   HTMLTableExtract = buildPerlPackage {
11953     pname = "HTML-TableExtract";
11954     version = "2.15";
11955     src = fetchurl {
11956       url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.15.tar.gz";
11957       hash = "sha256-hsWcnVjaPKF02l5i9aD7AvTaArGx4B355dFLtl5MPs8=";
11958     };
11959     preCheck = ''
11960       # https://rt.cpan.org/Public/Bug/Display.html?id=121920
11961       rm t/30_tree.t
11962     '';
11963     propagatedBuildInputs = [ HTMLElementExtended ];
11964     meta = {
11965       description = "Perl module for extracting the content contained in tables within an HTML document, either as text or encoded element trees";
11966       license = with lib.licenses; [ artistic1 gpl1Plus ];
11967     };
11968   };
11970   HTMLTagset = buildPerlPackage {
11971     pname = "HTML-Tagset";
11972     version = "3.20";
11973     src = fetchurl {
11974       url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz";
11975       hash = "sha256-rbF9rJ42zQEfUkOIHJc5QX/RAvznYPjeTpvkxxMRCOI=";
11976     };
11977     meta = {
11978       description = "Data tables useful in parsing HTML";
11979       license = with lib.licenses; [ artistic1 gpl1Plus ];
11980     };
11981   };
11983   HTMLTemplate = buildPerlPackage {
11984     pname = "HTML-Template";
11985     version = "2.97";
11986     src = fetchurl {
11987       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/HTML-Template-2.97.tar.gz";
11988       hash = "sha256-ZUevYfOqhXk/hhYZCTjWd9eZX7O3IMFiWAQLyTXiEp8=";
11989     };
11990     propagatedBuildInputs = [ CGI ];
11991     buildInputs = [ TestPod ];
11992     meta = {
11993       description = "Perl module to use HTML-like templating language";
11994       license = with lib.licenses; [ artistic1 gpl1Plus ];
11995     };
11996   };
11998   HTMLTidy = buildPerlPackage {
11999     pname = "HTML-Tidy";
12000     version = "1.60";
12001     src = fetchurl {
12002       url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tidy-1.60.tar.gz";
12003       hash = "sha256-vPv2XWh/jmcs9gyYIbzWXV6McqeCcrZ7sKwcaZoT18c=";
12004     };
12006     patchPhase = ''
12007       sed -i "s#/usr/include/tidyp#${pkgs.tidyp}/include/tidyp#" Makefile.PL
12008       sed -i "s#/usr/lib#${pkgs.tidyp}/lib#" Makefile.PL
12009     '';
12010     buildInputs = [ TestException ];
12011     meta = {
12012       description = "(X)HTML validation in a Perl object";
12013       homepage = "https://github.com/petdance/html-tidy";
12014       license = with lib.licenses; [ artistic2 ];
12015       mainProgram = "webtidy";
12016     };
12017   };
12019   HTMLTiny = buildPerlPackage {
12020     pname = "HTML-Tiny";
12021     version = "1.08";
12022     src = fetchurl {
12023       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/HTML-Tiny-1.08.tar.gz";
12024       hash = "sha256-DwHfDJ/ICz2dooi6q/jApTdHRE964euWAOevxKPc/rU=";
12025     };
12026     meta = {
12027       description = "Lightweight, dependency free HTML/XML generation";
12028       license = with lib.licenses; [ artistic1 gpl1Plus ];
12029     };
12030   };
12032   HTMLTokeParserSimple = buildPerlModule {
12033     pname = "HTML-TokeParser-Simple";
12034     version = "3.16";
12035     src = fetchurl {
12036       url = "mirror://cpan/authors/id/O/OV/OVID/HTML-TokeParser-Simple-3.16.tar.gz";
12037       hash = "sha256-7RETXGg55uDq+WlS5qw1Oi8i67QKchZZZx5dLcwOSp0=";
12038     };
12039     propagatedBuildInputs = [ HTMLParser SubOverride ];
12040     meta = {
12041       description = "Easy to use HTML::TokeParser interface";
12042       license = with lib.licenses; [ artistic1 gpl1Plus ];
12043     };
12044   };
12046   HTMLTree = buildPerlModule {
12047     pname = "HTML-Tree";
12048     version = "5.07";
12049     src = fetchurl {
12050       url = "mirror://cpan/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz";
12051       hash = "sha256-8DdNuEcxwgS4bB1bkJdf7w0wqGvZ3vkZND5VTjGp278=";
12052     };
12053     buildInputs = [ TestFatal ];
12054     propagatedBuildInputs = [ HTMLParser ];
12055     meta = {
12056       description = "Work with HTML in a DOM-like tree structure";
12057       license = with lib.licenses; [ artistic1 gpl1Plus ];
12058       mainProgram = "htmltree";
12059     };
12060   };
12062   HTMLTreeBuilderXPath = buildPerlPackage {
12063     pname = "HTML-TreeBuilder-XPath";
12064     version = "0.14";
12065     src = fetchurl {
12066       url = "mirror://cpan/authors/id/M/MI/MIROD/HTML-TreeBuilder-XPath-0.14.tar.gz";
12067       hash = "sha256-Jeu9skRKClma5eekV9deCe/N8yZqXFcAsUA8y3SIpPM=";
12068     };
12069     propagatedBuildInputs = [ HTMLTree XMLXPathEngine ];
12070     meta = {
12071       description = "Add XPath support to HTML::TreeBuilder";
12072       license = with lib.licenses; [ artistic1 gpl1Plus ];
12073     };
12074   };
12076   HTMLWidget = buildPerlPackage {
12077     pname = "HTML-Widget";
12078     version = "1.11";
12079     src = fetchurl {
12080       url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz";
12081       hash = "sha256-vkLfQFWSXOalob818eB60SvEP2VJ91JJAuozMFoOggs=";
12082     };
12083     doCheck = false;
12084     propagatedBuildInputs = [ ClassAccessorChained ClassDataAccessor DateCalc EmailValid HTMLScrubber HTMLTree ModulePluggableFast ];
12085     buildInputs = [ TestNoWarnings ];
12086     meta = {
12087       description = "HTML Widget And Validation Framework";
12088       license = with lib.licenses; [ artistic1 gpl1Plus ];
12089     };
12090   };
12092   HTTPAcceptLanguage = buildPerlModule {
12093     pname = "HTTP-AcceptLanguage";
12094     version = "0.02";
12095     src = fetchurl {
12096       url = "mirror://cpan/authors/id/Y/YA/YAPPO/HTTP-AcceptLanguage-0.02.tar.gz";
12097       hash = "sha256-LmBfVk7J66tlVI/17sk/nF3qvv7XBzpyneCuKE5OQq8=";
12098     };
12099     buildInputs = [ ModuleBuildTiny ];
12100     meta = {
12101       description = "Accept-Language header parser and find available language";
12102       homepage = "https://github.com/yappo/p5-HTTP-AcceptLanguage";
12103       license = with lib.licenses; [ artistic1 gpl1Plus ];
12104     };
12105   };
12107   HTTPBody = buildPerlPackage {
12108     pname = "HTTP-Body";
12109     version = "1.23";
12110     src = fetchurl {
12111       url = "mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.23.tar.gz";
12112       hash = "sha256-7OmB9BYWNaL7piFdAlcZXlOMTyNDhFMFAd/bahvY1jY=";
12113     };
12114     buildInputs = [ TestDeep ];
12115     propagatedBuildInputs = [ HTTPMessage ];
12116     meta = {
12117       description = "HTTP Body Parser";
12118       license = with lib.licenses; [ artistic1 gpl1Plus ];
12119     };
12120   };
12122   HTTPCookieJar = buildPerlPackage {
12123     pname = "HTTP-CookieJar";
12124     version = "0.014";
12125     src = fetchurl {
12126       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.014.tar.gz";
12127       hash = "sha256-cJTqXJH1NtJjuF6Dq06alj4RxECM4I7K5VP6nAzEfnM=";
12128     };
12129     propagatedBuildInputs = [ HTTPDate ];
12130     buildInputs = [ TestDeep TestRequires URI ];
12131     # Broken on Hydra since 2021-06-17: https://hydra.nixos.org/build/146507373
12132     doCheck = false;
12133     meta = {
12134       description = "A minimalist HTTP user agent cookie jar";
12135       homepage = "https://github.com/dagolden/HTTP-CookieJar";
12136       license = with lib.licenses; [ asl20 ];
12137     };
12138   };
12140   HTTPCookies = buildPerlPackage {
12141     pname = "HTTP-Cookies";
12142     version = "6.10";
12143     src = fetchurl {
12144       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.10.tar.gz";
12145       hash = "sha256-4282Yzxc5rXkuHb/z3R4fMXv4HNt1/SHvdc8FPC9cAc=";
12146     };
12147     propagatedBuildInputs = [ HTTPMessage ];
12148     meta = {
12149       description = "HTTP cookie jars";
12150       homepage = "https://github.com/libwww-perl/HTTP-Cookies";
12151       license = with lib.licenses; [ artistic1 gpl1Plus ];
12152     };
12153   };
12155   HTTPDaemon = buildPerlPackage {
12156     pname = "HTTP-Daemon";
12157     version = "6.16";
12158     src = fetchurl {
12159       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Daemon-6.16.tar.gz";
12160       hash = "sha256-s40JJyXm+k4MTcKkfhVwcEkbr6Db4Wx4o1joBqp+Fz0=";
12161     };
12162     buildInputs = [ ModuleBuildTiny TestNeeds ];
12163     propagatedBuildInputs = [ HTTPMessage ];
12164     meta = {
12165       description = "A simple http server class";
12166       homepage = "https://github.com/libwww-perl/HTTP-Daemon";
12167       license = with lib.licenses; [ artistic1 gpl1Plus ];
12168     };
12169   };
12171   HTTPDate = buildPerlPackage {
12172     pname = "HTTP-Date";
12173     version = "6.06";
12174     src = fetchurl {
12175       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.06.tar.gz";
12176       hash = "sha256-e2hRkcasw+dz0fwCyV7h+frpT3d4MXX154wYHMktK1I=";
12177     };
12178     propagatedBuildInputs = [ TimeDate ];
12179     meta = {
12180       description = "Date conversion routines";
12181       homepage = "https://github.com/libwww-perl/HTTP-Date";
12182       license = with lib.licenses; [ artistic1 gpl1Plus ];
12183     };
12184   };
12186   HTTPEntityParser = buildPerlModule {
12187     pname = "HTTP-Entity-Parser";
12188     version = "0.25";
12189     src = fetchurl {
12190       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.25.tar.gz";
12191       hash = "sha256-OozQ2Muj0XzYwE7oLXNB36okfb3ZSknrlLU/aeSD7Do=";
12192     };
12193     propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
12194     buildInputs = [ HTTPMessage ModuleBuildTiny ];
12195     meta = {
12196       description = "PSGI compliant HTTP Entity Parser";
12197       homepage = "https://github.com/kazeburo/HTTP-Entity-Parser";
12198       license = with lib.licenses; [ artistic1 gpl1Plus ];
12199     };
12200   };
12202   HTTPDAV = buildPerlPackage {
12203     pname = "HTTP-DAV";
12204     version = "0.49";
12205     src = fetchurl {
12206       url = "mirror://cpan/authors/id/C/CO/COSIMO/HTTP-DAV-0.49.tar.gz";
12207       hash = "sha256-MzOd+ewQbeN9hgnP0NPAg8z7sGwWxlG1s4UaVtF6lXw=";
12208     };
12209     propagatedBuildInputs = [ XMLDOM ];
12210     meta = {
12211       description = "WebDAV client library";
12212       license = with lib.licenses; [ artistic1 gpl1Plus ];
12213       mainProgram = "dave";
12214     };
12215   };
12217   HTTPHeadersActionPack = buildPerlPackage {
12218     pname = "HTTP-Headers-ActionPack";
12219     version = "0.09";
12220     src = fetchurl {
12221       url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTTP-Headers-ActionPack-0.09.tar.gz";
12222       hash = "sha256-x4ERq4V+SMaYJJA9S2zoKT/v/GtdZw21UKdn+FOsx9o=";
12223     };
12224     buildInputs = [ TestFatal TestWarnings ];
12225     propagatedBuildInputs = [ HTTPDate HTTPMessage ModuleRuntime SubExporter URI ];
12226     meta = {
12227       description = "HTTP Action, Adventure and Excitement";
12228       license = with lib.licenses; [ artistic1 gpl1Plus ];
12229     };
12230   };
12232   HTTPHeaderParserXS = buildPerlPackage {
12233     pname = "HTTP-HeaderParser-XS";
12234     version = "0.20";
12235     src = fetchurl {
12236       url = "mirror://cpan/authors/id/M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz";
12237       hash = "sha256-qeAP/7PYmRoUqq/dxh1tFoxP8U4xSuPbstTaMAjXRu8=";
12238     };
12239     meta = {
12240       description = "An XS extension for processing HTTP headers";
12241       license = with lib.licenses; [ artistic1 gpl1Plus ];
12242       broken =
12243         stdenv.isi686 # loadable library and perl binaries are mismatched (got handshake key 0x7d40080, needed 0x7dc0080)
12244         || stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.HTTPHeaderParserXS.x86_64-darwin
12245     };
12246   };
12248   HTTPHeadersFast = buildPerlModule {
12249     pname = "HTTP-Headers-Fast";
12250     version = "0.22";
12251     src = fetchurl {
12252       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTTP-Headers-Fast-0.22.tar.gz";
12253       hash = "sha256-zEMdtoSW3YhNtLwMC3ESwfSk8dxoxPWjyqdXoedIG0g=";
12254     };
12255     buildInputs = [ ModuleBuildTiny TestRequires ];
12256     propagatedBuildInputs = [ HTTPDate ];
12257     meta = {
12258       description = "Faster implementation of HTTP::Headers";
12259       homepage = "https://github.com/tokuhirom/HTTP-Headers-Fast";
12260       license = with lib.licenses; [ artistic1 gpl1Plus ];
12261     };
12262   };
12264   HTTPLite = buildPerlPackage {
12265     pname = "HTTP-Lite";
12266     version = "2.44";
12267     src = fetchurl {
12268       url = "mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-2.44.tar.gz";
12269       hash = "sha256-OOQ9eRHPwU46OPA4K2zHptVZMH0jsQnOc6x9JKmz53w=";
12270     };
12271     buildInputs = [ CGI ];
12272     meta = {
12273       description = "Lightweight HTTP implementation";
12274       license = with lib.licenses; [ artistic1 gpl1Plus ];
12275     };
12276   };
12278   HTTPMessage = buildPerlPackage {
12279     pname = "HTTP-Message";
12280     version = "6.45";
12281     src = fetchurl {
12282       url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Message-6.45.tar.gz";
12283       hash = "sha256-AcuEBmEqP3OIQtHpcxOuTYdIcNG41tZjMfFgAJQ9TL4=";
12284     };
12285     buildInputs = [ TestNeeds TryTiny ];
12286     propagatedBuildInputs = [ Clone EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
12287     meta = {
12288       description = "HTTP style message (base class)";
12289       homepage = "https://github.com/libwww-perl/HTTP-Message";
12290       license = with lib.licenses; [ artistic1 gpl1Plus ];
12291     };
12292   };
12294   HTTPMultiPartParser = buildPerlPackage {
12295     pname = "HTTP-MultiPartParser";
12296     version = "0.02";
12297     src = fetchurl {
12298       url = "mirror://cpan/authors/id/C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz";
12299       hash = "sha256-Xt3aFZ9U0W+GjgMkQKwrAk5VqsSJMYcbYmJ/GhbQCxI=";
12300     };
12301     buildInputs = [ TestDeep ];
12302     meta = {
12303       description = "HTTP MultiPart Parser";
12304       license = with lib.licenses; [ artistic1 gpl1Plus ];
12305     };
12306   };
12308   HTTPNegotiate = buildPerlPackage {
12309     pname = "HTTP-Negotiate";
12310     version = "6.01";
12311     src = fetchurl {
12312       url = "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz";
12313       hash = "sha256-HHKcHqYxAOh4QFzafWb5rf0+1PHWysrKDukVLfco4BY=";
12314     };
12315     propagatedBuildInputs = [ HTTPMessage ];
12316     meta = {
12317       description = "Choose a variant to serve";
12318       license = with lib.licenses; [ artistic1 gpl1Plus ];
12319     };
12320   };
12322   HTTPParserXS = buildPerlPackage {
12323     pname = "HTTP-Parser-XS";
12324     version = "0.17";
12325     src = fetchurl {
12326       url = "mirror://cpan/authors/id/K/KA/KAZUHO/HTTP-Parser-XS-0.17.tar.gz";
12327       hash = "sha256-eU5oM+MmsQ0kNp+c2/wWZxBe9lkej0HlYaPUGnAnqAk=";
12328     };
12329     meta = {
12330       description = "A fast, primitive HTTP request parser";
12331       license = with lib.licenses; [ artistic1 gpl1Plus ];
12332     };
12333   };
12335   HTTPProxy = buildPerlPackage {
12336     pname = "HTTP-Proxy";
12337     version = "0.304";
12338     src = fetchurl {
12339       url = "mirror://cpan/authors/id/B/BO/BOOK/HTTP-Proxy-0.304.tar.gz";
12340       hash = "sha256-sFKQU07HNiXCGgVl/DUXCJDasWOEPZUzHCksI/UExp0=";
12341     };
12342     propagatedBuildInputs = [ LWP ];
12343     # tests fail because they require network access
12344     doCheck = false;
12345     meta = {
12346       description = "A pure Perl HTTP proxy";
12347       license = with lib.licenses; [ artistic1 gpl1Plus ];
12348     };
12349   };
12351   HTTPRequestAsCGI = buildPerlPackage {
12352     pname = "HTTP-Request-AsCGI";
12353     version = "1.2";
12354     src = fetchurl {
12355       url = "mirror://cpan/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz";
12356       hash = "sha256-lFv7B8bRr1J3P7eEW6YuOnQRGzXL0tXkPvgxnlWsvOo=";
12357     };
12358     propagatedBuildInputs = [ ClassAccessor HTTPMessage ];
12359     meta = {
12360       description = "Set up a CGI environment from an HTTP::Request";
12361       license = with lib.licenses; [ artistic1 gpl1Plus ];
12362     };
12363   };
12365   HTTPResponseEncoding = buildPerlPackage {
12366     pname = "HTTP-Response-Encoding";
12367     version = "0.06";
12368     src = fetchurl {
12369       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz";
12370       hash = "sha256-EBZ7jiOKaCAEqw16zL6dduri21evB8WuLfqAgHSkqKo=";
12371     };
12372     propagatedBuildInputs = [ HTTPMessage ];
12373     buildInputs = [ LWP ];
12374     meta = {
12375       description = "Adds encoding() to HTTP::Response";
12376       license = with lib.licenses; [ artistic1 gpl1Plus ];
12377     };
12378   };
12380   HTTPServerSimple = buildPerlPackage {
12381     pname = "HTTP-Server-Simple";
12382     version = "0.52";
12383     src = fetchurl {
12384       url = "mirror://cpan/authors/id/B/BP/BPS/HTTP-Server-Simple-0.52.tar.gz";
12385       hash = "sha256-2JOfpPEr1rjAQ1N/0L+WsFWsNoa5zdn6dz3KauZ5y0w=";
12386     };
12387     doCheck = false;
12388     propagatedBuildInputs = [ CGI ];
12389     meta = {
12390       description = "Lightweight HTTP server";
12391       license = with lib.licenses; [ artistic1 gpl1Plus ];
12392     };
12393   };
12395   HTTPServerSimpleAuthen = buildPerlPackage {
12396     pname = "HTTP-Server-Simple-Authen";
12397     version = "0.04";
12398     src = fetchurl {
12399       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-Authen-0.04.tar.gz";
12400       hash = "sha256-Ld3Iq53ImGmAFR5LqDamu/CR9Fzxlb4XaOvbSpk+1Zs=";
12401     };
12402     propagatedBuildInputs = [ AuthenSimple HTTPServerSimple ];
12403     meta = {
12404       description = "Authentication plugin for HTTP::Server::Simple";
12405       license = with lib.licenses; [ artistic1 gpl1Plus ];
12406     };
12407   };
12409   HTTPServerSimpleMason = buildPerlPackage {
12410     pname = "HTTP-Server-Simple-Mason";
12411     version = "0.14";
12412     src = fetchurl {
12413       url = "mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-Mason-0.14.tar.gz";
12414       hash = "sha256-t6Sdjm5Vv/Cx8CeNlRaFRmsUMkO2+eWeBx9UcsoqAlo=";
12415     };
12416     propagatedBuildInputs = [ HTMLMason HTTPServerSimple HookLexWrap ];
12417     meta = {
12418       description = "A simple mason server";
12419       license = with lib.licenses; [ artistic1 gpl1Plus ];
12420     };
12421   };
12423   HTTPServerSimplePSGI = buildPerlPackage {
12424     pname = "HTTP-Server-Simple-PSGI";
12425     version = "0.16";
12426     src = fetchurl {
12427       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-PSGI-0.16.tar.gz";
12428       hash = "sha256-X3zLhFMEO5cnhJKnVzKBFuEeA1LyhUooqcY05ukTHbo=";
12429     };
12430     propagatedBuildInputs = [ HTTPServerSimple ];
12431     meta = {
12432       description = "Perl Web Server Gateway Interface Specification";
12433       homepage = "https://github.com/miyagawa/HTTP-Server-Simple-PSGI";
12434       license = with lib.licenses; [ artistic1 gpl1Plus ];
12435     };
12436   };
12438   HTTPTinyCache = buildPerlPackage {
12439     pname = "HTTP-Tiny-Cache";
12440     version = "0.002";
12441     src = fetchurl {
12442       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/HTTP-Tiny-Cache-0.002.tar.gz";
12443       hash = "sha256-c323zxncN4By2Rysdnh/sorNg8DRB85OTrS708kRhiE=";
12444     };
12445     propagatedBuildInputs = [ FileUtilTempdir Logger ];
12446     meta = {
12447       description = "Cache HTTP::Tiny responses";
12448       homepage = "https://metacpan.org/release/HTTP-Tiny-Cache";
12449       license = with lib.licenses; [ artistic1 gpl1Plus ];
12450       maintainers = [ maintainers.sgo ];
12451     };
12452   };
12454   HTTPTinyish = buildPerlPackage {
12455     pname = "HTTP-Tinyish";
12456     version = "0.18";
12457     src = fetchurl {
12458       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-0.18.tar.gz";
12459       hash = "sha256-gDgLjTPGv6lrsBBPpqQcJ9zE6cg6SN8frTkJf1/c/eU=";
12460     };
12461     propagatedBuildInputs = [ FileWhich IPCRun3 ];
12462     meta = {
12463       description = "HTTP::Tiny compatible HTTP client wrappers";
12464       homepage = "https://github.com/miyagawa/HTTP-Tinyish";
12465       license = with lib.licenses; [ artistic1 gpl1Plus ];
12466     };
12467   };
12469   iCalParser = buildPerlPackage {
12470     pname = "iCal-Parser";
12471     version = "1.21";
12472     src = fetchurl {
12473       url = "mirror://cpan/authors/id/R/RI/RIXED/iCal-Parser-1.21.tar.gz";
12474       hash = "sha256-DXk5pkSo5nAX7HI509lgTzmGu5pP+Avmj+cpnr/SJww=";
12475     };
12476     propagatedBuildInputs = [ DateTimeFormatICal FreezeThaw IOString TextvFileasData ];
12477     meta = {
12478       description = "Parse iCalendar files into a data structure";
12479       license = with lib.licenses; [ artistic1 gpl1Plus ];
12480     };
12481   };
12483   ImagePNGLibpng = buildPerlPackage {
12484     pname = "Image-PNG-Libpng";
12485     version = "0.57";
12486     src = fetchurl {
12487       url = "mirror://cpan/authors/id/B/BK/BKB/Image-PNG-Libpng-0.56.tar.gz";
12488       hash = "sha256-+vu/6/9CP3u4XvJ6MEH7YpG1AzbHpYIiSlysQzHDx9k=";
12489     };
12490     buildInputs = [ pkgs.libpng ];
12491     meta = {
12492       description = "Perl interface to libpng";
12493       license = with lib.licenses; [ artistic1 gpl1Plus ];
12494       mainProgram = "pnginspect";
12495       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.ImagePNGLibpng.x86_64-darwin
12496     };
12497   };
12499   Imager = buildPerlPackage {
12500     pname = "Imager";
12501     version = "1.019";
12502     src = fetchurl {
12503       url = "mirror://cpan/authors/id/T/TO/TONYC/Imager-1.019.tar.gz";
12504       hash = "sha256-dNRNcBwfFPxLmE+toelVcmtQTC2LBtJl56hh+llDy0g=";
12505     };
12506     buildInputs = [ pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
12507     makeMakerFlags = [ "--incpath ${pkgs.libjpeg.dev}/include" "--libpath ${pkgs.libjpeg.out}/lib" "--incpath" "${pkgs.libpng.dev}/include" "--libpath" "${pkgs.libpng.out}/lib" ];
12508     meta = {
12509       description = "Perl extension for Generating 24 bit Images";
12510       homepage = "http://imager.perl.org";
12511       license = with lib.licenses; [ artistic1 gpl1Plus ];
12512     };
12513   };
12515   ImagerQRCode = buildPerlPackage {
12516     pname = "Imager-QRCode";
12517     version = "0.035";
12518     src = fetchurl {
12519       url = "mirror://cpan/authors/id/K/KU/KURIHARA/Imager-QRCode-0.035.tar.gz";
12520       hash = "sha256-KoSN66Kes5QsRHCaaFPjGKyrDEaMv+27m6rlR2ADJRM=";
12521     };
12522     propagatedBuildInputs = [ Imager ];
12523     meta = {
12524       description = "Generate QR Code with Imager using libqrencode";
12525       license = with lib.licenses; [ artistic1 gpl1Plus ];
12526       maintainers = with maintainers; [ sgo ];
12527     };
12528   };
12530   ImageInfo = buildPerlPackage {
12531     pname = "Image-Info";
12532     version = "1.44";
12533     src = fetchurl {
12534       url = "mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.44.tar.gz";
12535       hash = "sha256-y3/GXdHv/gHrR8HHmlLdFlT0KOOpfbHvI7EmzgFjbw0=";
12536     };
12537     propagatedBuildInputs = [ IOStringy ];
12538     meta = {
12539       description = "Extract meta information from image files";
12540       license = with lib.licenses; [ artistic1 gpl1Plus ];
12541     };
12542   };
12544   ImageSane = buildPerlPackage {
12545     pname = "Image-Sane";
12546     version = "5";
12547     src = fetchurl {
12548       url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz";
12549       hash = "sha256-Ipqg6fBJ76dg88L25h2dU5r0PY92S1Cm4DBktHKaNf8=";
12550     };
12551     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
12552     propagatedBuildInputs = [ ExceptionClass Readonly ];
12553     meta = {
12554       description = "Perl extension for the SANE (Scanner Access Now Easy) Project";
12555       license = with lib.licenses; [ artistic1 gpl1Plus ];
12556     };
12557   };
12559   ImageScale = buildPerlPackage {
12560     pname = "Image-Scale";
12561     version = "0.14";
12562     src = fetchurl {
12563       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/Image-Scale-0.14.tar.gz";
12564       hash = "sha256-8JxfBmO4dzg2WsKBnhhrkJq+ue2F2DvBXudocslHzfg=";
12565     };
12566     buildInputs = [ pkgs.libpng pkgs.libjpeg TestNoWarnings ];
12567     propagatedBuildInputs = [ pkgs.zlib ];
12568     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" ];
12569     meta = {
12570       description = "Fast, high-quality fixed-point image resizing";
12571       license = with lib.licenses; [ gpl2Plus ];
12572     };
12573   };
12575   ImageSize = buildPerlPackage {
12576     pname = "Image-Size";
12577     version = "3.300";
12578     src = fetchurl {
12579       url = "mirror://cpan/authors/id/R/RJ/RJRAY/Image-Size-3.300.tar.gz";
12580       hash = "sha256-U8mx+GUxzeBg7mNwnR/ac8q8DPLVgdKbIrAUeBufAms=";
12581     };
12582     buildInputs = [ ModuleBuild ];
12583     meta = {
12584       description = "A library to extract height/width from images";
12585       homepage = "https://search.cpan.org/dist/Image-Size";
12586       license = with lib.licenses; [ artistic1 gpl1Plus ];
12587       mainProgram = "imgsize";
12588     };
12589   };
12591   ImageOCRTesseract = buildPerlPackage {
12592     pname = "Image-OCR-Tesseract";
12593     version = "1.26";
12594     src = fetchurl {
12595       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/Image-OCR-Tesseract-1.26.tar.gz";
12596       hash = "sha256-mNkEJmpwYvCcm0b3fE6UUp4f6ZM54/g/2h+SAT8AfOo=";
12597     };
12598     nativeBuildInputs = [ pkgs.which pkgs.makeWrapper pkgs.tesseract pkgs.imagemagick ];
12599     propagatedBuildInputs = [ FileFindRule FileWhich LEOCHARRECLI StringShellQuote ];
12600     postPatch = ''
12601       substituteInPlace lib/Image/OCR/Tesseract.pm \
12602         --replace "which('tesseract')" "\"${pkgs.tesseract}/bin/tesseract\"" \
12603         --replace "which('convert')" "\"${pkgs.imagemagick}/bin/convert"\"
12604     '';
12605     postInstall = ''
12606       wrapProgram $out/bin/ocr --prefix PATH : ${lib.makeBinPath [ pkgs.tesseract pkgs.imagemagick ]}
12607     '';
12608     meta = {
12609       description = "Read an image with tesseract ocr and get output";
12610       license = with lib.licenses; [ artistic1 gpl1Plus ];
12611       mainProgram = "ocr";
12612     };
12613   };
12615   IMAPClient = buildPerlPackage {
12616     pname = "IMAP-Client";
12617     version = "0.13";
12618     src = fetchurl {
12619       url = "mirror://cpan/authors/id/C/CO/CONTEB/IMAP-Client-0.13.tar.gz";
12620       hash = "sha256-inovpVt1qFPEgBQXeDk62sKUts0gfN9UFA9nwS8kypU=";
12621     };
12622     doCheck = false; # nondeterministic
12623     meta = {
12624       description = "Advanced manipulation of IMAP services w/ referral support";
12625       license = with lib.licenses; [ artistic1 gpl1Plus ];
12626     };
12627   };
12629   Importer = buildPerlPackage {
12630     pname = "Importer";
12631     version = "0.026";
12632     src = fetchurl {
12633       url = "mirror://cpan/authors/id/E/EX/EXODIST/Importer-0.026.tar.gz";
12634       hash = "sha256-4I+oThPLmYt6iX/I7Jw0WfzBcWr/Jcw0Pjbvh1iRsO8=";
12635     };
12636     meta = {
12637       description = "Alternative but compatible interface to modules that export symbols";
12638       license = with lib.licenses; [ artistic1 gpl1Plus ];
12639     };
12640   };
12642   ImportInto = buildPerlPackage {
12643     pname = "Import-Into";
12644     version = "1.002005";
12645     src = fetchurl {
12646       url = "mirror://cpan/authors/id/H/HA/HAARG/Import-Into-1.002005.tar.gz";
12647       hash = "sha256-vZ53o/tmK0C0OxjTKAzTUu35+tjZQoPlGBgcwc6fBWc=";
12648     };
12649     propagatedBuildInputs = [ ModuleRuntime ];
12650     meta = {
12651       description = "Import packages into other packages";
12652       license = with lib.licenses; [ artistic1 gpl1Plus ];
12653     };
12654   };
12656   IO = buildPerlPackage {
12657     pname = "IO";
12658     version = "1.51";
12659     src = fetchurl {
12660       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-1.51.tar.gz";
12661       hash = "sha256-VJPqVZmHKM0rfsuCNMWPtdXfJwmNDwet3KIkRNdhbOA=";
12662     };
12663     doCheck = false;
12664     meta = {
12665       description = "Perl core IO modules";
12666       license = with lib.licenses; [ artistic1 gpl1Plus ];
12667     };
12668   };
12670   IOAIO = buildPerlPackage {
12671     pname = "IO-AIO";
12672     version = "4.73";
12673     src = fetchurl {
12674       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/IO-AIO-4.73.tar.gz";
12675       hash = "sha256-mltHx4Ak+rdmPR5a90ob6rRQ19Y7poV+MbP9gobkrFo=";
12676     };
12677     buildInputs = [ CanaryStability ];
12678     propagatedBuildInputs = [ commonsense ];
12679     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
12680     postInstall = lib.optionalString stdenv.isDarwin ''
12681       shortenPerlShebang $out/bin/treescan
12682     '';
12683     meta = {
12684       description = "Asynchronous/Advanced Input/Output";
12685       license = with lib.licenses; [ artistic1 gpl1Plus ];
12686       mainProgram = "treescan";
12687     };
12688   };
12690   IOAll = buildPerlPackage {
12691     pname = "IO-All";
12692     version = "0.87";
12693     src = fetchurl {
12694       url = "mirror://cpan/authors/id/F/FR/FREW/IO-All-0.87.tar.gz";
12695       hash = "sha256-VOIdJQwCKRJ+MLd6NGHhAHeFTsJE8m+2cPG0Re1MTVs=";
12696     };
12697     meta = {
12698       description = "IO::All of it to Graham and Damian!";
12699       homepage = "https://github.com/ingydotnet/io-all-pm";
12700       license = with lib.licenses; [ artistic1 gpl1Plus ];
12701     };
12702   };
12704   IOAsync = buildPerlModule {
12705     pname = "IO-Async";
12706     version = "0.802";
12707     src = fetchurl {
12708       url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.802.tar.gz";
12709       hash = "sha256-5YJzFXd2fEfqxDXvKQRmPUp1Cw5oAqSmGJo38Mswhzg";
12710     };
12711     preCheck = "rm t/50resolver.t"; # this test fails with "Temporary failure in name resolution" in sandbox
12712     propagatedBuildInputs = [ Future StructDumb ];
12713     buildInputs = [ TestFatal TestFutureIOImpl TestIdentity TestMetricsAny TestRefcount ];
12714     meta = {
12715       description = "Asynchronous event-driven programming";
12716       license = with lib.licenses; [ artistic1 gpl1Plus ];
12717     };
12718   };
12720   IOAsyncSSL = buildPerlModule {
12721     pname = "IO-Async-SSL";
12722     version = "0.25";
12723     src = fetchurl {
12724       url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-SSL-0.25.tar.gz";
12725       hash = "sha256-Te9IXbHv9OE5tLWRIgLA/WHDrtLOw1vVq4v3u9g/WnU=";
12726     };
12727     buildInputs = [ TestIdentity ];
12728     propagatedBuildInputs = [ Future IOAsync IOSocketSSL ];
12729     meta = {
12730       description = "Use SSL/TLS with IO::Async";
12731       license = with lib.licenses; [ artistic1 gpl1Plus ];
12732       maintainers = [ maintainers.zakame ];
12733     };
12734   };
12736   IOCapture = buildPerlPackage {
12737     pname = "IO-Capture";
12738     version = "0.05";
12739     src = fetchurl {
12740       url = "mirror://cpan/authors/id/R/RE/REYNOLDS/IO-Capture-0.05.tar.gz";
12741       hash = "sha256-wsFaJUynT7jFfSXXtsvK/3ejtPtWlUI/H4C7Qjq//qk=";
12742     };
12743     meta = {
12744       description = "Abstract Base Class to build modules to capture output";
12745       license = with lib.licenses; [ artistic1 gpl1Plus ];
12746     };
12747   };
12749   IOCaptureOutput = buildPerlPackage {
12750     pname = "IO-CaptureOutput";
12751     version = "1.1105";
12752     src = fetchurl {
12753       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz";
12754       hash = "sha256-rpkAn8oSc4APFp7LgvTtHMbHZ5XxVr7lwAkwBdVy9Ic=";
12755     };
12756     meta = {
12757       description = "(DEPRECATED) capture STDOUT and STDERR from Perl code, subprocesses or XS";
12758       homepage = "https://github.com/dagolden/IO-CaptureOutput";
12759       license = with lib.licenses; [ artistic1 gpl1Plus ];
12760     };
12761   };
12763   IOCompress = buildPerlPackage {
12764     pname = "IO-Compress";
12765     version = "2.206";
12766     src = fetchurl {
12767       url = "mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.206.tar.gz";
12768       hash = "sha256-fTBiuaSU91fo0GFPIg2D8icxu9oa6198/w5yqD9DPTU=";
12769     };
12770     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
12771     # Same as CompressRawZlib
12772     doCheck = false && !stdenv.isDarwin;
12773     meta = {
12774       description = "IO Interface to compressed data files/buffers";
12775       homepage = "https://github.com/pmqs/IO-Compress";
12776       license = with lib.licenses; [ artistic1 gpl1Plus ];
12777       mainProgram = "streamzip";
12778     };
12779   };
12781   IODigest = buildPerlPackage {
12782     pname = "IO-Digest";
12783     version = "0.11";
12784     src = fetchurl {
12785       url = "mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz";
12786       hash = "sha256-j/z4Wn9iE+XpQUCtzCsXntAkmOrchDCUV+kE3sk/f5I=";
12787     };
12788     propagatedBuildInputs = [ PerlIOviadynamic ];
12789     meta = {
12790       description = "Calculate digests while reading or writing";
12791       license = with lib.licenses; [ artistic1 gpl1Plus ];
12792     };
12793   };
12795   IOHTML = buildPerlPackage {
12796     pname = "IO-HTML";
12797     version = "1.004";
12798     src = fetchurl {
12799       url = "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-1.004.tar.gz";
12800       hash = "sha256-yHst9ZRju/LDlZZ3PftcA73g9+EFGvM5+WP1jBy9i/U=";
12801     };
12802     meta = {
12803       description = "Open an HTML file with automatic charset detection";
12804       license = with lib.licenses; [ artistic1 gpl1Plus ];
12805     };
12806   };
12808   IOHandleUtil = buildPerlModule {
12809     pname = "IO-Handle-Util";
12810     version = "0.02";
12811     src = fetchurl {
12812       url = "mirror://cpan/authors/id/E/ET/ETHER/IO-Handle-Util-0.02.tar.gz";
12813       hash = "sha256-jblmqRPaxORkIwcCqiIr84r+ISGT5ja8DzzGUbrezO4=";
12814     };
12815     propagatedBuildInputs = [ IOString SubExporter asa ];
12816     buildInputs = [ ModuleBuildTiny TestSimple13 ];
12817     meta = {
12818       description = "Functions for working with IO::Handle like objects";
12819       homepage = "https://github.com/karenetheridge/IO-Handle-Util";
12820       license = with lib.licenses; [ artistic1 gpl1Plus ];
12821     };
12822   };
12824   IOInterface = buildPerlModule {
12825     pname = "IO-Interface";
12826     version = "1.09";
12827     src = fetchurl {
12828       url = "mirror://cpan/authors/id/L/LD/LDS/IO-Interface-1.09.tar.gz";
12829       hash = "sha256-5j6BxS6x4OYOwtmD9VUtJJPhFxeZJclnV/I8S9n6cTo=";
12830     };
12831     meta = {
12832       description = "Access and modify network interface card configuration";
12833       license = with lib.licenses; [ artistic1 gpl1Plus ];
12834     };
12835   };
12837   IOInteractive = buildPerlPackage {
12838     pname = "IO-Interactive";
12839     version = "1.025";
12840     src = fetchurl {
12841       url = "mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-1.025.tar.gz";
12842       hash = "sha256-yh7G+6t6AnXdLpz2e3yw4ARYY/MVMyEMfcVEYxtqqqc=";
12843     };
12844     meta = {
12845       description = "Utilities for interactive I/O";
12846       homepage = "https://github.com/briandfoy/io-interactive";
12847       license = with lib.licenses; [ artistic2 ];
12848     };
12849   };
12851   IOInteractiveTiny = buildPerlPackage {
12852     pname = "IO-Interactive-Tiny";
12853     version = "0.2";
12854     src = fetchurl {
12855       url = "mirror://cpan/authors/id/D/DM/DMUEY/IO-Interactive-Tiny-0.2.tar.gz";
12856       hash = "sha256-RcBpZQXH5DR4RfXNJRK3sbx4+85MvtK1gAgoP8lepfk=";
12857     };
12858     meta = {
12859       description = "Is_interactive() without large deps";
12860       license = with lib.licenses; [ artistic2 ];
12861     };
12862   };
12864   IOLockedFile = buildPerlPackage {
12865     pname = "IO-LockedFile";
12866     version = "0.23";
12867     src = fetchurl {
12868       url = "mirror://cpan/authors/id/R/RA/RANI/IO-LockedFile-0.23.tar.gz";
12869       hash = "sha256-sdt+amvxvh4GFabstc6+eLAOKHsSfVhW0/FrNd1H+LU=";
12870     };
12871     meta = {
12872       description = "Supply object methods for locking files";
12873       license = with lib.licenses; [ artistic1 gpl1Plus ];
12874     };
12875   };
12877   IOMultiplex = buildPerlPackage {
12878     pname = "IO-Multiplex";
12879     version = "1.16";
12880     src = fetchurl {
12881       url = "mirror://cpan/authors/id/B/BB/BBB/IO-Multiplex-1.16.tar.gz";
12882       hash = "sha256-dNIsRLWtLnGQ4nhuihfXS79M74m00RV7ozWYtaJyDa0=";
12883     };
12884     meta = {
12885       description = "Supply object methods for locking files";
12886       license = with lib.licenses; [ artistic1 gpl1Plus ];
12887     };
12888   };
12890   IOPager = buildPerlPackage {
12891     version = "2.10";
12892     pname = "IO-Pager";
12893     src = fetchurl {
12894       url = "mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-2.10.tgz";
12895       hash = "sha256-vLTYwtKAyANLglkcwLnrZ6AE+QzpqgWXn8YHEwessZU=";
12896     };
12897     propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
12898     meta = {
12899       description = "Select a pager (possibly perl-based) & pipe it text if a TTY";
12900       license = with lib.licenses; [ artistic1 gpl1Plus ];
12901       mainProgram = "tp";
12902     };
12903   };
12905   IOPty = buildPerlModule {
12906     pname = "IO-Pty";
12907     version = "1.16";
12908     src = fetchurl {
12909       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.16.tar.gz";
12910       hash = "sha256-jxoJwHBzitxpXfkD8uf3QwjdjZkbkUwLw5Cg5gISlN0=";
12911     };
12912     buildPhase = "make";
12913     checkPhase = "make test";
12914     installPhase = "make install";
12915     meta = {
12916       homepage = "https://github.com/toddr/IO-Tty";
12917       description = "Pseudo TTY object class";
12918       license = with lib.licenses; [ artistic1 gpl1Plus ];
12919     };
12920   };
12922   IOPrompt = buildPerlModule {
12923     pname = "IO-Prompt";
12924     version = "0.997004";
12925     src = fetchurl {
12926       url = "mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz";
12927       hash = "sha256-8XuzBe5qyLWyA+bYJuuUDE8/bW9L/nGcOzoiX0b1hhU=";
12928     };
12929     propagatedBuildInputs = [ TermReadKey Want ];
12930     doCheck = false; # needs access to /dev/tty
12931     meta = {
12932       description = "Interactively prompt for user input";
12933       license = with lib.licenses; [ artistic1 gpl1Plus ];
12934     };
12935   };
12937   IOSessionData = buildPerlPackage {
12938     pname = "IO-SessionData";
12939     version = "1.03";
12940     src = fetchurl {
12941       url = "mirror://cpan/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz";
12942       hash = "sha256-ZKRxKj7bs/0QIw2ylsKcjGbwZq37wMPfakglj+85Ld0=";
12943     };
12944     outputs = [ "out" "dev" ]; # no "devdoc"
12945     meta = {
12946       description = "Supporting module for SOAP::Lite";
12947       license = with lib.licenses; [ artistic1 gpl1Plus ];
12948     };
12949   };
12951   IOSocketINET6 = buildPerlModule {
12952     pname = "IO-Socket-INET6";
12953     version = "2.73";
12954     src = fetchurl {
12955       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-2.73.tar.gz";
12956       hash = "sha256-ttp0aFMlPVtKxDGRtPaaRxlZXuE6fKZ2qAVM825tFrs=";
12957     };
12958     propagatedBuildInputs = [ Socket6 ];
12959     doCheck = false;
12960     meta = {
12961       description = "[DEPRECATED] Object interface for AF_INET/AF_INET6 domain sockets";
12962       license = with lib.licenses; [ artistic1 gpl1Plus ];
12963     };
12964   };
12966   IOSocketSSL = buildPerlPackage {
12967     pname = "IO-Socket-SSL";
12968     version = "2.083";
12969     src = fetchurl {
12970       url = "mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-2.083.tar.gz";
12971       hash = "sha256-kE7yh2VECpfYqaDfWX+MPX88sKBT0bCCwQvtA7yAIGk=";
12972     };
12973     propagatedBuildInputs = [ MozillaCA NetSSLeay ];
12974     # Fix path to default certificate store.
12975     postPatch = ''
12976       substituteInPlace lib/IO/Socket/SSL.pm \
12977         --replace "\$openssldir/cert.pem" "/etc/ssl/certs/ca-certificates.crt"
12978     '';
12979     doCheck = false; # tries to connect to facebook.com etc.
12980     meta = {
12981       description = "Nearly transparent SSL encapsulation for IO::Socket::INET";
12982       homepage = "https://github.com/noxxi/p5-io-socket-ssl";
12983       license = with lib.licenses; [ artistic1 gpl1Plus ];
12984     };
12985   };
12987   IOSocketTimeout = buildPerlModule {
12988     pname = "IO-Socket-Timeout";
12989     version = "0.32";
12990     src = fetchurl {
12991       url = "mirror://cpan/authors/id/D/DA/DAMS/IO-Socket-Timeout-0.32.tar.gz";
12992       hash = "sha256-7fkV1sxmvuQ1A6ptwrNzNm846v9wFYIYPa0Qy4rfKXI=";
12993     };
12994     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
12995     propagatedBuildInputs = [ PerlIOviaTimeout ];
12996     meta = {
12997       description = "IO::Socket with read/write timeout";
12998       license = with lib.licenses; [ artistic1 gpl1Plus ];
12999     };
13000   };
13002   IOString = buildPerlPackage {
13003     pname = "IO-String";
13004     version = "1.08";
13005     src = fetchurl {
13006       url = "mirror://cpan/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz";
13007       hash = "sha256-Kj9K2EQtkHB4DljvQ3ItGdHuIagDv3yCBod6EEgt5aA=";
13008     };
13009     meta = {
13010       description = "Emulate file interface for in-core strings";
13011       license = with lib.licenses; [ artistic1 gpl1Plus ];
13012     };
13013   };
13015   IOStringy = buildPerlPackage {
13016     pname = "IO-Stringy";
13017     version = "2.113";
13018     src = fetchurl {
13019       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/IO-Stringy-2.113.tar.gz";
13020       hash = "sha256-USIPyvn2amObadJR17B1e/QgL0+d69Rb3TQaaspi/k4=";
13021     };
13022     meta = {
13023       description = "I/O on in-core objects like strings and arrays";
13024       license = with lib.licenses; [ artistic1 gpl1Plus ];
13025     };
13026   };
13028   IOStty = buildPerlModule {
13029     pname = "IO-Stty";
13030     version = "0.04";
13031     src = fetchurl {
13032       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Stty-0.04.tar.gz";
13033       hash = "sha256-XJUJ8ahpPYKH+gE97wv4eqZM2ScThGHvjetVUDxmUcI=";
13034     };
13035     buildPhase = "make";
13036     checkPhase = "make test";
13037     installPhase = "make install";
13038     meta = {
13039       description = "Change and print terminal line settings";
13040       homepage = "https://wiki.github.com/toddr/IO-Stty";
13041       license = with lib.licenses; [ artistic1 gpl1Plus ];
13042     };
13043   };
13045   IOTee = buildPerlPackage {
13046     pname = "IO-Tee";
13047     version = "0.66";
13048     src = fetchurl {
13049       url = "mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-0.66.tar.gz";
13050       hash = "sha256-LZznIGUW+cMIY6NnqhwrmzVwLjabCrqhX5n7LMCFUuA=";
13051     };
13052     meta = {
13053       description = "Multiplex output to multiple output handles";
13054       license = with lib.licenses; [ artistic1 gpl1Plus ];
13055     };
13056   };
13058   IOTieCombine = buildPerlPackage {
13059     pname = "IO-TieCombine";
13060     version = "1.005";
13061     src = fetchurl {
13062       url = "mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.005.tar.gz";
13063       hash = "sha256-QC1NuDALPScWMvSZXgreMp2JKAp+R/K634s4r25Vaa8=";
13064     };
13065     meta = {
13066       description = "Produce tied (and other) separate but combined variables";
13067       homepage = "https://github.com/rjbs/IO-TieCombine";
13068       license = with lib.licenses; [ artistic1 gpl1Plus ];
13069     };
13070   };
13072   IOTty = buildPerlPackage {
13073     pname = "IO-Tty";
13074     version = "1.17";
13075     src = fetchurl {
13076       url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.17.tar.gz";
13077       hash = "sha256-pfGoMCC8W13WwbVw9Ix1RuCo9/rBCgaHQLA5Ja2eFOg=";
13078     };
13079     patches = [ ../development/perl-modules/IO-Tty-fix-makefile.patch ];
13080     doCheck = !stdenv.isDarwin;  # openpty fails in the sandbox
13081     meta = {
13082       description = "Low-level allocate a pseudo-Tty, import constants";
13083       license = with lib.licenses; [ artistic1 gpl1Plus ];
13084     };
13085   };
13087   IPCConcurrencyLimit = buildPerlPackage {
13088     pname = "IPC-ConcurrencyLimit";
13089     version = "0.17";
13090     src = fetchurl {
13091       url = "mirror://cpan/authors/id/M/MA/MATTK/IPC-ConcurrencyLimit-0.17.tar.gz";
13092       hash = "sha256-Lk11vlLpD8YFg31ajp+yacCofdPTYfMBLA/5Sl+9z+8=";
13093     };
13094     buildInputs = [ ExtUtilsMakeMaker ];
13095     propagatedBuildInputs = [ FilePath IO ];
13096     meta = {
13097       description = "Lock-based limits on cooperative multi-processing";
13098       license = with lib.licenses; [ artistic1 gpl1Plus ];
13099     };
13100   };
13102   IPCountry = buildPerlPackage {
13103     pname = "IP-Country";
13104     version = "2.28";
13105     src = fetchurl {
13106       url = "mirror://cpan/authors/id/N/NW/NWETTERS/IP-Country-2.28.tar.gz";
13107       hash = "sha256-iNuDOlqyLtBstT1vIFcl47U3GyVFlgU3OIhekfoQX3U=";
13108     };
13109     propagatedBuildInputs = [ GeographyCountries ];
13110     meta = {
13111       description = "Fast lookup of country codes from IP addresses";
13112       license = with lib.licenses; [ mit ];
13113       mainProgram = "ip2cc";
13114     };
13115   };
13117   GeographyCountries = buildPerlPackage {
13118     pname = "Geography-Countries";
13119     version = "2009041301";
13120     src = fetchurl {
13121       url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Geography-Countries-2009041301.tar.gz";
13122       hash = "sha256-SMQuQOgoG6fJgXQ6hUxI5t7y1R6wkl6myW4lx0SX8g8=";
13123     };
13124     meta = {
13125       description = "2-letter, 3-letter, and numerical codes for countries";
13126       license = with lib.licenses; [ mit ];
13127     };
13128   };
13131   IPCRun = buildPerlPackage {
13132     pname = "IPC-Run";
13133     version = "20231003.0";
13134     src = fetchurl {
13135       url = "mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-20231003.0.tar.gz";
13136       hash = "sha256-6yW731kT0pF5fvG/6ZjxUTC0VdPtAqrN5oVvCyXk/lc=";
13137     };
13138     doCheck = false; /* attempts a network connection to localhost */
13139     propagatedBuildInputs = [ IOTty ];
13140     buildInputs = [ Readonly ];
13141     meta = {
13142       description = "System() and background procs w/ piping, redirs, ptys (Unix, Win32)";
13143       license = with lib.licenses; [ artistic1 gpl1Plus ];
13144     };
13145   };
13147   IPCRun3 = buildPerlPackage {
13148     pname = "IPC-Run3";
13149     version = "0.048";
13150     src = fetchurl {
13151       url = "mirror://cpan/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz";
13152       hash = "sha256-PYHDzBtc/2nMqTYeLG443wNSJRrntB4v8/68hQ5GNWU=";
13153     };
13154     meta = {
13155       description = "Run a subprocess with input/output redirection";
13156       license = with lib.licenses; [ artistic1 gpl1Plus bsd3 ];
13157     };
13158   };
13160   IPCShareLite = buildPerlPackage {
13161     pname = "IPC-ShareLite";
13162     version = "0.17";
13163     src = fetchurl {
13164       url = "mirror://cpan/authors/id/A/AN/ANDYA/IPC-ShareLite-0.17.tar.gz";
13165       hash = "sha256-FNQGuR2pbWUh0NGoLSKjBidHZSJrhrClbn/93Plq578=";
13166     };
13167     meta = {
13168       description = "Lightweight interface to shared memory";
13169       license = with lib.licenses; [ artistic1 gpl1Plus ];
13170     };
13171   };
13173   IPCSystemSimple = buildPerlPackage {
13174     pname = "IPC-System-Simple";
13175     version = "1.30";
13176     src = fetchurl {
13177       url = "mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-1.30.tar.gz";
13178       hash = "sha256-Iub1IitQXuUTBY/co1q3oeq4BTm5jlykqSOnCorpup4=";
13179     };
13180     meta = {
13181       description = "Run commands simply, with detailed diagnostics";
13182       homepage = "http://thenceforward.net/perl/modules/IPC-System-Simple";
13183       license = with lib.licenses; [ artistic1 gpl1Plus ];
13184     };
13185   };
13187   IPCSysV = buildPerlPackage {
13188     pname = "IPC-SysV";
13189     version = "2.09";
13190     src = fetchurl {
13191       url = "mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.09.tar.gz";
13192       hash = "sha256-GJdUHHTVSP0QB+tsB/NBnTx1ddgFamK1ulJwohZtLb0=";
13193     };
13194     meta = {
13195       description = "System V IPC constants and system calls";
13196       license = with lib.licenses; [ artistic1 gpl1Plus ];
13197     };
13198   };
13200   IRCUtils = buildPerlPackage {
13201     pname = "IRC-Utils";
13202     version = "0.12";
13203     src = fetchurl {
13204       url = "mirror://cpan/authors/id/H/HI/HINRIK/IRC-Utils-0.12.tar.gz";
13205       hash = "sha256-x9YxHrbHnpg4M8nmtOjUJtB6mHTSD0vGQbMTuZybyKA=";
13206     };
13207     meta = {
13208       description = "Common utilities for IRC-related tasks";
13209       homepage = "https://metacpan.org/release/IRC-Utils";
13210       license = with lib.licenses; [ artistic1 gpl1Plus ];
13211       maintainers = with maintainers; [ sgo ];
13212     };
13213   };
13215   ImageExifTool = callPackage ../development/perl-modules/ImageExifTool { };
13217   Inline = buildPerlPackage {
13218     pname = "Inline";
13219     version = "0.86";
13220     src = fetchurl {
13221       url = "mirror://cpan/authors/id/I/IN/INGY/Inline-0.86.tar.gz";
13222       hash = "sha256-UQp94tARsNuAsIdOjA9zkAEJkQAK4TXP90dN8ebVHjo=";
13223     };
13224     buildInputs = [ TestWarn ];
13225     meta = {
13226       description = "Write Perl Subroutines in Other Programming Languages";
13227       longDescription = ''
13228         The Inline module allows you to put source code from other
13229         programming languages directly "inline" in a Perl script or
13230         module. The code is automatically compiled as needed, and then loaded
13231         for immediate access from Perl.
13232       '';
13233       homepage = "https://github.com/ingydotnet/inline-pm";
13234       license = with lib.licenses; [ artistic1 gpl1Plus ];
13235     };
13236   };
13238   InlineC = buildPerlPackage {
13239     pname = "Inline-C";
13240     version = "0.82";
13241     src = fetchurl {
13242       url = "mirror://cpan/authors/id/E/ET/ETJ/Inline-C-0.82.tar.gz";
13243       hash = "sha256-EPvPHhWNHI134d2TTjeRZbEmpFwTZFrQvp3AfRUd0Mw=";
13244     };
13245     buildInputs = [ FileCopyRecursive TestWarn YAMLLibYAML ];
13246     propagatedBuildInputs = [ Inline ParseRecDescent Pegex ];
13247     postPatch = ''
13248       # this test will fail with chroot builds
13249       rm -f t/08taint.t
13250       rm -f t/28autowrap.t
13251     '';
13252     meta = {
13253       description = "C Language Support for Inline";
13254       homepage = "https://github.com/ingydotnet/inline-c-pm";
13255       license = with lib.licenses; [ artistic1 gpl1Plus ];
13256     };
13257   };
13259   InlineJava = buildPerlPackage {
13260     pname = "Inline-Java";
13261     version = "0.67";
13263     src = fetchurl {
13264       url = "mirror://cpan/authors/id/E/ET/ETJ/Inline-Java-0.67.tar.gz";
13265       hash = "sha256-9YVLMcvOFjwz4mJN0jFODA2X4JRDcbcYjlkBuj9vpMk=";
13266     };
13268     buildInputs = [ FileWhich ];
13269     propagatedBuildInputs = [ Inline ];
13271     # TODO: upgrade https://github.com/NixOS/nixpkgs/pull/89731
13272     makeMakerFlags = [ "J2SDK=${pkgs.jdk8}" ];
13274     # FIXME: Apparently tests want to access the network.
13275     doCheck = false;
13277     meta = {
13278       description = "Write Perl classes in Java";
13279       longDescription = ''
13280         The Inline::Java module allows you to put Java source code directly
13281         "inline" in a Perl script or module.  A Java compiler is launched and
13282         the Java code is compiled.  Then Perl asks the Java classes what
13283         public methods have been defined.  These classes and methods are
13284         available to the Perl program as if they had been written in Perl.
13285       '';
13286       license = with lib.licenses; [ artistic2 ];
13287       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.InlineJava.x86_64-darwin
13288     };
13289   };
13291   IPCSignal = buildPerlPackage {
13292     pname = "IPC-Signal";
13293     version = "1.00";
13294     src = fetchurl {
13295       url = "mirror://cpan/authors/id/R/RO/ROSCH/IPC-Signal-1.00.tar.gz";
13296       hash = "sha256-fCH5yMLQwPDw9G533nw9h53VYmaN3wUlh1w4zvIHb9A=";
13297     };
13298     meta = {
13299       description = "Utility functions dealing with signals";
13300       license = with lib.licenses; [ artistic1 gpl1Plus ];
13301     };
13302   };
13304   JavaScriptMinifierXS = buildPerlPackage {
13305     pname = "JavaScript-Minifier-XS";
13306     version = "0.15";
13307     src = fetchurl {
13308       url = "mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.15.tar.gz";
13309       hash = "sha256-XZsDT1jwtv9bZGR708WpzgWypw7e4zn7wxc67nR8wFA=";
13310     };
13311     buildInputs = [ TestDiagINC ];
13312     perlPreHook = lib.optionalString (stdenv.isi686 || stdenv.isDarwin) "export LD=$CC";
13313     meta = {
13314       description = "XS based JavaScript minifier";
13315       homepage = "https://metacpan.org/release/JavaScript-Minifier-XS";
13316       license = with lib.licenses; [ artistic1 gpl1Plus ];
13317     };
13318   };
13320   JavaScriptValueEscape = buildPerlModule {
13321     pname = "JavaScript-Value-Escape";
13322     version = "0.07";
13323     src = fetchurl {
13324       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/JavaScript-Value-Escape-0.07.tar.gz";
13325       hash = "sha256-msvaNwjt4R9r6uXxEvGIw6kCOk0myOzYmqgru2kxo9w=";
13326     };
13327     meta = {
13328       description = "Avoid XSS with JavaScript value interpolation";
13329       homepage = "https://github.com/kazeburo/JavaScript-Value-Escape";
13330       license = with lib.licenses; [ artistic1 gpl1Plus ];
13331     };
13332   };
13334   JSON = buildPerlPackage {
13335     pname = "JSON";
13336     version = "4.10";
13337     src = fetchurl {
13338       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.10.tar.gz";
13339       hash = "sha256-34tRQ9mn3pnEe1XxoXC9H2n3EZNcGGptwKtW3QV1jjU=";
13340     };
13341     # Do not abort cross-compilation on failure to load native JSON module into host perl
13342     preConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
13343       substituteInPlace Makefile.PL --replace "exit 0;" ""
13344     '';
13345     buildInputs = [ TestPod ];
13346     meta = {
13347       description = "JSON (JavaScript Object Notation) encoder/decoder";
13348       license = with lib.licenses; [ artistic1 gpl1Plus ];
13349     };
13350   };
13352   JSONAny = buildPerlPackage {
13353     pname = "JSON-Any";
13354     version = "1.40";
13355     src = fetchurl {
13356       url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-Any-1.40.tar.gz";
13357       hash = "sha256-CDJWJVpICU/ZrBI54P6ooQojg6nNHvSxxyZO3htEAKs=";
13358     };
13359     buildInputs = [ TestFatal TestNeeds TestWarnings TestWithoutModule ];
13360     meta = {
13361       description = "(DEPRECATED) Wrapper Class for the various JSON classes";
13362       homepage = "https://github.com/karenetheridge/JSON-Any";
13363       license = with lib.licenses; [ artistic1 gpl1Plus ];
13364     };
13365   };
13367   JSONCreate = buildPerlPackage {
13368     pname = "JSON-Create";
13369     version = "0.35";
13370     src = fetchurl {
13371       url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Create-0.35.tar.gz";
13372       hash = "sha256-X67+DYM7gTJWiGUwjzI5082qG4oezJtWJNzx774QaD4=";
13373     };
13374     propagatedBuildInputs = [ JSONParse UnicodeUTF8 ];
13375     meta = {
13376       description = "Create JSON";
13377       license = with lib.licenses; [ artistic1 gpl1Plus ];
13378     };
13379   };
13381   JSONMaybeXS = buildPerlPackage {
13382     pname = "JSON-MaybeXS";
13383     version = "1.004005";
13384     src = fetchurl {
13385       url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-MaybeXS-1.004005.tar.gz";
13386       hash = "sha256-9ba8GfV55mtymfh0i4rD4XGTbcTn/LcqiiV6m9SCozE=";
13387     };
13388     buildInputs = [ TestNeeds ];
13389     meta = {
13390       description = "Use Cpanel::JSON::XS with a fallback to JSON::XS and JSON::PP";
13391       license = with lib.licenses; [ artistic1 gpl1Plus ];
13392     };
13393   };
13395   JSONPP = buildPerlPackage {
13396     pname = "JSON-PP";
13397     version = "4.16";
13398     src = fetchurl {
13399       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-PP-4.16.tar.gz";
13400       hash = "sha256-i8LxYrr8QmRcSJkFrXJUDw08KEs2DJYpkJUYPDDMl4k=";
13401     };
13402     meta = {
13403       description = "JSON::XS compatible pure-Perl module";
13404       license = with lib.licenses; [ artistic1 gpl1Plus ];
13405       mainProgram = "json_pp";
13406     };
13407   };
13409   JSONPPCompat5006 = buildPerlPackage {
13410     pname = "JSON-PP-Compat5006";
13411     version = "1.09";
13412     src = fetchurl {
13413       url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz";
13414       hash = "sha256-GXAw31JjX5u+Ja8QdC7qW9dJcUcxGMETEfyry2LjcWo=";
13415     };
13416     meta = {
13417       description = "Helper module in using JSON::PP in Perl 5.6";
13418       license = with lib.licenses; [ artistic1 gpl1Plus ];
13419     };
13420   };
13422   JSONParse = buildPerlPackage {
13423     pname = "JSON-Parse";
13424     version = "0.62";
13425     src = fetchurl {
13426       url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Parse-0.62.tar.gz";
13427       hash = "sha256-YnMYD5OSSXQB3dbYIHBvWqhsG+iIkd1qq02Qa1z/Ztk=";
13428     };
13429     meta = {
13430       description = "Parse JSON";
13431       license = with lib.licenses; [ artistic1 gpl1Plus ];
13432       mainProgram = "validjson";
13433     };
13434   };
13436   JSONValidator = buildPerlPackage {
13437     pname = "JSON-Validator";
13438     version = "5.14";
13439     src = fetchurl {
13440       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/JSON-Validator-5.14.tar.gz";
13441       hash = "sha256-YISl1AdeQhqTj/su6XuFBPqjXoZtD3tbWBETr17ijhs=";
13442     };
13443     buildInputs = [ TestDeep ];
13444     propagatedBuildInputs = [ Mojolicious YAMLLibYAML ];
13445     meta = {
13446       description = "Validate data against a JSON schema";
13447       homepage = "https://github.com/mojolicious/json-validator";
13448       license = with lib.licenses; [ artistic2 ];
13449       maintainers = [ maintainers.sgo ];
13450     };
13451   };
13453   JSONWebToken = buildPerlModule {
13454     pname = "JSON-WebToken";
13455     version = "0.10";
13456     src = fetchurl {
13457       url = "mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-0.10.tar.gz";
13458       hash = "sha256-d8GCqYUo8XFNgq/FSNWztNyT5nBpEou5uUE/JM8HJIs=";
13459     };
13460     buildInputs = [ TestMockGuard TestRequires ];
13461     propagatedBuildInputs = [ JSON ModuleRuntime ];
13462     meta = {
13463       description = "JSON Web Token (JWT) implementation";
13464       homepage = "https://github.com/xaicron/p5-JSON-WebToken";
13465       license = with lib.licenses; [ artistic1 gpl1Plus ];
13466     };
13467   };
13469   JSONXS = buildPerlPackage {
13470     pname = "JSON-XS";
13471     version = "4.03";
13472     src = fetchurl {
13473       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-4.03.tar.gz";
13474       hash = "sha256-UVU29F8voafojIgkUzdY0BIdJnq5y0U6G1iHyKVrkGg=";
13475     };
13476     propagatedBuildInputs = [ TypesSerialiser ];
13477     buildInputs = [ CanaryStability ];
13478     meta = {
13479       description = "JSON serialising/deserialising, done correctly and fast";
13480       license = with lib.licenses; [ artistic1 gpl1Plus ];
13481       mainProgram = "json_xs";
13482     };
13483   };
13485   JSONXSVersionOneAndTwo = buildPerlPackage {
13486     pname = "JSON-XS-VersionOneAndTwo";
13487     version = "0.31";
13488     src = fetchurl {
13489       url = "mirror://cpan/authors/id/L/LB/LBROCARD/JSON-XS-VersionOneAndTwo-0.31.tar.gz";
13490       hash = "sha256-5gksTZYfrnd6z3/pn7PNbltxD+yFdlprkEF0gOTJSjQ=";
13491     };
13492     propagatedBuildInputs = [ JSONXS ];
13493     meta = {
13494       description = "Support versions 1 and 2 of JSON::XS";
13495       license = with lib.licenses; [ artistic1 gpl1Plus ];
13496     };
13497   };
13499   Later = buildPerlPackage {
13500     version = "0.21";
13501     pname = "Object-Realize-Later";
13502     src = fetchurl {
13503       url = "mirror://cpan/authors/id/M/MA/MARKOV/Object-Realize-Later-0.21.tar.gz";
13504       hash = "sha256-j3uWQMyONOqSvPbAEEmgPBReDrRuViJ14o3d06jW2Nk=";
13505     };
13506     meta = {
13507       description = "Delayed creation of objects";
13508       license = with lib.licenses; [ artistic1 gpl1Plus ];
13509     };
13510   };
13512   LatexIndent = buildPerlPackage rec {
13513     pname = "latexindent.pl";
13514     version = "3.21";
13516     src = fetchFromGitHub {
13517       owner = "cmhughes";
13518       repo = pname;
13519       rev = "V${version}";
13520       hash = "sha256-STXHOzsshyN7rc2VtJxxt6La4UPGpRYlMO8TX1Jd7pM=";
13521     };
13523     outputs = [ "out" ];
13525     propagatedBuildInputs = [ FileHomeDir YAMLTiny ];
13527     preBuild = ''
13528       patchShebangs ./latexindent.pl
13529     '';
13531     meta = {
13532       description = "Perl script to add indentation to LaTeX files";
13533       homepage = "https://github.com/cmhughes/latexindent.pl";
13534       license = lib.licenses.gpl3Plus;
13535     };
13536   };
13538   LaTeXML = buildPerlPackage rec {
13539     pname = "LaTeXML";
13540     version = "0.8.8";
13541     src = fetchurl {
13542       url = "mirror://cpan/authors/id/B/BR/BRMILLER/${pname}-${version}.tar.gz";
13543       hash = "sha256-fSu+LOJSuvhro/OIzQ3sOqSDj0nWErnsfMT/iBBbrcw=";
13544     };
13545     outputs = [ "out" "tex" ];
13546     propagatedBuildInputs = [ ArchiveZip DBFile FileWhich IOString ImageMagick ImageSize JSONXS LWP ParseRecDescent PodParser TextUnidecode XMLLibXSLT ];
13547     nativeBuildInputs = [ pkgs.makeWrapper ] ++ lib.optional stdenv.isDarwin shortenPerlShebang;
13548     makeMakerFlags = [ "TEXMF=\${tex}" "NOMKTEXLSR" ];
13549     # shebangs need to be patched before executables are copied to $out
13550     preBuild = ''
13551       patchShebangs bin/
13552     '' + lib.optionalString stdenv.isDarwin ''
13553       for file in bin/*; do
13554         shortenPerlShebang "$file"
13555       done
13556     '';
13557     postInstall = ''
13558       for file in latexmlc latexmlmath latexmlpost ; do
13559         # add runtime dependencies that cause silent failures when missing
13560         wrapProgram $out/bin/$file --prefix PATH : ${lib.makeBinPath [ pkgs.ghostscript pkgs.potrace ]}
13561       done
13562     '';
13563     passthru = {
13564       tlType = "run";
13565       pkgs = [ LaTeXML.tex ];
13566     };
13567     meta = {
13568       description = "Transforms TeX and LaTeX into XML/HTML/MathML";
13569       homepage = "https://dlmf.nist.gov/LaTeXML/";
13570       license = with lib.licenses; [ publicDomain ];
13571       maintainers = with maintainers; [ xworld21 ];
13572       mainProgram = "latexmlc";
13573     };
13574   };
13576   LEOCHARRECLI = buildPerlPackage {
13577     pname = "LEOCHARRE-CLI";
13578     version = "1.19";
13579     src = fetchurl {
13580       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/LEOCHARRE-CLI-1.19.tar.gz";
13581       hash = "sha256-N4NfEe41MmJBtNMDaK4bwZWlBBSzZi2z4TuGW9Uvzek=";
13582     };
13583     propagatedBuildInputs = [ FileWhich Filechmod LEOCHARREDebug Linuxusermod YAML ];
13584     meta = {
13585       description = "Useful subs for coding cli scripts";
13586       license = with lib.licenses; [ artistic1 gpl1Plus ];
13587     };
13588   };
13590   LEOCHARREDebug = buildPerlPackage {
13591     pname = "LEOCHARRE-Debug";
13592     version = "1.03";
13593     src = fetchurl {
13594       url = "mirror://cpan/authors/id/L/LE/LEOCHARRE/LEOCHARRE-Debug-1.03.tar.gz";
13595       hash = "sha256-wWZao6vUV8yGJLjEGMb4vfWPs6aG+O7VFc9+k1FN8ZI=";
13596     };
13597     meta = {
13598       description = "Debug sub";
13599       license = with lib.licenses; [ artistic1 gpl1Plus ];
13600     };
13601   };
13603   LexicalSealRequireHints = buildPerlModule {
13604     pname = "Lexical-SealRequireHints";
13605     version = "0.012";
13606     src = fetchurl {
13607       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Lexical-SealRequireHints-0.012.tar.gz";
13608       hash = "sha256-wyvcOOBvjWyQdlu74xaMNYJH2n2uhbgLqEotoXY3V90=";
13609     };
13610     meta = {
13611       description = "Prevent leakage of lexical hints";
13612       license = with lib.licenses; [ artistic1 gpl1Plus ];
13613     };
13614   };
13616   libapreq2 = buildPerlPackage rec {
13617     pname = "libapreq2";
13618     version = "2.17";
13619     src = fetchurl {
13620       url = "mirror://apache/httpd/libapreq/${pname}-${version}.tar.gz";
13621       hash = "sha256-BGSH8ITBL6HIIq/8X33lbv7ZtIkFpCbmMaa5ScEU2Gw=";
13622     };
13623     outputs = [ "out" ];
13624     buildInputs = [ pkgs.apacheHttpd pkgs.apr pkgs.aprutil ApacheTest ExtUtilsXSBuilder ];
13625     propagatedBuildInputs = [ (pkgs.apacheHttpdPackages.mod_perl.override { inherit perl; }) ];
13626     makeMakerFlags = [
13627       "--with-apache2-src=${pkgs.apacheHttpd.dev}"
13628       "--with-apache2-apxs=${pkgs.apacheHttpd.dev}/bin/apxs"
13629       "--with-apache2-httpd=${pkgs.apacheHttpd.out}/bin/httpd"
13630       "--with-apr-config=${pkgs.apr.dev}/bin/apr-1-config"
13631       "--with-apu-config=${pkgs.aprutil.dev}/bin/apu-1-config"
13632     ];
13633     preConfigure = ''
13634       # override broken prereq check
13635       substituteInPlace configure --replace "prereq_check=\"\$PERL \$PERL_OPTS build/version_check.pl\"" "prereq_check=\"echo\""
13636       '';
13637     preBuild = ''
13638       substituteInPlace apreq2-config --replace "dirname" "${pkgs.coreutils}/bin/dirname"
13639       '';
13640     installPhase = ''
13641       mkdir $out
13643       # install the library
13644       make install DESTDIR=$out
13645       cp -r $out/${pkgs.apacheHttpd.dev}/. $out/.
13646       cp -r $out/$out/. $out/.
13648       # install the perl module
13649       pushd glue/perl
13650       perl Makefile.PL
13651       make install DESTDIR=$out
13652       cp -r $out/${perl}/lib/perl5 $out/lib/
13653       popd
13655       # install the apache module
13656       # https://computergod.typepad.com/home/2007/06/webgui_and_suse.html
13657       # NOTE: if using the apache module you must use "apreq" as the module name, not "apreq2"
13658       # services.httpd.extraModules = [ { name = "apreq"; path = "''${pkgs.perlPackages.libapreq2}/modules/mod_apreq2.so"; } ];
13659       pushd module
13660       make install DESTDIR=$out
13661       cp -r $out/${pkgs.apacheHttpd.out}/modules $out/
13662       popd
13664       rm -r $out/nix
13665     '';
13666     doCheck = false; # test would need to start apache httpd
13667     meta = {
13668       description = "Wrapper for libapreq2's module/handle API";
13669       license = with lib.licenses; [ asl20 ];
13670     };
13671   };
13673   libintl-perl = buildPerlPackage {
13674     pname = "libintl-perl";
13675     version = "1.33";
13676     src = fetchurl {
13677       url = "mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.33.tar.gz";
13678       hash = "sha256-USbtqczQ7rENuC3e9jy8r329dx54zA+xEMw7WmuGeec=";
13679     };
13680     meta = {
13681       description = "Portable l10n and i10n functions";
13682       license = with lib.licenses; [ gpl3Only ];
13683     };
13684   };
13686   libnet = buildPerlPackage {
13687     pname = "libnet";
13688     version = "3.15";
13689     src = fetchurl {
13690       url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.15.tar.gz";
13691       hash = "sha256-px9NtYDhp2fWk2+qW6848fpheCQ0LaB4tWEoPob49KI=";
13692     };
13693     meta = {
13694       description = "Collection of network protocol modules";
13695       license = with lib.licenses; [ artistic1 gpl1Plus ];
13696     };
13697   };
13699   librelative = buildPerlPackage {
13700     pname = "lib-relative";
13701     version = "1.002";
13702     src = fetchurl {
13703       url = "mirror://cpan/authors/id/D/DB/DBOOK/lib-relative-1.002.tar.gz";
13704       hash = "sha256-5EcCFRZ8QGkXYD54vk2TESz2kTzTQq64ALQS4BHIp4s=";
13705     };
13706     meta = {
13707       description = "Add paths relative to the current file to @INC";
13708       homepage = "https://github.com/Grinnz/lib-relative";
13709       license = with lib.licenses; [ artistic2 ];
13710     };
13711   };
13713   libwwwperl = buildPerlPackage {
13714     pname = "libwww-perl";
13715     version = "6.72";
13716     src = fetchurl {
13717       url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.72.tar.gz";
13718       hash = "sha256-6bg1T9XiC+IHr+I93VhPzVm/gpmNwHfez2hLodrloF0=";
13719     };
13720     buildInputs = [ HTTPDaemon TestFatal TestNeeds TestRequiresInternet ];
13721     propagatedBuildInputs = [ EncodeLocale FileListing HTMLParser HTTPCookieJar HTTPCookies HTTPDate HTTPMessage HTTPNegotiate LWPMediaTypes NetHTTP TryTiny URI WWWRobotRules ];
13722     meta = {
13723       homepage = "https://github.com/libwww-perl/libwww-perl";
13724       description = "The World-Wide Web library for Perl";
13725       license = with lib.licenses; [ artistic1 gpl1Plus ];
13726     };
13727   };
13729   libxml_perl = buildPerlPackage {
13730     pname = "libxml-perl";
13731     version = "0.08";
13732     src = fetchurl {
13733       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz";
13734       hash = "sha256-RXEFm3tdSLfOUrATieldeYv1zyAgUjwVP/J7SYFTycs=";
13735     };
13736     propagatedBuildInputs = [ XMLParser ];
13737     meta = {
13738       description = "Collection of Perl modules for working with XML";
13739       license = with lib.licenses; [ artistic1 gpl1Plus ];
13740     };
13741   };
13743   LinguaENFindNumber = buildPerlPackage {
13744     pname = "Lingua-EN-FindNumber";
13745     version = "1.32";
13746     src = fetchurl {
13747       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.32.tar.gz";
13748       hash = "sha256-HRdtHIY/uYRL0Z0sKk5ooO1z2hWPckqJQFuQ236NvQQ=";
13749     };
13750     propagatedBuildInputs = [ LinguaENWords2Nums ];
13751     meta = {
13752       description = "Locate (written) numbers in English text ";
13753       homepage = "https://github.com/neilb/Lingua-EN-FindNumber";
13754       license = with lib.licenses; [ artistic1 gpl1Plus ];
13755     };
13756   };
13758   LinguaENInflect = buildPerlPackage {
13759     pname = "Lingua-EN-Inflect";
13760     version = "1.905";
13761     src = fetchurl {
13762       url = "mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.905.tar.gz";
13763       hash = "sha256-BcKew0guVyMTpg2iGBsLMMXbfPAfiudhatZ+G2YmMpY=";
13764     };
13765     meta = {
13766       description = "Convert singular to plural. Select 'a' or 'an'";
13767       license = with lib.licenses; [ artistic1 gpl1Plus ];
13768     };
13769   };
13771   LinguaENInflectNumber = buildPerlPackage {
13772     pname = "Lingua-EN-Inflect-Number";
13773     version = "1.12";
13774     src = fetchurl {
13775       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-Inflect-Number-1.12.tar.gz";
13776       hash = "sha256-Zvszg4USdG9cWX6AJk/qZmQ/fyZXDsL5IFthNa1nrL8=";
13777     };
13778     propagatedBuildInputs = [ LinguaENInflect ];
13779     meta = {
13780       description = "Force number of words to singular or plural";
13781       homepage = "https://github.com/neilbowers/Lingua-EN-Inflect-Number";
13782       license = with lib.licenses; [ artistic1 gpl1Plus ];
13783     };
13784   };
13786   LinguaENInflectPhrase = buildPerlPackage {
13787     pname = "Lingua-EN-Inflect-Phrase";
13788     version = "0.20";
13789     src = fetchurl {
13790       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.20.tar.gz";
13791       hash = "sha256-VQWJEamfF1XePrRJqZ/765LYjAH/XcYFEaJGeQUN3qg=";
13792     };
13793     buildInputs = [ TestNoWarnings ];
13794     propagatedBuildInputs = [ LinguaENInflectNumber LinguaENNumberIsOrdinal LinguaENTagger ];
13795     meta = {
13796       description = "Inflect short English Phrases";
13797       homepage = "https://metacpan.org/release/Lingua-EN-Inflect-Phrase";
13798       license = with lib.licenses; [ artistic1 gpl1Plus ];
13799     };
13800   };
13802   LinguaENNumberIsOrdinal = buildPerlPackage {
13803     pname = "Lingua-EN-Number-IsOrdinal";
13804     version = "0.05";
13805     src = fetchurl {
13806       url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Number-IsOrdinal-0.05.tar.gz";
13807       hash = "sha256-KNVpVADA9OK9IJeTy3T22iuSVzVqrLKUfGA0JeCWGNY=";
13808     };
13809     buildInputs = [ TestFatal TryTiny ];
13810     propagatedBuildInputs = [ LinguaENFindNumber ];
13811     meta = {
13812       description = "Detect if English number is ordinal or cardinal";
13813       homepage = "https://metacpan.org/release/Lingua-EN-Number-IsOrdinal";
13814       license = with lib.licenses; [ artistic1 gpl1Plus ];
13815     };
13816   };
13818   LinguaENTagger = buildPerlPackage {
13819     pname = "Lingua-EN-Tagger";
13820     version = "0.31";
13821     src = fetchurl {
13822       url = "mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.31.tar.gz";
13823       hash = "sha256-lJ6Mh+SAj3uglrl5Ig/wgbvgO21XiQ0u7NS4Ouhy6ZM=";
13824     };
13825     propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ];
13826     meta = {
13827       description = "Part-of-speech tagger for English natural language processing";
13828       license = with lib.licenses; [ gpl3Only ];
13829     };
13830   };
13832   LinguaENWords2Nums = buildPerlPackage {
13833     pname = "Lingua-EN-Words2Nums";
13834     version = "0.18";
13835     src = fetchurl {
13836       url = "mirror://cpan/authors/id/J/JO/JOEY/Lingua-EN-Words2Nums-0.18.tar.gz";
13837       hash = "sha256-aGVWeXzSpOqgZvGbvwOrJcBieCksnq0vGH39kDHqHYU=";
13838     };
13839     meta = {
13840       description = "Convert English text to numbers";
13841       license = with lib.licenses; [ artistic1 gpl1Plus ];
13842     };
13843   };
13845   LinguaPTStemmer = buildPerlPackage {
13846     pname = "Lingua-PT-Stemmer";
13847     version = "0.02";
13848     src = fetchurl {
13849       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-PT-Stemmer-0.02.tar.gz";
13850       hash = "sha256-WW3wH4q3n//9RQ6Ug2pUQ3HYpMk6FffojqLxt5xGhJ0=";
13851     };
13852     meta = {
13853       description = "Portuguese language stemming";
13854       homepage = "https://github.com/neilb/Lingua-PT-Stemmer";
13855       license = with lib.licenses; [ artistic1 gpl1Plus ];
13856     };
13857   };
13859   LinguaStem = buildPerlModule {
13860     pname = "Lingua-Stem";
13861     version = "2.31";
13862     src = fetchurl {
13863       url = "mirror://cpan/authors/id/S/SN/SNOWHARE/Lingua-Stem-2.31.tar.gz";
13864       hash = "sha256-qhqZMrZCflmCU+YajM0NBMxVn66dWNh3TCAncItjAmQ=";
13865     };
13866     doCheck = false;
13867     propagatedBuildInputs = [ LinguaPTStemmer LinguaStemFr LinguaStemIt LinguaStemRu LinguaStemSnowballDa SnowballNorwegian SnowballSwedish TextGerman ];
13868     meta = {
13869       description = "Stemming of words";
13870       license = with lib.licenses; [ artistic1 gpl1Plus ];
13871     };
13872   };
13874   LinguaStemFr = buildPerlPackage {
13875     pname = "Lingua-Stem-Fr";
13876     version = "0.02";
13877     src = fetchurl {
13878       url = "mirror://cpan/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz";
13879       hash = "sha256-nU9ks6iJihhTQyGFJtWsaKSh+ObEQY1rqV1i9fnV2W8=";
13880     };
13881     meta = {
13882       description = "Perl French Stemming";
13883       license = with lib.licenses; [ artistic1 gpl1Plus ];
13884     };
13885   };
13887   LinguaStemIt = buildPerlPackage {
13888     pname = "Lingua-Stem-It";
13889     version = "0.02";
13890     src = fetchurl {
13891       url = "mirror://cpan/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz";
13892       hash = "sha256-OOZz+3T+ARWILlrbJnTesIH6tyHXKO4qgRQWPVDIB4g=";
13893     };
13894     meta = {
13895       description = "Porter's stemming algorithm for Italian";
13896       license = with lib.licenses; [ artistic1 gpl1Plus ];
13897     };
13898   };
13900   LinguaStemRu = buildPerlPackage {
13901     pname = "Lingua-Stem-Ru";
13902     version = "0.04";
13903     src = fetchurl {
13904       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-Stem-Ru-0.04.tar.gz";
13905       hash = "sha256-EnDOt0dk/blYNwqAiDSvl26H9pqFRw+LxGJYeX6rUig=";
13906     };
13907     meta = {
13908       description = "Porter's stemming algorithm for Russian (KOI8-R only)";
13909       homepage = "https://github.com/neilb/Lingua-Stem-Ru";
13910       license = with lib.licenses; [ artistic1 gpl1Plus ];
13911     };
13912   };
13914   LinguaStemSnowballDa = buildPerlPackage {
13915     pname = "Lingua-Stem-Snowball-Da";
13916     version = "1.01";
13917     src = fetchurl {
13918       url = "mirror://cpan/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz";
13919       hash = "sha256-Ljm+TuAVx+xHwrBnhYAYp0BuONUSHWVcikaHSt+poFY=";
13920     };
13921     meta = {
13922       description = "Porters stemming algorithm for Denmark";
13923       license = with lib.licenses; [ gpl2Only ];
13924     };
13925   };
13927   LinguaTranslit = buildPerlPackage {
13928     pname = "Lingua-Translit";
13929     version = "0.29";
13930     src = fetchurl {
13931       url = "mirror://cpan/authors/id/A/AL/ALINKE/Lingua-Translit-0.29.tar.gz";
13932       hash = "sha256-GtL6vAB52tcIt9nVVDfJ67GS5hC/lgryWUWFi5JZd1I=";
13933     };
13934     doCheck = false;
13935     meta = {
13936       description = "Transliterates text between writing systems";
13937       license = with lib.licenses; [ artistic1 gpl1Plus ];
13938       mainProgram = "translit";
13939     };
13940   };
13942   LinkEmbedder = buildPerlPackage {
13943     pname = "LinkEmbedder";
13944     version = "1.20";
13945     src = fetchurl {
13946       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/LinkEmbedder-1.20.tar.gz";
13947       hash = "sha256-sd6LTiXHIplEOeesA0vorjeiCUijG/SF8iu0hvzI3KU=";
13948     };
13949     buildInputs = [ TestDeep ];
13950     propagatedBuildInputs = [ Mojolicious ];
13951     meta = {
13952       description = "Embed / expand oEmbed resources and other URL / links";
13953       homepage = "https://github.com/jhthorsen/linkembedder";
13954       license = with lib.licenses; [ artistic2 ];
13955       maintainers = with maintainers; [ sgo ];
13956     };
13957   };
13959   LinuxACL = buildPerlPackage {
13960     pname = "Linux-ACL";
13961     version = "0.05";
13962     src = fetchurl {
13963       url = "mirror://cpan/authors/id/N/NA/NAZAROV/Linux-ACL-0.05.tar.gz";
13964       hash = "sha256-MSlAwfYPR8T8k/oKnSpiZCX6qDcEDIwvGtWO4J9i83E=";
13965     };
13966     buildInputs = [ pkgs.acl ];
13967     NIX_CFLAGS_LINK = "-L${pkgs.acl.out}/lib -lacl";
13968     meta = {
13969       description = "Perl extension for reading and setting Access Control Lists for files by libacl linux library";
13970       license = with lib.licenses; [ artistic1 gpl1Plus ];
13971       maintainers = teams.deshaw.members;
13972     };
13973   };
13975   LinuxDesktopFiles = buildPerlModule {
13976     pname = "Linux-DesktopFiles";
13977     version = "0.25";
13978     src = fetchurl {
13979       url = "mirror://cpan/authors/id/T/TR/TRIZEN/Linux-DesktopFiles-0.25.tar.gz";
13980       hash = "sha256-YDd6dPupD6RlIA7hx0MNvd5p1FTYX57hAcA5gDoH5fU=";
13981     };
13982     meta = {
13983       description = "Fast parsing of the Linux desktop files";
13984       homepage = "https://github.com/trizen/Linux-DesktopFiles";
13985       license = with lib.licenses; [ artistic2 ];
13986     };
13987   };
13989   LinuxDistribution = buildPerlModule {
13990     pname = "Linux-Distribution";
13991     version = "0.23";
13992     src = fetchurl {
13993       url = "mirror://cpan/authors/id/C/CH/CHORNY/Linux-Distribution-0.23.tar.gz";
13994       hash = "sha256-YD4n2mB7PocqZp16ZtdZgvCWkVPqstSyDDQTR7Tr2l8=";
13995     };
13996     # The tests fail if the distro it's built on isn't in the supported list.
13997     # This includes NixOS.
13998     doCheck = false;
13999     meta = {
14000       description = "Perl extension to detect on which Linux distribution we are running";
14001       license = with lib.licenses; [ artistic1 gpl1Plus ];
14002       platforms = lib.platforms.linux;
14003     };
14004   };
14006   LinuxFD = buildPerlModule {
14007     pname = "Linux-FD";
14008     version = "0.014";
14009     src = fetchurl {
14010       url = "mirror://cpan/authors/id/L/LE/LEONT/Linux-FD-0.014.tar.gz";
14011       hash = "sha256-eDHcJkxG2bh/dkNhdNdmFBRSQ2Mwg+CQqrTZo1LwQ60=";
14012     };
14013     buildInputs = [ TestException ];
14014     propagatedBuildInputs = [ SubExporter ];
14015     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
14016     meta = {
14017       description = "Linux specific special filehandles";
14018       license = with lib.licenses; [ artistic1 gpl1Plus ];
14019       platforms = lib.platforms.linux;
14020     };
14021   };
14023   LinuxInotify2 = buildPerlPackage {
14024     pname = "Linux-Inotify2";
14025     version = "2.3";
14026     src = fetchurl {
14027       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-2.3.tar.gz";
14028       hash = "sha256-y5kVD5/6UdvDvl7pjY6RyYzf6uIuuI5xjyzzZ78nDRc=";
14029     };
14030     propagatedBuildInputs = [ commonsense ];
14032     meta = {
14033       description = "Scalable directory/file change notification for Perl on Linux";
14034       license = with lib.licenses; [ artistic1 gpl1Plus ];
14035       platforms = lib.platforms.linux;
14036     };
14037   };
14039   Linuxusermod = buildPerlPackage {
14040     pname = "Linux-usermod";
14041     version = "0.69";
14042     src = fetchurl {
14043       url = "mirror://cpan/authors/id/V/VI/VIDUL/Linux-usermod-0.69.tar.gz";
14044       hash = "sha256-l8oYajxBa/ae1i2gRvGmDYjYm45u0lAIsvlueH3unWA=";
14045     };
14046     meta = {
14047       description = "This module adds, removes and modify user and group accounts according to the passwd and shadow files syntax";
14048       license = with lib.licenses; [ artistic1 gpl1Plus ];
14049       platforms = lib.platforms.linux;
14050     };
14051   };
14053   ListAllUtils = buildPerlPackage {
14054     pname = "List-AllUtils";
14055     version = "0.19";
14056     src = fetchurl {
14057       url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.19.tar.gz";
14058       hash = "sha256-MKgUarIad4e4xW1YKc+afysVJ207P8oHM2rDjTAC/7w=";
14059     };
14060     propagatedBuildInputs = [ ListSomeUtils ListUtilsBy ];
14061     meta = {
14062       description = "Combines List::Util, List::SomeUtils and List::UtilsBy in one bite-sized package";
14063       homepage = "https://metacpan.org/release/List-AllUtils";
14064       license = with lib.licenses; [ artistic2 ];
14065     };
14066   };
14068   ListBinarySearch = buildPerlPackage {
14069     pname = "List-BinarySearch";
14070     version = "0.25";
14071     src = fetchurl {
14072       url = "mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.25.tar.gz";
14073       hash = "sha256-yBEwcb1gQANe6KsBzxtyqRBXQZLx0XkQKud1qXPy6Co=";
14074     };
14075     meta = {
14076       description = "Binary Search within a sorted array";
14077       license = with lib.licenses; [ artistic1 gpl1Plus ];
14078     };
14079   };
14081   ListCompare = buildPerlPackage {
14082     pname = "List-Compare";
14083     version = "0.55";
14084     src = fetchurl {
14085       url = "mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.55.tar.gz";
14086       hash = "sha256-zHGUeYNledUrArwyjtgKmPZ53wQ6mbVxCrLBkWaeuDc=";
14087     };
14088     buildInputs = [ CaptureTiny ];
14089     meta = {
14090       description = "Compare elements of two or more lists";
14091       homepage = "http://thenceforward.net/perl/modules/List-Compare";
14092       license = with lib.licenses; [ artistic1 gpl1Plus ];
14093     };
14094   };
14096   ListMoreUtils = buildPerlPackage {
14097     pname = "List-MoreUtils";
14098     version = "0.430";
14099     src = fetchurl {
14100       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-0.430.tar.gz";
14101       hash = "sha256-Y7H3hCzULZtTjR404DMN5f8VWeTCc3NCUGQYJ29kZSc=";
14102     };
14103     propagatedBuildInputs = [ ExporterTiny ListMoreUtilsXS ];
14104     buildInputs = [ TestLeakTrace ];
14105     meta = {
14106       description = "Provide the stuff missing in List::Util";
14107       license = with lib.licenses; [ artistic1 gpl1Plus ];
14108     };
14109   };
14111   ListMoreUtilsXS = buildPerlPackage {
14112     pname = "List-MoreUtils-XS";
14113     version = "0.430";
14114     src = fetchurl {
14115       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.430.tar.gz";
14116       hash = "sha256-6M5G1XwXnuzYdYKT6UAP8wCq8g/v4KnRW5/iMCucskI=";
14117     };
14118     preConfigure = ''
14119       export LD=$CC
14120     '';
14121     meta = {
14122       description = "Provide the stuff missing in List::Util in XS";
14123       homepage = "https://metacpan.org/release/List-MoreUtils-XS";
14124       license = with lib.licenses; [ asl20 ];
14125     };
14126   };
14128   ListSomeUtils = buildPerlPackage {
14129     pname = "List-SomeUtils";
14130     version = "0.59";
14131     src = fetchurl {
14132       url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.59.tar.gz";
14133       hash = "sha256-+rMDcuTGe/WkYGLaONHQyHVief6tqGbrQ5+ilXGi3Hs=";
14134     };
14135     buildInputs = [ TestLeakTrace ];
14136     propagatedBuildInputs = [ ModuleImplementation ];
14137     meta = {
14138       description = "Provide the stuff missing in List::Util";
14139       homepage = "https://metacpan.org/release/List-SomeUtils";
14140       license = with lib.licenses; [ artistic1 gpl1Plus ];
14141     };
14142   };
14144   ListUtilsBy = buildPerlModule {
14145     pname = "List-UtilsBy";
14146     version = "0.12";
14147     src = fetchurl {
14148       url = "mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.12.tar.gz";
14149       hash = "sha256-//EoH9Rp/pgrGlgES+z9lw8xO/86JuHHsrP0wKXtceA=";
14150     };
14151     meta = {
14152       description = "Higher-order list utility functions";
14153       license = with lib.licenses; [ artistic1 gpl1Plus ];
14154     };
14155   };
14157   LocaleCodes = buildPerlPackage {
14158     pname = "Locale-Codes";
14159     version = "3.76";
14160     src = fetchurl {
14161       url = "mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.76.tar.gz";
14162       hash = "sha256-Qo00GFUJ7fbaYoYoAJcohrsCwySTRU/L4Y+Zmk9DXzk=";
14163     };
14164     buildInputs = [ TestInter ];
14165     meta = {
14166       description = "A distribution of modules to handle locale codes";
14167       homepage = "https://github.com/SBECK-github/Locale-Codes";
14168       license = with lib.licenses; [ artistic1 gpl1Plus ];
14169     };
14170   };
14172   LocaleGettext = buildPerlPackage {
14173     pname = "gettext";
14174     version = "1.07";
14175     strictDeps = true;
14176     buildInputs = [ pkgs.gettext ];
14177     src = fetchurl {
14178       url = "mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz";
14179       hash = "sha256-kJ1HlUaX58BCGPlykVt4e9EkTXXjvQFiC8Fn1bvEnBU=";
14180     };
14181     LANG="C";
14182     meta = {
14183       description = "Perl extension for emulating gettext-related API";
14184       license = with lib.licenses; [ artistic1 gpl1Plus ];
14185     };
14186   };
14188   LocaleMaketextLexiconGetcontext = buildPerlPackage {
14189     pname = "Locale-Maketext-Lexicon-Getcontext";
14190     version = "0.05";
14191     src = fetchurl {
14192       url = "mirror://cpan/authors/id/S/SA/SAPER/Locale-Maketext-Lexicon-Getcontext-0.05.tar.gz";
14193       hash = "sha256-dcsz35RypZYt5UCC9CxqdrJg/EBboQylMkb7H4LAkgg=";
14194     };
14195     propagatedBuildInputs = [ LocaleMaketextLexicon ];
14196     meta = {
14197       description = "PO file parser for Maketext";
14198       license = with lib.licenses; [ mit ];
14199     };
14200   };
14202   LocaleMOFile = buildPerlPackage {
14203     pname = "Locale-MO-File";
14204     version = "0.09";
14205     src = fetchurl {
14206       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-MO-File-0.09.tar.gz";
14207       hash = "sha256-lwNtw/Cds3BSrp2aUUSH6IS1bZDHbKEtbKtAXSNWSj8=";
14208     };
14209     propagatedBuildInputs = [ ConstFast MooXStrictConstructor MooXTypesMooseLike ParamsValidate namespaceautoclean ];
14210     buildInputs = [ TestDifferences TestException TestHexDifferences TestNoWarnings ];
14211     meta = {
14212       description = "Write or read gettext MO files";
14213       license = with lib.licenses; [ artistic1 gpl1Plus ];
14214     };
14215   };
14217   LocaleMaketextFuzzy = buildPerlPackage {
14218     pname = "Locale-Maketext-Fuzzy";
14219     version = "0.11";
14220     src = fetchurl {
14221       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Fuzzy-0.11.tar.gz";
14222       hash = "sha256-N4UXHOt4zHZxMZo6bYztmxkOCX382bKp68gEzRooL5Y=";
14223     };
14224     meta = {
14225       description = "Maketext from already interpolated strings";
14226       license = with lib.licenses; [ cc0 ];
14227     };
14228   };
14230   LocaleMaketextLexicon = buildPerlPackage {
14231     pname = "Locale-Maketext-Lexicon";
14232     version = "1.00";
14233     src = fetchurl {
14234       url = "mirror://cpan/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-1.00.tar.gz";
14235       hash = "sha256-tz9rBKWNPw446/IRWkwVMvGk7vb6xcaipEnk4Uwd3Hw=";
14236     };
14237     meta = {
14238       description = "Use other catalog formats in Maketext";
14239       homepage = "https://search.cpan.org/dist/Locale-Maketext-Lexicon";
14240       license = with lib.licenses; [ mit ];
14241       mainProgram = "xgettext.pl";
14242     };
14243   };
14245   LocaleMsgfmt = buildPerlPackage {
14246     pname = "Locale-Msgfmt";
14247     version = "0.15";
14248     src = fetchurl {
14249       url = "mirror://cpan/authors/id/A/AZ/AZAWAWI/Locale-Msgfmt-0.15.tar.gz";
14250       hash = "sha256-wydoMcvuz1i+AggbzBgL00jao12iGnc3t7A4pZ9kOrQ=";
14251     };
14252     meta = {
14253       description = "Compile .po files to .mo files";
14254       license = with lib.licenses; [ artistic1 gpl1Plus ];
14255     };
14256   };
14258   LocalePO = buildPerlPackage {
14259     pname = "Locale-PO";
14260     version = "0.27";
14261     src = fetchurl {
14262       url = "mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.27.tar.gz";
14263       hash = "sha256-PJlKS2Pm5Og2xveak/UZIcq3fJDJdT/g+LVCkiDVFrk=";
14264     };
14265     propagatedBuildInputs = [ FileSlurp ];
14266     meta = {
14267       description = "Perl module for manipulating .po entries from GNU gettext";
14268       license = with lib.licenses; [ artistic1 gpl1Plus ];
14269     };
14270   };
14272   LocaleTextDomainOO = buildPerlPackage {
14273     pname = "Locale-TextDomain-OO";
14274     version = "1.036";
14275     src = fetchurl {
14276       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-1.036.tar.gz";
14277       hash = "sha256-tReD4aiWICE+oqg+RbrsOqhunL4en6W590+HSbBUDjg=";
14278     };
14279     propagatedBuildInputs = [ ClassLoad Clone JSON LocaleMOFile LocalePO LocaleTextDomainOOUtil LocaleUtilsPlaceholderBabelFish LocaleUtilsPlaceholderMaketext LocaleUtilsPlaceholderNamed MooXSingleton PathTiny TieSub ];
14280     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14281     meta = {
14282       description = "Locale::TextDomain::OO - Perl OO Interface to Uniforum Message Translation";
14283       license = with lib.licenses; [ artistic1 gpl1Plus ];
14284     };
14285   };
14287   LocaleTextDomainOOUtil = buildPerlPackage {
14288     pname = "Locale-TextDomain-OO-Util";
14289     version = "4.002";
14290     src = fetchurl {
14291       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-Util-4.002.tar.gz";
14292       hash = "sha256-PF+gf2Xtd8Ap4g0kahBAQRSPGptH4332PzflHQK9RqA=";
14293     };
14294     propagatedBuildInputs = [ namespaceautoclean ];
14295     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14296     meta = {
14297       description = "Locale::TextDomain::OO::Util - Lexicon utils";
14298       license = with lib.licenses; [ artistic1 gpl1Plus ];
14299     };
14300   };
14302   LocaleUtilsPlaceholderBabelFish = buildPerlPackage {
14303     pname = "Locale-Utils-PlaceholderBabelFish";
14304     version = "0.006";
14305     src = fetchurl {
14306       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderBabelFish-0.006.tar.gz";
14307       hash = "sha256-LhwAU5ljqeyr0se5te+QpWBna7A0giUXYin8jqS0pMw=";
14308     };
14309     propagatedBuildInputs = [ HTMLParser MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
14310     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14311     meta = {
14312       description = "Locale::Utils::PlaceholderBabelFish - Utils to expand BabelFish palaceholders";
14313       license = with lib.licenses; [ artistic1 gpl1Plus ];
14314     };
14315   };
14317   LocaleUtilsPlaceholderMaketext = buildPerlPackage {
14318     pname = "Locale-Utils-PlaceholderMaketext";
14319     version = "1.005";
14320     src = fetchurl {
14321       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderMaketext-1.005.tar.gz";
14322       hash = "sha256-UChgS9jzPY0yymkp+9DagP9L30KN6ARfs/Bbp9FdNOs=";
14323     };
14324     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
14325     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14326     meta = {
14327       description = "Locale::Utils::PlaceholderMaketext - Utils to expand maketext placeholders";
14328       license = with lib.licenses; [ artistic1 gpl1Plus ];
14329     };
14330   };
14332   LocaleUtilsPlaceholderNamed = buildPerlPackage {
14333     pname = "Locale-Utils-PlaceholderNamed";
14334     version = "1.004";
14335     src = fetchurl {
14336       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderNamed-1.004.tar.gz";
14337       hash = "sha256-b9eOojm1w1m6lCJ1N2b2OO5PkM0hdRpZs4YVXipFpr0=";
14338     };
14339     propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
14340     buildInputs = [ TestDifferences TestException TestNoWarnings ];
14341     meta = {
14342       description = "Locale::Utils::PlaceholderNamed - Utils to expand named placeholders";
14343       license = with lib.licenses; [ artistic1 gpl1Plus ];
14344     };
14345   };
14347   locallib = buildPerlPackage {
14348     pname = "local-lib";
14349     version = "2.000029";
14350     src = fetchurl {
14351       url = "mirror://cpan/authors/id/H/HA/HAARG/local-lib-2.000029.tar.gz";
14352       hash = "sha256-jfh6EMFMjpCcW0fFcB5LgYfVGeUlHofIBwmwK7M+/dc=";
14353     };
14354     propagatedBuildInputs = [ ModuleBuild ];
14355     meta = {
14356       description = "Create and use a local lib/ for perl modules with PERL5LIB";
14357       license = with lib.licenses; [ artistic1 gpl1Plus ];
14358     };
14359   };
14361   LockFileSimple = buildPerlPackage {
14362     pname = "LockFile-Simple";
14363     version = "0.208";
14364     src = fetchurl {
14365       url = "mirror://cpan/authors/id/S/SC/SCHWIGON/lockfile-simple/LockFile-Simple-0.208.tar.gz";
14366       hash = "sha256-Rcd4lrKloKRfYgKm+BP0N/+LKD+EocYNDE83MIAq86I=";
14367     };
14368     meta = {
14369       description = "Simple file locking scheme";
14370       license = with lib.licenses; [ artistic1 gpl2Plus ];
14371     };
14372   };
14374   LogAny = buildPerlPackage {
14375     pname = "Log-Any";
14376     version = "1.717";
14377     src = fetchurl {
14378       url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-1.717.tar.gz";
14379       hash = "sha256-VmSdoPOQAjDJ49KSUssKdIBvst3r0igFrNc2iVmmW8o=";
14380     };
14381     # Syslog test fails.
14382     preCheck = "rm t/syslog.t";
14383     meta = {
14384       description = "Bringing loggers and listeners together";
14385       homepage = "https://github.com/preaction/Log-Any";
14386       license = with lib.licenses; [ artistic1 gpl1Plus ];
14387     };
14388   };
14390   LogAnyAdapterLog4perl = buildPerlPackage {
14391     pname = "Log-Any-Adapter-Log4perl";
14392     version = "0.09";
14393     src = fetchurl {
14394       url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-Adapter-Log4perl-0.09.tar.gz";
14395       hash = "sha256-EZfT5BIhS+IIgAz3v1BXsf6hVCRTmip5J8/kb3FuwaU=";
14396     };
14397     propagatedBuildInputs = [ LogAny LogLog4perl ];
14398     meta = {
14399       description = "Log::Any adapter for Log::Log4perl";
14400       homepage = "https://github.com/preaction/Log-Any-Adapter-Log4perl";
14401       license = with lib.licenses; [ artistic1 gpl1Plus ];
14402     };
14403   };
14405   LogAnyAdapterTAP = buildPerlPackage {
14406     pname = "Log-Any-Adapter-TAP";
14407     version = "0.003003";
14408     src = fetchurl {
14409       url = "mirror://cpan/authors/id/N/NE/NERDVANA/Log-Any-Adapter-TAP-0.003003.tar.gz";
14410       hash = "sha256-Ex8GibK0KxsxRJcUxu2o+BHdlqfIZ0jx4DsjnP0BIcA=";
14411     };
14412     propagatedBuildInputs = [ LogAny TryTiny ];
14413     meta = {
14414       description = "Logger suitable for use with TAP test files";
14415       homepage = "https://github.com/silverdirk/perl-Log-Any-Adapter-TAP";
14416       license = with lib.licenses; [ artistic1 gpl1Plus ];
14417     };
14418   };
14420   LogContextual = buildPerlPackage {
14421     pname = "Log-Contextual";
14422     version = "0.008001";
14423     src = fetchurl {
14424       url = "mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.008001.tar.gz";
14425       hash = "sha256-uTy8+7h5bVHINuOwAkPNpWMICMFSwU7uXyDKCclFGZM=";
14426     };
14427     buildInputs = [ TestFatal ];
14428     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
14429     meta = {
14430       description = "Simple logging interface with a contextual log";
14431       homepage = "https://github.com/frioux/Log-Contextual";
14432       license = with lib.licenses; [ artistic1 gpl1Plus ];
14433     };
14434   };
14436   LogDispatch = buildPerlPackage {
14437     pname = "Log-Dispatch";
14438     version = "2.71";
14439     src = fetchurl {
14440       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.71.tar.gz";
14441       hash = "sha256-nWDZZIw1zidUcx603rfwWAns4b1jO3TXR5Wu2exzJXA=";
14442     };
14443     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
14444     buildInputs = [ IPCRun3 TestFatal TestNeeds ];
14445     meta = {
14446       description = "Dispatches messages to one or more outputs";
14447       homepage = "https://metacpan.org/release/Log-Dispatch";
14448       license = with lib.licenses; [ artistic2 ];
14449     };
14450   };
14452   LogDispatchFileRotate = buildPerlPackage {
14453     pname = "Log-Dispatch-FileRotate";
14454     version = "1.38";
14455     src = fetchurl {
14456       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Log-Dispatch-FileRotate-1.38.tar.gz";
14457       hash = "sha256-tV1s7ePwoGQmSI+/pVT0VhMgsBTBAjiTztKVCOW85Ow=";
14458     };
14459     propagatedBuildInputs = [ DateManip LogDispatch ];
14460     buildInputs = [ PathTiny TestWarn ];
14461     meta = {
14462       description = "Log to Files that Archive/Rotate Themselves";
14463       homepage = "https://github.com/mschout/perl-log-dispatch-filerotate";
14464       license = with lib.licenses; [ artistic1 gpl1Plus ];
14465     };
14466   };
14468   LogfileRotate = buildPerlPackage {
14469     pname = "Logfile-Rotate";
14470     version = "1.04";
14471     src = fetchurl {
14472       url = "mirror://cpan/authors/id/P/PA/PAULG/Logfile-Rotate-1.04.tar.gz";
14473       hash = "sha256-gQ+LfM2GV9Ox71PNR1glR4Rc67WCArBVObNAhjjK2j4=";
14474     };
14475     meta = {
14476       description = "Perl module to rotate logfiles";
14477       homepage = "https://metacpan.org/dist/Logfile-Rotate";
14478       license = with lib.licenses; [ artistic1 gpl1Plus ];
14479       maintainers = with maintainers; [ tomasajt ];
14480     };
14481   };
14483   Logger = buildPerlPackage {
14484     pname = "Log-ger";
14485     version = "0.040";
14486     src = fetchurl {
14487       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Log-ger-0.040.tar.gz";
14488       hash = "sha256-6JEdM4ePoWmeQ+jQpU7V1WEEA4Z/9cM5+TQQPRfsZLA=";
14489     };
14490     meta = {
14491       description = "A lightweight, flexible logging framework";
14492       homepage = "https://metacpan.org/release/Log-ger";
14493       license = with lib.licenses; [ artistic1 gpl1Plus ];
14494       maintainers = [ maintainers.sgo ];
14495     };
14496   };
14498   LogHandler = buildPerlModule {
14499     pname = "Log-Handler";
14500     version = "0.90";
14501     src = fetchurl {
14502       url = "mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.90.tar.gz";
14503       hash = "sha256-OlyA5xKEVHcPg6yrjL0+cOXsPVmmHcMnkqF48LMb900=";
14504     };
14505     propagatedBuildInputs = [ ParamsValidate ];
14506     meta = {
14507       description = "Log messages to several outputs";
14508       license = with lib.licenses; [ artistic1 gpl1Plus ];
14509     };
14510   };
14512   LogMessage = buildPerlPackage {
14513     pname = "Log-Message";
14514     version = "0.08";
14515     src = fetchurl {
14516       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz";
14517       hash = "sha256-vWl91iqvJtEY6fCggTQp3rHFRORQFVmHm2H8vf6Z/kY=";
14518     };
14519     meta = {
14520       description = "Powerful and flexible message logging mechanism";
14521       license = with lib.licenses; [ artistic1 gpl1Plus ];
14522     };
14523   };
14525   LogMessageSimple = buildPerlPackage {
14526     pname = "Log-Message-Simple";
14527     version = "0.10";
14528     src = fetchurl {
14529       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-Simple-0.10.tar.gz";
14530       hash = "sha256-qhLRpMCsJguU1Ej6Af66JCqKhctsv9xmQy47W0aK3ZY=";
14531     };
14532     propagatedBuildInputs = [ LogMessage ];
14533     meta = {
14534       description = "Simplified interface to Log::Message";
14535       license = with lib.licenses; [ artistic1 gpl1Plus ];
14536     };
14537   };
14539   LogTrace = buildPerlPackage {
14540     pname = "Log-Trace";
14541     version = "1.070";
14542     src = fetchurl {
14543       url = "mirror://cpan/authors/id/B/BB/BBC/Log-Trace-1.070.tar.gz";
14544       hash = "sha256-nsuCWO8wwvJN7/SRckDQ/nMkLaWyGSQC95gVsJLtNuM=";
14545     };
14546     meta = {
14547       description = "Provides a unified approach to tracing";
14548       license = with lib.licenses; [ gpl1Only ];
14549     };
14550   };
14552   MCE = buildPerlPackage {
14553     pname = "MCE";
14554     version = "1.889";
14555     src = fetchurl {
14556       url = "mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.889.tar.gz";
14557       hash = "sha256-22FT5HTQRvwlMFC/U8VAAthM1Mp30hwrnfVv7rgJu+0=";
14558     };
14559     meta = {
14560       description = "Many-Core Engine for Perl providing parallel processing capabilities";
14561       homepage = "https://github.com/marioroy/mce-perl";
14562       license = with lib.licenses; [ artistic1 gpl1Plus ];
14563     };
14564   };
14566   LogLog4perl = buildPerlPackage {
14567     pname = "Log-Log4perl";
14568     version = "1.57";
14569     src = fetchurl {
14570       url = "mirror://cpan/authors/id/E/ET/ETJ/Log-Log4perl-1.57.tar.gz";
14571       hash = "sha256-D4/Ldjio89tMeX35T9vFYBN0kULy+Uy8lbQ8n8oJahM=";
14572     };
14573     meta = {
14574       description = "Log4j implementation for Perl";
14575       homepage = "https://mschilli.github.io/log4perl/";
14576       license = with lib.licenses; [ artistic1 gpl1Plus ];
14577       mainProgram = "l4p-tmpl";
14578     };
14579   };
14581   LogDispatchArray = buildPerlPackage {
14582     pname = "Log-Dispatch-Array";
14583     version = "1.005";
14584     src = fetchurl {
14585       url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.005.tar.gz";
14586       hash = "sha256-MRZAt6ln+N18m7QaInBzVlY21w30/MHUT+2KgiOzR8o=";
14587     };
14588     buildInputs = [ TestDeep ];
14589     propagatedBuildInputs = [ LogDispatch ];
14590     meta = {
14591       description = "Log events to an array (reference)";
14592       homepage = "https://github.com/rjbs/Log-Dispatch-Array";
14593       license = with lib.licenses; [ artistic1 gpl1Plus ];
14594     };
14595   };
14597   LogDispatchouli = buildPerlPackage {
14598     pname = "Log-Dispatchouli";
14599     version = "3.007";
14600     src = fetchurl {
14601       url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-3.007.tar.gz";
14602       hash = "sha256-mIEYlllSukmo+nkaZTaIDIkBf0651ywXRe1n0VwNJyw=";
14603     };
14604     buildInputs = [ TestDeep TestFatal ];
14605     propagatedBuildInputs = [ LogDispatchArray StringFlogger SubExporterGlobExporter ];
14606     meta = {
14607       description = "A simple wrapper around Log::Dispatch";
14608       homepage = "https://github.com/rjbs/Log-Dispatchouli";
14609       license = with lib.licenses; [ artistic1 gpl1Plus ];
14610     };
14611   };
14613   LogJournald = buildPerlModule rec {
14614     pname = "Log-Journald";
14615     version = "0.30";
14616     src = fetchurl {
14617       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/Log-Journald-0.30.tar.gz";
14618       hash = "sha256-VZks+aHh+4M/QoMAUlv6fPftRrg+xBT4KgkXibN9CKM=";
14619     };
14620     nativeBuildInputs = [ pkgs.pkg-config ];
14621     buildInputs = [ pkgs.systemd ];
14622     postPatch = ''
14623       substituteInPlace Build.PL \
14624         --replace "libsystemd-journal" "libsystemd"
14625     '';
14626     meta = {
14627       description = "Send messages to a systemd journal";
14628       license = with lib.licenses; [ artistic1 gpl1Plus ];
14629     };
14630   };
14632   LogLogLite = buildPerlPackage {
14633     pname = "Log-LogLite";
14634     version = "0.82";
14635     src = fetchurl {
14636       url = "mirror://cpan/authors/id/R/RA/RANI/Log-LogLite-0.82.tar.gz";
14637       hash = "sha256-BQn7i8VDrJZ1pI6xplpjUoYIxsP99ioZ4XBzUA5RGms=";
14638     };
14639     propagatedBuildInputs = [ IOLockedFile ];
14640     meta = {
14641       description = "Helps us create simple logs for our application";
14642       license = with lib.licenses; [ artistic1 gpl1Plus ];
14643     };
14644   };
14646   LongJump = buildPerlPackage {
14647     pname = "Long-Jump";
14648     version = "0.000001";
14649     src = fetchurl {
14650       url = "mirror://cpan/authors/id/E/EX/EXODIST/Long-Jump-0.000001.tar.gz";
14651       hash = "sha256-1dZFbYaZK1Wdj2b8kJYPkZKSzTgDwTQD+qxXV2LHevQ=";
14652     };
14653     buildInputs = [ Test2Suite ];
14654     meta = {
14655       description = "Mechanism for returning to a specific point from a deeply nested stack";
14656       license = with lib.licenses; [ artistic1 gpl1Plus ];
14657     };
14658   };
14660   LWP = buildPerlPackage {
14661     pname = "libwww-perl";
14662     version = "6.72";
14663     src = fetchurl {
14664       url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.72.tar.gz";
14665       hash = "sha256-6bg1T9XiC+IHr+I93VhPzVm/gpmNwHfez2hLodrloF0=";
14666     };
14667     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPCookieJar HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
14668     preCheck = ''
14669       export NO_NETWORK_TESTING=1
14670     '';
14671     # support cross-compilation by avoiding using `has_module` which does not work in miniperl (it requires B native module)
14672     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
14673       substituteInPlace Makefile.PL --replace 'if has_module' 'if 0; #'
14674     '';
14675     doCheck = !stdenv.isDarwin;
14676     nativeCheckInputs = [ HTTPDaemon TestFatal TestNeeds TestRequiresInternet ];
14677     meta = {
14678       description = "The World-Wide Web library for Perl";
14679       license = with lib.licenses; [ artistic1 gpl1Plus ];
14680     };
14681   };
14683   LWPAuthenOAuth = buildPerlPackage {
14684     pname = "LWP-Authen-OAuth";
14685     version = "1.02";
14686     src = fetchurl {
14687       url = "mirror://cpan/authors/id/T/TI/TIMBRODY/LWP-Authen-OAuth-1.02.tar.gz";
14688       hash = "sha256-544L196AAs+0dgBzJY1VXvVbLCfAepSz2KIWahf9lrw=";
14689     };
14690     propagatedBuildInputs = [ LWP ];
14691     meta = {
14692       description = "Generate signed OAuth requests";
14693       license = with lib.licenses; [ artistic1 gpl1Plus ];
14694     };
14695   };
14697   LWPMediaTypes = buildPerlPackage {
14698     pname = "LWP-MediaTypes";
14699     version = "6.04";
14700     src = fetchurl {
14701       url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz";
14702       hash = "sha256-jxvKEtqxahwqfAOknF5YzOQab+yVGfCq37qNrZl5Gdk=";
14703     };
14704     buildInputs = [ TestFatal ];
14705     meta = {
14706       description = "Guess media type for a file or a URL";
14707       homepage = "https://github.com/libwww-perl/lwp-mediatypes";
14708       license = with lib.licenses; [ artistic1 gpl1Plus ];
14709     };
14710   };
14712   LWPProtocolConnect = buildPerlPackage {
14713     pname = "LWP-Protocol-connect";
14714     version = "6.09";
14715     src = fetchurl {
14716       url = "mirror://cpan/authors/id/B/BE/BENNING/LWP-Protocol-connect-6.09.tar.gz";
14717       hash = "sha256-nyUjlHdeI6pCwxdmEeWTBjirUo1RkBELRzGqWwvzWhU=";
14718     };
14719     buildInputs = [ TestException ];
14720     propagatedBuildInputs = [ LWPProtocolHttps ];
14721     meta = {
14722       description = "Provides HTTP/CONNECT proxy support for LWP::UserAgent";
14723       license = with lib.licenses; [ artistic1 gpl1Plus ];
14724     };
14725   };
14727   LWPProtocolHttps = buildPerlPackage {
14728     pname = "LWP-Protocol-https";
14729     version = "6.11";
14730     src = fetchurl {
14731       url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.11.tar.gz";
14732       hash = "sha256-ATLdvwNmFWXKhQUPKlCU+5Jjy7w8yxpNnEGsm7CDuRc=";
14733     };
14734     patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
14735     propagatedBuildInputs = [ IOSocketSSL LWP ];
14736     preCheck = ''
14737       export NO_NETWORK_TESTING=1
14738     '';
14739     buildInputs = [ TestRequiresInternet TestNeeds ];
14740     meta = {
14741       description = "Provide https support for LWP::UserAgent";
14742       homepage = "https://github.com/libwww-perl/LWP-Protocol-https";
14743       license = with lib.licenses; [ artistic1 gpl1Plus ];
14744     };
14745   };
14747   LWPProtocolhttp10 = buildPerlPackage {
14748     pname = "LWP-Protocol-http10";
14749     version = "6.03";
14750     src = fetchurl {
14751       url = "mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-http10-6.03.tar.gz";
14752       hash = "sha256-8/+pEfnVkYHxcXkQ6iZiCQXCmLdNww99TlE57jAguNM=";
14753     };
14754     propagatedBuildInputs = [ LWP ];
14755     meta = {
14756       description = "Legacy HTTP/1.0 support for LWP";
14757       license = with lib.licenses; [ artistic1 gpl1Plus ];
14758     };
14759   };
14761   LWPUserAgentCached = buildPerlPackage {
14762     pname = "LWP-UserAgent-Cached";
14763     version = "0.08";
14764     src = fetchurl {
14765       url = "mirror://cpan/authors/id/O/OL/OLEG/LWP-UserAgent-Cached-0.08.tar.gz";
14766       hash = "sha256-Pc5atMeAQWVs54Vk92Az5b0ew4b1TS57MHQK5I7nh8M=";
14767     };
14768     propagatedBuildInputs = [ LWP ];
14769     meta = {
14770       description = "LWP::UserAgent with simple caching mechanism";
14771       license = with lib.licenses; [ artistic1 gpl1Plus ];
14772     };
14773   };
14775   LWPUserAgentDNSHosts = buildPerlModule {
14776     pname = "LWP-UserAgent-DNS-Hosts";
14777     version = "0.14";
14778     src = fetchurl {
14779       url = "mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.14.tar.gz";
14780       hash = "sha256-mWl5RD8Ib/yLNmvbukSGWR2T+SF7wgSz5dZrlHIghx8=";
14781     };
14782     propagatedBuildInputs = [ LWP ScopeGuard ];
14783     buildInputs = [ ModuleBuildTiny TestFakeHTTPD TestSharedFork TestTCP TestUseAllModules ];
14784     meta = {
14785       description = "Override LWP HTTP/HTTPS request's host like /etc/hosts";
14786       homepage = "https://github.com/masaki/p5-LWP-UserAgent-DNS-Hosts";
14787       license = with lib.licenses; [ artistic1 gpl1Plus ];
14788     };
14789   };
14791   LWPUserAgentDetermined = buildPerlPackage {
14792     pname = "LWP-UserAgent-Determined";
14793     version = "1.07";
14794     src = fetchurl {
14795       url = "mirror://cpan/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz";
14796       hash = "sha256-BtjVDozTaSoRy0+0Si+E5UdqmPDi5qSg386fZ+Vd21M=";
14797     };
14798     propagatedBuildInputs = [ LWP ];
14799     meta = {
14800       description = "A virtual browser that retries errors";
14801       license = with lib.licenses; [ artistic1 gpl1Plus ];
14802     };
14803   };
14805   LWPUserAgentMockable = buildPerlModule {
14806     pname = "LWP-UserAgent-Mockable";
14807     version = "1.18";
14808     src = fetchurl {
14809       url = "mirror://cpan/authors/id/M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz";
14810       hash = "sha256-JYZPUOOlIZ+J00oYQlmFSUWussXtSBjzbw8wIShUQyQ=";
14811     };
14812     propagatedBuildInputs = [ HookLexWrap LWP SafeIsa ];
14813     # Tests require network connectivity
14814     # https://rt.cpan.org/Public/Bug/Display.html?id=63966 is the bug upstream,
14815     # which doesn't look like it will get fixed anytime soon.
14816     doCheck = false;
14817     buildInputs = [ ModuleBuildTiny TestRequiresInternet ];
14818     meta = {
14819       description = "Permits recording, and later playing back of LWP requests";
14820       license = with lib.licenses; [ artistic1 gpl1Plus ];
14821     };
14822   };
14824   LWPxParanoidAgent = buildPerlPackage {
14825     pname = "LWPx-ParanoidAgent";
14826     version = "1.12";
14827     src = fetchurl {
14828       url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-1.12.tar.gz";
14829       hash = "sha256-zAQa7bdOGDzfkcvryhx71tdk/e5o+9yE8r4IveTg0D0=";
14830     };
14831     doCheck = false; # 3 tests fail, probably because they try to connect to the network
14832     propagatedBuildInputs = [ LWP NetDNS ];
14833     meta = {
14834       description = "Subclass of LWP::UserAgent that protects you from harm";
14835       license = with lib.licenses; [ artistic1 gpl1Plus ];
14836     };
14837   };
14839   maatkit = callPackage ../development/perl-modules/maatkit { };
14841   MacPasteboard = buildPerlPackage {
14842     pname = "Mac-Pasteboard";
14843     version = "0.103";
14844     src = fetchurl {
14845       url = "mirror://cpan/authors/id/W/WY/WYANT/Mac-Pasteboard-0.103.tar.gz";
14846       hash = "sha256-L16N0tsNZEVVhITKbULYOcWpfuiqGyUOaU1n1bf2Y0w=";
14847     };
14848     buildInputs = [ pkgs.darwin.apple_sdk.frameworks.ApplicationServices ];
14849     meta = {
14850       description = "Manipulate Mac OS X pasteboards";
14851       license = with lib.licenses; [ artistic1 gpl1Plus ];
14852       platforms = lib.platforms.darwin;
14853       mainProgram = "pbtool";
14854     };
14855   };
14857   MacPropertyList = buildPerlPackage {
14858     pname = "Mac-PropertyList";
14859     version = "1.504";
14860     src = fetchurl {
14861       url = "mirror://cpan/authors/id/B/BD/BDFOY/Mac-PropertyList-1.504.tar.gz";
14862       hash = "sha256-aIl96Yw2j76c22iF1H3qADxG7Ho3MmNSPvZkVwc7eq4=";
14863     };
14864     propagatedBuildInputs = [ XMLEntities ];
14865     meta = {
14866       description = "Work with Mac plists at a low level";
14867       homepage = "https://github.com/briandfoy/mac-propertylist";
14868       license = lib.licenses.artistic2;
14869     };
14870   };
14872   MacSysProfile = buildPerlPackage {
14873     pname = "Mac-SysProfile";
14874     version = "0.05";
14875     src = fetchurl {
14876       url = "mirror://cpan/authors/id/D/DM/DMUEY/Mac-SysProfile-0.05.tar.gz";
14877       hash = "sha256-QDOXa3dbOcwqaTtyoC1l71p7oDveTU2w3/RuEmx9n2w=";
14878     };
14879     propagatedBuildInputs = [ MacPropertyList ];
14880     meta = {
14881       description = "Perl extension for OS X system_profiler";
14882       license = with lib.licenses; [ artistic1 gpl1Plus ];
14883       platforms = lib.platforms.darwin;
14884     };
14885   };
14887   MailAuthenticationResults = buildPerlPackage {
14888     pname = "Mail-AuthenticationResults";
14889     version = "2.20230112";
14890     src = fetchurl {
14891       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-AuthenticationResults-2.20230112.tar.gz";
14892       hash = "sha256-wtFEyuAiX4vJ0PX60cPxOdJ89TT85+rHB2T79m/SI0E=";
14893     };
14894     buildInputs = [ TestException ];
14895     propagatedBuildInputs = [ Clone JSON ];
14896     meta = {
14897       description = "Object Oriented Authentication-Results Headers";
14898       license = with lib.licenses; [ artistic1 gpl1Plus ];
14899     };
14900   };
14902   MailDMARC = buildPerlPackage {
14903     pname = "Mail-DMARC";
14904     version = "1.20230215";
14905     src = fetchurl {
14906       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DMARC-1.20230215.tar.gz";
14907       hash = "sha256-V9z1R1nLkkSOVukUE0D2E0QnTFjZ3WWqkKqczw5+uQM=";
14908     };
14909     buildInputs = [ ExtUtilsMakeMaker FileShareDirInstall ];
14910     doCheck = false;  # uses actual DNS at runtime
14911     checkInputs = [ XMLSAX XMLValidatorSchema TestException TestFileShareDir TestMore TestOutput ];
14912     propagatedBuildInputs = [
14913       ConfigTiny DBDSQLite DBIxSimple EmailMIME EmailSender Encode FileShareDir GetoptLong
14914       IOCompress IO IOSocketSSL NetDNS NetIDNEncode NetIP NetSSLeay RegexpCommon Socket6
14915       SysSyslog URI XMLLibXML
14916     ];
14917     meta = {
14918       description = "Perl implementation of DMARC";
14919       homepage = "https://github.com/msimerson/mail-dmarc";
14920       license = with lib.licenses; [ artistic1 gpl1Plus ];
14921     };
14922   };
14924   MailMaildir = buildPerlPackage {
14925     version = "1.0.0";
14926     pname = "Mail-Maildir";
14927     src = fetchurl {
14928       url = "mirror://cpan/authors/id/Z/ZE/ZEROALTI/Mail-Maildir-100/Mail-Maildir-1.0.0.tar.bz2";
14929       hash = "sha256-RF6s2ixmN5ApbXGbypzHKYVUX6GgkBRhdnFgo6/DM88=";
14930     };
14931     meta = {
14932       description = "Handle Maildir folders";
14933       license = with lib.licenses; [ artistic1 gpl1Plus ];
14934     };
14935   };
14937   MailBox = buildPerlPackage {
14938     version = "3.010";
14939     pname = "Mail-Box";
14940     src = fetchurl {
14941       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.010.tar.gz";
14942       hash = "sha256-rhlPolDFRcm5FT4/tRA8qyn3nPKs1On9dc7FMiAalWQ=";
14943     };
14945     doCheck = false;
14947     propagatedBuildInputs = [ DevelGlobalDestruction FileRemove Later MailTransport ];
14948     meta = {
14949       description = "Manage a mailbox, a folder with messages";
14950       license = with lib.licenses; [ artistic1 gpl1Plus ];
14951     };
14952   };
14954   MailMboxMessageParser = buildPerlPackage {
14955     pname = "Mail-Mbox-MessageParser";
14956     version = "1.5111";
14957     src = fetchurl {
14958       url = "mirror://cpan/authors/id/D/DC/DCOPPIT/Mail-Mbox-MessageParser-1.5111.tar.gz";
14959       hash = "sha256-VyPAqpzBC6ue0eO/2dXJX3FZ5xwaR1QU6xrx3uOkYjc=";
14960     };
14961     buildInputs = [ FileSlurper TestCompile TestPod TestPodCoverage TextDiff UNIVERSALrequire URI ];
14962     propagatedBuildInputs = [ FileHandleUnget ];
14963     meta = {
14964       description = "A fast and simple mbox folder reader";
14965       homepage = "https://github.com/coppit/mail-mbox-messageparser";
14966       license = with lib.licenses; [ gpl2Only ];
14967       maintainers = with maintainers; [ romildo ];
14968     };
14969   };
14971   MailMessage = buildPerlPackage {
14972     pname = "Mail-Message";
14973     version = "3.013";
14974     src = fetchurl {
14975       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.013.tar.gz";
14976       hash = "sha256-yK1YiNsBWkUOti7Cqj6mbcLdwRtwpdtsjKGn+fgg6B8=";
14977     };
14978     propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ];
14979     meta = {
14980       description = "Processing MIME messages";
14981       homepage = "http://perl.overmeer.net/CPAN";
14982       license = with lib.licenses; [ artistic1 gpl1Plus ];
14983     };
14984   };
14986   MailDKIM = buildPerlPackage {
14987     pname = "Mail-DKIM";
14988     version = "1.20230911";
14989     src = fetchurl {
14990       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-1.20230911.tar.gz";
14991       hash = "sha256-kecxcoK3JM+9LJtuZjDvFDKISLb8UgPv1w3sL7hyaMo=";
14992     };
14993     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNS ];
14994     doCheck = false; # tries to access the domain name system
14995     buildInputs = [ NetDNSResolverMock TestRequiresInternet YAMLLibYAML ];
14996     meta = {
14997       description = "Signs/verifies Internet mail with DKIM/DomainKey signatures";
14998       license = with lib.licenses; [ artistic1 gpl1Plus ];
14999     };
15000   };
15002   MailIMAPClient = buildPerlPackage {
15003     pname = "Mail-IMAPClient";
15004     version = "3.43";
15005     src = fetchurl {
15006       url = "mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.43.tar.gz";
15007       hash = "sha256-CTyX+sFbR6j+TSk27y3zd6v3fMirdAktISi7lF0ftG8=";
15008     };
15009     propagatedBuildInputs = [ ParseRecDescent ];
15010     meta = {
15011       description = "An IMAP Client API";
15012       license = with lib.licenses; [ artistic1 gpl1Plus ];
15013     };
15014   };
15016   MailPOP3Client = buildPerlPackage {
15017     pname = "Mail-POP3Client";
15018     version = "2.21";
15019     src = fetchurl {
15020       url = "mirror://cpan/authors/id/S/SD/SDOWD/Mail-POP3Client-2.21.tar.gz";
15021       hash = "sha256-sW7yFJtuNXOHPx5ZDk1RNmxZlLi1MV3xaSXRe4niSQE=";
15022     };
15023     meta = {
15024       description = "Perl 5 module to talk to a POP3 (RFC1939) server";
15025       license = with lib.licenses; [ artistic1 gpl1Plus ];
15026     };
15027   };
15029   MailRFC822Address = buildPerlPackage {
15030     pname = "Mail-RFC822-Address";
15031     version = "0.3";
15032     src = fetchurl {
15033       url = "mirror://cpan/authors/id/P/PD/PDWARREN/Mail-RFC822-Address-0.3.tar.gz";
15034       hash = "sha256-NR70EE7LZ17K5pAIJD+ugkPRp+U8aB7rdZ57eBaEyKc=";
15035     };
15036     meta = {
15037       description = "Perl extension for validating email addresses according to RFC822";
15038       license = with lib.licenses; [ mit ];
15039     };
15040   };
15042   MailSender = buildPerlPackage {
15043     pname = "Mail-Sender";
15044     version = "0.903";
15045     src = fetchurl {
15046       url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/Mail-Sender-0.903.tar.gz";
15047       hash = "sha256-RBPrSfUgqDGBUYEcywWo1UKXOq2iCqUDrTL5/8mKOb8=";
15048     };
15049     meta = {
15050       description = "(DEPRECATED) module for sending mails with attachments through an SMTP server";
15051       homepage = "https://github.com/Perl-Email-Project/Mail-Sender";
15052       license = with lib.licenses; [ artistic1 gpl1Plus ];
15053     };
15054   };
15056   MailSendmail = buildPerlPackage {
15057     pname = "Mail-Sendmail";
15058     version = "0.80";
15059     src = fetchurl {
15060       url = "mirror://cpan/authors/id/N/NE/NEILB/Mail-Sendmail-0.80.tar.gz";
15061       hash = "sha256-W4qYy1zDnYBEGjiqsBCIXd+A5vzY5uAxQ5LLI+fCaOQ=";
15062     };
15063     # The test suite simply loads the module and attempts to send an email to
15064     # the module's author, the latter of which is a) more of an integration
15065     # test, b) impossible to verify, and c) won't work from a sandbox. Replace
15066     # it in its entirety with the following simple smoke test.
15067     checkPhase = ''
15068       perl -I blib/lib -MMail::Sendmail -e 'print "1..1\nok 1\n"'
15069     '';
15070     meta = {
15071       description = "Simple platform independent mailer";
15072       homepage = "https://github.com/neilb/Mail-Sendmail";
15073       license = with lib.licenses; [ artistic1 gpl1Plus ];
15074       maintainers = teams.deshaw.members;
15075     };
15076   };
15078   MailSPF = buildPerlPackage {
15079     pname = "Mail-SPF";
15080     version = "2.9.0";
15081     src = fetchurl {
15082       url = "mirror://cpan/authors/id/J/JM/JMEHNLE/mail-spf/Mail-SPF-v2.9.0.tar.gz";
15083       hash = "sha256-YctZFfHHrMepMf/Bv8EpG9+sVV4qRusjkbmV6p7LYWI=";
15084     };
15085     # remove this patch patches = [ ../development/perl-modules/Mail-SPF.patch ];
15087     buildInputs = [ ModuleBuild NetDNSResolverProgrammable ];
15088     propagatedBuildInputs = [ Error NetAddrIP NetDNS URI ];
15090     buildPhase = "perl Build.PL --install_base=$out --install_path=\"sbin=$out/bin\" --install_path=\"lib=$out/${perl.libPrefix}\"; ./Build build ";
15092     doCheck = false; # The main test performs network access
15093     meta = {
15094       description = "An object-oriented implementation of Sender Policy Framework";
15095       license = with lib.licenses; [ bsd3 ];
15096       mainProgram = "spfquery";
15097     };
15098   };
15101   MailTools = buildPerlPackage {
15102     pname = "MailTools";
15103     version = "2.21";
15104     src = fetchurl {
15105       url = "mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz";
15106       hash = "sha256-Stm9aCa28DonJzMkZrG30piQyNmaMrSzsKjZJu4aRMs=";
15107     };
15108     propagatedBuildInputs = [ TimeDate ];
15109     meta = {
15110       description = "Various ancient e-mail related modules";
15111       homepage = "http://perl.overmeer.net/CPAN";
15112       license = with lib.licenses; [ artistic1 gpl1Plus ];
15113     };
15114   };
15116   MailTransport = buildPerlPackage {
15117     pname = "Mail-Transport";
15118     version = "3.005";
15119     src = fetchurl {
15120       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.005.tar.gz";
15121       hash = "sha256-0Ny5P3BcEoXYCONN59htvijR7WaqKn3oMPZlH8NRlqM=";
15122     };
15123     propagatedBuildInputs = [ MailMessage ];
15124     meta = {
15125       description = "Email message exchange";
15126       homepage = "http://perl.overmeer.net/CPAN";
15127       license = with lib.licenses; [ artistic1 gpl1Plus ];
15128     };
15129   };
15131   MathBase85 = buildPerlPackage {
15132     pname = "Math-Base85";
15133     version = "0.5";
15134     src = fetchurl {
15135       url = "mirror://cpan/authors/id/P/PT/PTC/Math-Base85-0.5.tar.gz";
15136       hash = "sha256-CwX3+2UKh5ezktjqkPLnK/uNCFBcmi4LlV39RacqNOU=";
15137     };
15138     meta = {
15139       description = "Perl extension for base 85 numbers, as referenced by RFC 1924";
15140       license = with lib.licenses; [ artistic1 gpl1Plus ];
15141     };
15142   };
15144   MathBaseConvert = buildPerlPackage {
15145     pname = "Math-Base-Convert";
15146     version = "0.11";
15147     src = fetchurl {
15148       url = "mirror://cpan/authors/id/M/MI/MIKER/Math-Base-Convert-0.11.tar.gz";
15149       hash = "sha256-jAlxNV8kyTt553rVSkVwCQoaWY/Lm4b1wX66QvOLQOA=";
15150     };
15151     meta = {
15152       description = "Very fast base to base conversion";
15153       license = with lib.licenses; [ artistic1 gpl1Plus ];
15154     };
15155   };
15157   MathLibm = buildPerlPackage {
15158     pname = "Math-Libm";
15159     version = "1.00";
15160     src = fetchurl {
15161       url = "mirror://cpan/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz";
15162       hash = "sha256-v9MJ8oOsjLm/AK+MfDoQvyWr/WQoYcICLvr/CkpSwnY=";
15163     };
15164     meta = {
15165       description = "Perl extension for the C math library, libm";
15166       license = with lib.licenses; [ artistic1 gpl1Plus ];
15167     };
15168   };
15170   MathCalcParser = buildPerlPackage {
15171     pname = "Math-Calc-Parser";
15172     version = "1.005";
15173     src = fetchurl {
15174       url = "mirror://cpan/authors/id/D/DB/DBOOK/Math-Calc-Parser-1.005.tar.gz";
15175       hash = "sha256-r8PrSWqzo6MBs0N68H4ZfrdDwGCQ8BAdrPggMC8rf3U=";
15176     };
15177     buildInputs = [ TestNeeds ];
15178     meta = {
15179       description = "Parse and evaluate mathematical expressions";
15180       homepage = "https://github.com/Grinnz/Math-Calc-Parser";
15181       broken = true;
15182       license = with lib.licenses; [ artistic2 ];
15183       maintainers = with maintainers; [ sgo ];
15184     };
15185   };
15187   MathCalcUnits = buildPerlPackage {
15188     pname = "Math-Calc-Units";
15189     version = "1.07";
15190     src = fetchurl {
15191       url = "mirror://cpan/authors/id/S/SF/SFINK/Math-Calc-Units-1.07.tar.gz";
15192       hash = "sha256-YePP2ye7O+4nvrlxJN2TB2DhA57cHreBbC9WJ3Zfj48=";
15193     };
15194     meta = {
15195       description = "Human-readable unit-aware calculator";
15196       license = with lib.licenses; [ artistic1 gpl2Only ];
15197       mainProgram = "ucalc";
15198     };
15199   };
15201   MathBigInt = buildPerlPackage {
15202     pname = "Math-BigInt";
15203     version = "1.999842";
15204     src = fetchurl {
15205       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-1.999842.tar.gz";
15206       hash = "sha256-VGAcUMaZPn7hPYw6wzRs8VpNgGMUnNu+husB5WEORnU=";
15207     };
15208     meta = {
15209       description = "Arbitrary size integer/float math package";
15210       license = with lib.licenses; [ artistic1 gpl1Plus ];
15211     };
15212   };
15214   MathBigIntGMP = buildPerlPackage {
15215     pname = "Math-BigInt-GMP";
15216     version = "1.6013";
15217     src = fetchurl {
15218       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6013.tar.gz";
15219       hash = "sha256-yxqS4CJn1AUV+OA6TiEvZv0wfJdMu9MT4j3jL98Q9rU=";
15220     };
15221     buildInputs = [ pkgs.gmp ];
15222     doCheck = false;
15223     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
15224     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15225     propagatedBuildInputs = [ MathBigInt ];
15226     meta = {
15227       description = "Backend library for Math::BigInt etc. based on GMP";
15228       license = with lib.licenses; [ artistic1 gpl1Plus ];
15229     };
15230   };
15232   MathBigIntLite = buildPerlPackage {
15233     pname = "Math-BigInt-Lite";
15234     version = "0.29";
15235     src = fetchurl {
15236       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-Lite-0.29.tar.gz";
15237       hash = "sha256-R4YN/KYxl4txxKqZkaGynk7LrzYbW7nrOVl1t//Nd/U=";
15238     };
15239     propagatedBuildInputs = [ MathBigInt ];
15240     meta = {
15241       description = "What Math::BigInts are before they become big";
15242       license = with lib.licenses; [ artistic1 gpl1Plus ];
15243     };
15244   };
15246   MathClipper = buildPerlModule {
15247     pname = "Math-Clipper";
15248     version = "1.29";
15249     src = fetchurl {
15250       url = "mirror://cpan/authors/id/S/SH/SHELDRAKE/Math-Clipper-1.29.tar.gz";
15251       hash = "sha256-UyfE8TOGbenXmzGGV/Zp7LSZhgVQs5aGmNRyiHr4dZM=";
15252     };
15253     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
15254     buildInputs = [ ExtUtilsCppGuess ExtUtilsTypemapsDefault ExtUtilsXSpp ModuleBuildWithXSpp TestDeep ];
15255     meta = {
15256       description = "Polygon clipping in 2D";
15257       license = with lib.licenses; [ artistic1 gpl1Plus ];
15258     };
15259   };
15261   MathConvexHullMonotoneChain = buildPerlPackage {
15262     pname = "Math-ConvexHull-MonotoneChain";
15263     version = "0.01";
15264     src = fetchurl {
15265       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Math-ConvexHull-MonotoneChain-0.01.tar.gz";
15266       hash = "sha256-KIvEWQgmMkVUj5FIKrEkiGjdne5Ef5yibK15YT47lPU=";
15267     };
15268     meta = {
15269       description = "Andrew's monotone chain algorithm for finding a convex hull in 2D";
15270       license = with lib.licenses; [ artistic1 gpl1Plus ];
15271     };
15272   };
15274   MathFibonacci = buildPerlPackage {
15275     pname = "Math-Fibonacci";
15276     version = "1.5";
15277     src = fetchurl {
15278       url = "mirror://cpan/authors/id/V/VI/VIPUL/Math-Fibonacci-1.5.tar.gz";
15279       hash = "sha256-cKgobpRVjfmdyS9S2D4eIKe494UrzDod59njOCYLmbo=";
15280     };
15281     meta = {
15282       description = "This module provides a few functions related to Fibonacci numbers";
15283       license = with lib.licenses; [ artistic2 ];
15284     };
15285   };
15287   MathGMP = buildPerlPackage {
15288     pname = "Math-GMP";
15289     version = "2.25";
15290     src = fetchurl {
15291       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Math-GMP-2.25.tar.gz";
15292       hash = "sha256-OCtx5Udi9jnppCqbBpNBUZh7pX0Ru3DTXjvsiNUEUM4=";
15293     };
15294     buildInputs = [ pkgs.gmp AlienGMP ];
15295     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
15296     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15297     meta = {
15298       description = "High speed arbitrary size integer math";
15299       license = with lib.licenses; [ lgpl21Plus ];
15300     };
15301   };
15303   MathGMPz = buildPerlPackage {
15304     pname = "Math-GMPz";
15305     version = "0.59";
15306     src = fetchurl {
15307       url = "mirror://cpan/authors/id/S/SI/SISYPHUS/Math-GMPz-0.59.tar.gz";
15308       hash = "sha256-mmrN45G0Ff5f7HwUyCTVUf/j+W81rycYRWuJ3jpkEaQ=";
15309     };
15310     buildInputs = [ TestWarn pkgs.gmp ];
15311     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15312     meta = {
15313       description = "Perl interface to the GMP integer functions";
15314       homepage = "https://github.com/sisyphus/math-gmpz";
15315       license = with lib.licenses; [ artistic1 gpl1Plus ];
15316       maintainers = with maintainers; [ sgo ];
15317     };
15318   };
15320   MathGeometryVoronoi = buildPerlPackage {
15321     pname = "Math-Geometry-Voronoi";
15322     version = "1.3";
15323     src = fetchurl {
15324       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-1.3.tar.gz";
15325       hash = "sha256-cgdeTpiDzuUURrqVESZMjDKgFagPSlZIo/azgsU0QCw=";
15326     };
15327     propagatedBuildInputs = [ ClassAccessor ParamsValidate ];
15328     meta = {
15329       description = "Compute Voronoi diagrams from sets of points";
15330       license = with lib.licenses; [ artistic1 gpl1Plus ];
15331     };
15332   };
15334   MathInt128 = buildPerlPackage {
15335     pname = "Math-Int128";
15336     version = "0.22";
15337     src = fetchurl {
15338       url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int128-0.22.tar.gz";
15339       hash = "sha256-pjDKQBdThmlV8Rc4SKtbSsStXKatkIfxHN+R3ehRGbw=";
15340     };
15341     propagatedBuildInputs = [ MathInt64 ];
15342     meta = {
15343       description = "Manipulate 128 bits integers in Perl";
15344       homepage = "https://metacpan.org/release/Math-Int128";
15345       license = with lib.licenses; [ artistic1 gpl1Plus ];
15346       broken = stdenv.is32bit; # compiler doesn't support a 128-bit integer type
15347     };
15348   };
15350   MathInt64 = buildPerlPackage {
15351     pname = "Math-Int64";
15352     version = "0.54";
15353     src = fetchurl {
15354       url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int64-0.54.tar.gz";
15355       hash = "sha256-3PxR5phDfqa5zv4CdiFcVs22p/hePiSitrQYnxlg01E=";
15356     };
15357     meta = {
15358       description = "Manipulate 64 bits integers in Perl";
15359       homepage = "https://metacpan.org/release/Math-Int64";
15360       license = with lib.licenses; [ artistic1 gpl1Plus ];
15361     };
15362   };
15364   MathPari = buildPerlPackage rec {
15365     pname = "Math-Pari";
15366     version = "2.030523";
15367     nativeBuildInputs = [ pkgs.unzip ];
15368     pariversion = "2.1.7";
15369     pari_tgz = fetchurl {
15370       url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/2.1/pari-${pariversion}.tgz";
15371       hash = "sha256-kULyza8wg8iWLxpcK7Dp/okV99lJDAMxKsI2HH6hVfo=";
15372     };
15373     # Workaround build failure on -fno-common toolchains:
15374     #   ld: libPARI/libPARI.a(compat.o):(.bss+0x8): multiple definition of
15375     #   `overflow'; Pari.o:(.bss+0x80): first defined here
15376     env.NIX_CFLAGS_COMPILE = "-fcommon";
15377     preConfigure = "cp ${pari_tgz} pari-${pariversion}.tgz";
15378     makeMakerFlags = [ "pari_tgz=pari-${pariversion}.tgz" ];
15379     src = fetchurl {
15380       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/Math-Pari-2.030518.zip";
15381       hash = "sha256-3DiVWpaQvmuvqN4lJiEjd8Psn+jaXsAiY6nK+UtYu5E=";
15382     };
15383     meta = {
15384       description = "Perl interface to PARI";
15385       license = with lib.licenses; [ artistic1 gpl1Plus gpl2Only ];
15386     };
15387   };
15389   MathPlanePath = buildPerlPackage {
15390     pname = "Math-PlanePath";
15391     version = "129";
15392     src = fetchurl {
15393       url = "mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-129.tar.gz";
15394       hash = "sha256-jaFdDk1Qd7bF0gN2WyiFv3KOUJ4y3pJkYFwIYhN+OX4=";
15395     };
15396     propagatedBuildInputs = [ MathLibm constant-defer ];
15397     buildInputs = [ DataFloat MathBigIntLite NumberFraction ];
15398     meta = {
15399       description = "Points on a path through the 2-D plane";
15400       license = with lib.licenses; [ gpl3Plus ];
15401     };
15402   };
15404   MathPrimeUtil = buildPerlPackage {
15405     pname = "Math-Prime-Util";
15406     version = "0.73";
15407     src = fetchurl {
15408       url = "mirror://cpan/authors/id/D/DA/DANAJ/Math-Prime-Util-0.73.tar.gz";
15409       hash = "sha256-Svpt2M25dJm9TsppJYYYEsKdn1oPGsJ62dLZybVgKJQ=";
15410     };
15411     propagatedBuildInputs = [ MathPrimeUtilGMP ];
15412     buildInputs = [ TestWarn ];
15413     meta = {
15414       description = "Utilities related to prime numbers, including fast sieves and factoring";
15415       homepage = "https://github.com/danaj/Math-Prime-Util";
15416       license = with lib.licenses; [ artistic1 gpl1Plus ];
15417       maintainers = [ maintainers.sgo ];
15418     };
15419   };
15421   MathPrimeUtilGMP = buildPerlPackage {
15422     pname = "Math-Prime-Util-GMP";
15423     version = "0.52";
15424     src = fetchurl {
15425       url = "mirror://cpan/authors/id/D/DA/DANAJ/Math-Prime-Util-GMP-0.52.tar.gz";
15426       hash = "sha256-JpfH/Vx+Nf3sf1DtVqZ76Aei8iZXWJ5jfa01knRAA74=";
15427     };
15428     buildInputs = [ pkgs.gmp ];
15429     env.NIX_CFLAGS_COMPILE = "-I${pkgs.gmp.dev}/include";
15430     NIX_CFLAGS_LINK = "-L${pkgs.gmp.out}/lib -lgmp";
15431     meta = {
15432       description = "Utilities related to prime numbers, using GMP";
15433       homepage = "https://github.com/danaj/Math-Prime-Util-GMP";
15434       license = with lib.licenses; [ artistic1 gpl1Plus ];
15435       maintainers = [ maintainers.sgo ];
15436     };
15437   };
15439   MathProvablePrime = buildPerlPackage {
15440     pname = "Math-ProvablePrime";
15441     version = "0.51";
15442     src = fetchurl {
15443       url = "mirror://cpan/authors/id/F/FE/FELIPE/Math-ProvablePrime-0.51.tar.gz";
15444       hash = "sha256-D7YWRJ+weorR6KgJxwghthjlPcD/3ayWVnYY3jPEbBE=";
15445     };
15446     buildInputs = [ FileWhich TestClass TestDeep TestException TestFailWarnings ];
15447     propagatedBuildInputs = [ BytesRandomSecureTiny ];
15448     meta = {
15449       description = "Generate a provable prime number, in pure Perl";
15450       license = with lib.licenses; [ artistic1 gpl1Plus ];
15451       maintainers = [ maintainers.sgo ];
15452     };
15453   };
15455   MathRandom = buildPerlPackage {
15456     pname = "Math-Random";
15457     version = "0.72";
15458     src = fetchurl {
15459       url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Random-0.72.tar.gz";
15460       hash = "sha256-vgUiMogR2W3lBdnrrD0JY1kCb6jVw497uZmnjsW8JUw=";
15461     };
15462     meta = {
15463       description = "Random Number Generators";
15464       license = with lib.licenses; [ artistic1 gpl1Plus publicDomain ];
15465     };
15466   };
15468   MathRandomISAAC = buildPerlPackage {
15469     pname = "Math-Random-ISAAC";
15470     version = "1.004";
15471     src = fetchurl {
15472       url = "mirror://cpan/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz";
15473       hash = "sha256-J3PwL78gfpdF52oDffCL9ajMmH7SPFcEDOf3sVYfK3w=";
15474     };
15475     buildInputs = [ TestNoWarnings ];
15476     meta = {
15477       description = "Perl interface to the ISAAC PRNG algorithm";
15478       homepage = "https://search.cpan.org/dist/Math-Random-ISAAC";
15479       license = with lib.licenses; [ publicDomain mit artistic2 gpl1Plus ];
15480     };
15481   };
15483   MathRandomMTAuto = buildPerlPackage {
15484     pname = "Math-Random-MT-Auto";
15485     version = "6.23";
15486     src = fetchurl {
15487       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz";
15488       hash = "sha256-WLy1rTFilk/1oMTS3LqgICwshdnEcElvO3qZh1d3YxM=";
15489     };
15490     propagatedBuildInputs = [ ObjectInsideOut ];
15491     meta = {
15492       description = "Auto-seeded Mersenne Twister PRNGs";
15493       license = with lib.licenses; [ bsd3 ];
15494     };
15495   };
15497   MathRandomSecure = buildPerlPackage {
15498     pname = "Math-Random-Secure";
15499     version = "0.080001";
15500     src = fetchurl {
15501       url = "mirror://cpan/authors/id/F/FR/FREW/Math-Random-Secure-0.080001.tar.gz";
15502       hash = "sha256-v6Sk6BfspyIGfB/z2hKrWrgNbFfapeXnq5NQyixx6zU=";
15503     };
15504     buildInputs = [ ListMoreUtils TestSharedFork TestWarn ];
15505     propagatedBuildInputs = [ CryptRandomSource MathRandomISAAC ];
15506     meta = {
15507       description = "Cryptographically-secure, cross-platform replacement for rand()";
15508       homepage = "https://github.com/frioux/Math-Random-Secure";
15509       license = with lib.licenses; [ artistic2 ];
15510     };
15511   };
15513   MathRound = buildPerlPackage {
15514     pname = "Math-Round";
15515     version = "0.07";
15516     src = fetchurl {
15517       url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz";
15518       hash = "sha256-c6cymoblSlwppEA4LlgDCVtY8zEp5hod8Ak7SCTekyc=";
15519     };
15520     meta = {
15521       description = "Perl extension for rounding numbers";
15522       license = with lib.licenses; [ artistic1 gpl1Plus ];
15523     };
15524   };
15526   MathVecStat = buildPerlPackage {
15527     pname = "Math-VecStat";
15528     version = "0.08";
15529     src = fetchurl {
15530       url = "mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz";
15531       hash = "sha256-QJqODksQJcjoD2KPZal3iqd6soUWFAbKSmwJexNlbQ0=";
15532     };
15533     meta = {
15534       description = "Some basic numeric stats on vectors";
15535       license = with lib.licenses; [ artistic1 gpl1Plus ];
15536     };
15537   };
15539   MaxMindDBCommon = buildPerlPackage {
15540     pname = "MaxMind-DB-Common";
15541     version = "0.040001";
15542     src = fetchurl {
15543       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Common-0.040001.tar.gz";
15544       hash = "sha256-a8bfS9NjANB6pKX4GYrmaUyn4xPAOBCciNvDqZeyG9c=";
15545     };
15546     propagatedBuildInputs = [ DataDumperConcise DateTime ListAllUtils MooXStrictConstructor ];
15547     meta = {
15548       description = "Code shared by the MaxMind DB reader and writer modules";
15549       homepage = "https://metacpan.org/release/MaxMind-DB-Common";
15550       license = with lib.licenses; [ artistic2 ];
15551     };
15552   };
15554   MaxMindDBReader = buildPerlPackage {
15555     pname = "MaxMind-DB-Reader";
15556     version = "1.000014";
15557     src = fetchurl {
15558       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-1.000014.tar.gz";
15559       hash = "sha256-OCAHj5yWf5qIch6kDKBeSZnBxTAb68HRGQYPntXOOak=";
15560     };
15561     propagatedBuildInputs = [ DataIEEE754 DataPrinter DataValidateIP MaxMindDBCommon ];
15562     buildInputs = [ PathClass TestBits TestFatal TestNumberDelta TestRequires ];
15563     meta = {
15564       description = "Read MaxMind DB files and look up IP addresses";
15565       homepage = "https://metacpan.org/release/MaxMind-DB-Reader";
15566       license = with lib.licenses; [ artistic2 ];
15567     };
15568   };
15570   MaxMindDBReaderXS = buildPerlModule {
15571     pname = "MaxMind-DB-Reader-XS";
15572     version = "1.000009";
15573     src = fetchurl {
15574       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-XS-1.000009.tar.gz";
15575       hash = "sha256-qm+4f+0Z1UnymxNd55l+6SsSJ9Ymyw6JBgCpHK3DBTo=";
15576     };
15577     propagatedBuildInputs = [ pkgs.libmaxminddb MathInt128 MaxMindDBReader ];
15578     buildInputs = [ NetWorks PathClass TestFatal TestNumberDelta TestRequires ];
15579     meta = {
15580       description = "Fast XS implementation of MaxMind DB reader";
15581       homepage = "https://metacpan.org/release/MaxMind-DB-Reader-XS";
15582       license = with lib.licenses; [ artistic2 ];
15583       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.MaxMindDBReaderXS.x86_64-darwin
15584     };
15585   };
15587   MaxMindDBWriter = buildPerlModule {
15588     pname = "MaxMind-DB-Writer";
15589     version = "0.300003";
15590     src = fetchurl {
15591       url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Writer-0.300003.tar.gz";
15592       hash = "sha256-ulP1upZfekd/ZxZNl7R1oMESCIcv7fI4mIVQ2SvN6z4=";
15593     };
15594     propagatedBuildInputs = [ DigestSHA1 MaxMindDBReader MooseXParamsValidate MooseXStrictConstructor NetWorks SerealDecoder SerealEncoder ];
15595     buildInputs = [ DevelRefcount JSON TestBits TestDeep TestFatal TestHexDifferences TestRequires TestWarnings ];
15596     hardeningDisable = [ "format" ];
15597     meta = {
15598       description = "Create MaxMind DB database files";
15599       homepage = "https://metacpan.org/release/MaxMind-DB-Writer";
15600       license = with lib.licenses; [ artistic1 gpl1Plus ];
15601       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.MaxMindDBWriter.x86_64-darwin
15602     };
15603   };
15605   Memoize = buildPerlPackage {
15606     pname = "Memoize";
15607     version = "1.16";
15608     src = fetchurl {
15609       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Memoize-1.16.tar.gz";
15610       hash = "sha256-CRlSvPSS7O41ueW41ykgxYAjRB15IIwduHg3xcV4B74=";
15611     };
15612     meta = {
15613       description = "Make functions faster by trading space for time";
15614       license = with lib.licenses; [ artistic1 gpl1Plus ];
15615     };
15616   };
15618   MemoizeExpireLRU = buildPerlPackage {
15619     pname = "Memoize-ExpireLRU";
15620     version = "0.56";
15621     src = fetchurl {
15622       url = "mirror://cpan/authors/id/N/NE/NEILB/Memoize-ExpireLRU-0.56.tar.gz";
15623       hash = "sha256-7oNjAcu6uaJLBfxlft+pS3/YV42YNuVmoZHQpbAc1/Y=";
15624     };
15625     meta = {
15626       description = "Expiry plug-in for Memoize that adds LRU cache expiration";
15627       homepage = "https://github.com/neilb/Memoize-ExpireLRU";
15628       license = with lib.licenses; [ artistic1 gpl1Plus ];
15629     };
15630   };
15632   Menlo = buildPerlPackage {
15633     pname = "Menlo";
15634     version = "1.9019";
15635     src = fetchurl {
15636       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-1.9019.tar.gz";
15637       hash = "sha256-O1c/aOezo2qHyGC+JYWZMw+sJItRiFTftWV6xIPcpWU=";
15638     };
15639     propagatedBuildInputs = [ CPANCommonIndex CPANMetaCheck CaptureTiny ExtUtilsHelpers ExtUtilsInstallPaths Filepushd HTTPTinyish ModuleCPANfile ParsePMFile StringShellQuote Win32ShellQuote locallib ];
15640     meta = {
15641       description = "A CPAN client";
15642       homepage = "https://github.com/miyagawa/cpanminus";
15643       license = with lib.licenses; [ artistic1 gpl1Plus ];
15644     };
15645   };
15647   MenloLegacy = buildPerlPackage {
15648     pname = "Menlo-Legacy";
15649     version = "1.9022";
15650     src = fetchurl {
15651       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-Legacy-1.9022.tar.gz";
15652       hash = "sha256-pqysP+4xioBLQ53lSsvHwn8LRM/a2FUbvJzUWYarwgE=";
15653     };
15654     propagatedBuildInputs = [ Menlo ];
15655     meta = {
15656       description = "Legacy internal and client support for Menlo";
15657       homepage = "https://github.com/miyagawa/cpanminus";
15658       license = with lib.licenses; [ artistic1 gpl1Plus ];
15659     };
15660   };
15662   MetaBuilder = buildPerlModule {
15663     pname = "Meta-Builder";
15664     version = "0.004";
15665     src = fetchurl {
15666       url = "mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.004.tar.gz";
15667       hash = "sha256-rLSZqnIG652yHrhTV6dFIb/jva5KZBbVCnx1uTnPVv4=";
15668     };
15669     buildInputs = [ FennecLite TestException ];
15670     meta = {
15671       description = "Tools for creating Meta objects to track custom metrics";
15672       license = with lib.licenses; [ artistic1 gpl1Plus ];
15673     };
15674   };
15676   MetaCPANClient = buildPerlPackage {
15677     pname = "MetaCPAN-Client";
15678     version = "2.030000";
15679     src = fetchurl {
15680       url = "mirror://cpan/authors/id/M/MI/MICKEY/MetaCPAN-Client-2.030000.tar.gz";
15681       hash = "sha256-2bdlxSN3VPFyYmljgqc4XZCy0BmGl5gXhisWZLBt068=";
15682     };
15684     # Most tests are online, so we only include offline tests
15685     postPatch = ''
15686       substituteInPlace Makefile.PL \
15687         --replace '"t/*.t t/api/*.t"' \
15688         '"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"'
15689     '';
15691     buildInputs = [ LWPProtocolHttps TestFatal TestNeeds ];
15692     propagatedBuildInputs = [ IOSocketSSL JSONMaybeXS Moo RefUtil SafeIsa TypeTiny URI ];
15693     meta = {
15694       description = "A comprehensive, DWIM-featured client to the MetaCPAN API";
15695       homepage = "https://github.com/metacpan/metacpan-client";
15696       license = with lib.licenses; [ artistic1 gpl1Plus ];
15697       maintainers = with maintainers; [ sgo ];
15698     };
15699   };
15701   MethodSignaturesSimple = buildPerlPackage {
15702     pname = "Method-Signatures-Simple";
15703     version = "1.07";
15704     src = fetchurl {
15705       url = "mirror://cpan/authors/id/R/RH/RHESA/Method-Signatures-Simple-1.07.tar.gz";
15706       hash = "sha256-yM19Rxl3zIh2BEGSq9mKga/d/yomu5oQu+NY76Nx2tw=";
15707     };
15708     propagatedBuildInputs = [ DevelDeclare ];
15709     meta = {
15710       description = "Basic method declarations with signatures, without source filters";
15711       license = with lib.licenses; [ artistic1 gpl1Plus ];
15712     };
15713   };
15715   MetricsAny = buildPerlModule {
15716     pname = "Metrics-Any";
15717     version = "0.10";
15718     src = fetchurl {
15719       url = "mirror://cpan/authors/id/P/PE/PEVANS/Metrics-Any-0.10.tar.gz";
15720       hash = "sha256-qQ6t+civJKUWu5obZwYfZBhT+QuP7p/8JNK7lyDouZs=";
15721     };
15722     buildInputs = [ Test2Suite ];
15723     meta = {
15724       description = "Abstract collection of monitoring metrics";
15725       license = with lib.licenses; [ artistic1 gpl1Plus ];
15726     };
15727   };
15729   # TODO: use CPAN version
15730   MHonArc = buildPerlPackage rec {
15731     pname = "MHonArc";
15732     version = "2.6.24";
15734     src = fetchurl {
15735       url = "mirror://cpan/authors/id/L/LD/LDIDRY/MHonArc-2.6.24.tar.gz";
15736       hash = "sha256-RX3HN07lnLdaBynlHO8vLFK0gYD3Odj9lW6hmIKBXzM=";
15737     };
15739     outputs = [ "out" "dev" ]; # no "devdoc"
15741     installTargets = [ "install" ];
15743     meta = {
15744       homepage = "https://www.mhonarc.org/";
15745       description = "A mail-to-HTML converter";
15746       mainProgram = "mhonarc";
15747       license = with lib.licenses; [ gpl2Only ];
15748     };
15749   };
15751   MIMECharset = buildPerlPackage {
15752     pname = "MIME-Charset";
15753     version = "1.013.1";
15754     src = fetchurl {
15755       url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.013.1.tar.gz";
15756       hash = "sha256-G7em4MDSUfI9bmC/hMmt78W3TuxYR1v+5NORB+YIcPA=";
15757     };
15758     meta = {
15759       description = "Charset Information for MIME";
15760       license = with lib.licenses; [ artistic1 gpl1Plus ];
15761     };
15762   };
15764   mimeConstruct = buildPerlPackage {
15765     pname = "mime-construct";
15766     version = "1.11";
15767     src = fetchurl {
15768       url = "mirror://cpan/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz";
15769       hash = "sha256-TNe7YbUdQRktFJjBBRqmpMzXWusJtx0uxwanCEpKkwM=";
15770     };
15771     outputs = [ "out" ];
15772     buildInputs = [ ProcWaitStat ];
15773     meta = {
15774       description = "Construct and optionally mail MIME messages";
15775       license = with lib.licenses; [ gpl2Plus ];
15776     };
15777   };
15779   MIMEEncWords = buildPerlPackage {
15780     pname = "MIME-EncWords";
15781     version = "1.014.3";
15782     src = fetchurl {
15783       url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-EncWords-1.014.3.tar.gz";
15784       hash = "sha256-6a+1SGEdTn5sULfwa70rG7KAjjeoEN7vtTfGevVIUjg=";
15785     };
15786     propagatedBuildInputs = [ MIMECharset ];
15787     meta = {
15788       description = "Deal with RFC 2047 encoded words (improved)";
15789       homepage = "https://metacpan.org/pod/MIME::EncWords";
15790       license = with lib.licenses; [ artistic1 gpl1Plus ];
15791       maintainers = [ maintainers.sgo ];
15792     };
15793   };
15795   MIMELite = buildPerlPackage {
15796     pname = "MIME-Lite";
15797     version = "3.033";
15798     src = fetchurl {
15799       url = "mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.033.tar.gz";
15800       hash = "sha256-eKJ58dLiQlUcNH75ehP8Z1dmYCy4TCqAxWlAD082i6s=";
15801     };
15802     propagatedBuildInputs = [ EmailDateFormat ];
15803     meta = {
15804       description = "Low-calorie MIME generator (DEPRECATED)";
15805       license = with lib.licenses; [ artistic1 gpl1Plus ];
15806     };
15807   };
15809   MIMELiteHTML = buildPerlPackage {
15810     pname = "MIME-Lite-HTML";
15811     version = "1.24";
15812     src = fetchurl {
15813       url = "mirror://cpan/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.24.tar.gz";
15814       hash = "sha256-22A8y/ZlO80oz6gk1y5RHq0Bn8ivufGFTshy2y082No=";
15815     };
15816     doCheck = false;
15817     propagatedBuildInputs = [ LWP MIMELite ];
15818     meta = {
15819       description = "Provide routine to transform a HTML page in a MIME-Lite mail";
15820       license = with lib.licenses; [ artistic1 gpl1Plus ];
15821     };
15822   };
15824   MIMETools = buildPerlPackage {
15825     pname = "MIME-tools";
15826     version = "5.509";
15827     src = fetchurl {
15828       url = "mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz";
15829       hash = "sha256-ZFefDJI9gdmiGUWG5Hw0dVGeJkbktcECqJIHWfrPaXM=";
15830     };
15831     propagatedBuildInputs = [ MailTools ];
15832     buildInputs = [ TestDeep ];
15833     meta = {
15834       description = "Tools to manipulate MIME messages";
15835       license = with lib.licenses; [ artistic1 gpl1Plus ];
15836     };
15837   };
15839   MIMETypes = buildPerlPackage {
15840     pname = "MIME-Types";
15841     version = "2.24";
15842     src = fetchurl {
15843       url = "mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-2.24.tar.gz";
15844       hash = "sha256-Yp42HyKyIL5QwtpzVOI8BFF1dwmgPCWiLzFg7blMtl8=";
15845     };
15846     meta = {
15847       description = "Definition of MIME types";
15848       homepage = "http://perl.overmeer.net/CPAN";
15849       license = with lib.licenses; [ artistic1 gpl1Plus ];
15850     };
15851   };
15853   Minion = buildPerlPackage {
15854     pname = "Minion";
15855     version = "10.25";
15856     src = fetchurl {
15857       url = "mirror://cpan/authors/id/S/SR/SRI/Minion-10.25.tar.gz";
15858       hash = "sha256-C+CoN1N2iJ2gRgRpY4TAz5iyYh0mUNnrAwf25LlAra0=";
15859     };
15860     propagatedBuildInputs = [ Mojolicious YAMLLibYAML ];
15861     meta = {
15862       description = "A high performance job queue for Perl";
15863       homepage = "https://github.com/mojolicious/minion";
15864       license = with lib.licenses; [ artistic2 ];
15865       maintainers = [ maintainers.sgo ];
15866     };
15867   };
15869   MinionBackendRedis = buildPerlModule {
15870     pname = "Minion-Backend-Redis";
15871     version = "0.003";
15872     src = fetchurl {
15873       url = "mirror://cpan/authors/id/D/DF/DFUG/Minion-Backend-Redis-0.003.tar.gz";
15874       hash = "sha256-zXZRIQbfHKmQF75fObSmXgSCawzZQxe3GsAWGzXzI6A=";
15875     };
15876     buildInputs = [ ModuleBuildTiny ];
15877     propagatedBuildInputs = [ Minion MojoRedis Mojolicious SortVersions ];
15878     meta = {
15879       homepage = "https://github.com/Difegue/Minion-Backend-Redis";
15880       description = "Redis backend for Minion job queue";
15881       license = with lib.licenses; [ artistic2 ];
15882       maintainers = with maintainers; [ tomasajt ];
15883     };
15884   };
15886   MinionBackendSQLite = buildPerlModule {
15887     pname = "Minion-Backend-SQLite";
15888     version = "5.0.7";
15889     src = fetchurl {
15890       url = "mirror://cpan/authors/id/D/DB/DBOOK/Minion-Backend-SQLite-v5.0.7.tar.gz";
15891       hash = "sha256-zd49IrGv+n32seErKlLp88G2gci1k6G+TeO+aOTaXHI=";
15892     };
15893     buildInputs = [ ModuleBuildTiny ];
15894     propagatedBuildInputs = [ Minion MojoSQLite ];
15895     meta = {
15896       description = "SQLite backend for Minion job queue";
15897       homepage = "https://github.com/Grinnz/Minion-Backend-SQLite";
15898       license = with lib.licenses; [ artistic2 ];
15899       maintainers = [ maintainers.sgo ];
15900     };
15901   };
15903   MinionBackendmysql = buildPerlPackage {
15904     pname = "Minion-Backend-mysql";
15905     version = "1.003";
15906     src = fetchurl {
15907       url = "mirror://cpan/authors/id/P/PR/PREACTION/Minion-Backend-mysql-1.003.tar.gz";
15908       hash = "sha256-aaJcJAyw5NTvTxqjKgTt+Nolt+jTqCDP1kVhWZ7aRUI=";
15909     };
15910     buildInputs = [ Testmysqld ];
15911     propagatedBuildInputs = [ Minion Mojomysql ];
15912     meta = {
15913       description = "MySQL backend for the Minion job queue";
15914       homepage = "https://github.com/preaction/Minion-Backend-mysql";
15915       license = with lib.licenses; [ artistic1 gpl1Plus ];
15916       maintainers = [ maintainers.sgo ];
15917     };
15918   };
15920   MixinLinewise = buildPerlPackage {
15921     pname = "Mixin-Linewise";
15922     version = "0.111";
15923     src = fetchurl {
15924       url = "mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.111.tar.gz";
15925       hash = "sha256-0o6IUWzptSlcMWMdzM3A/I8qt9ilzIdrsbIBMQh7Ads=";
15926     };
15927     propagatedBuildInputs = [ PerlIOutf8_strict SubExporter ];
15928     meta = {
15929       description = "Write your linewise code for handles; this does the rest";
15930       homepage = "https://github.com/rjbs/Mixin-Linewise";
15931       license = with lib.licenses; [ artistic1 gpl1Plus ];
15932     };
15933   };
15935   MLDBM = buildPerlModule {
15936     pname = "MLDBM";
15937     version = "2.05";
15938     src = fetchurl {
15939       url = "mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-2.05.tar.gz";
15940       hash = "sha256-WGiA7QwggBq79nNHR+E+AgPt7+zm68TyDdtQWfAqF6I=";
15941     };
15942     meta = {
15943       description = "Store multi-level Perl hash structure in single level tied hash";
15944       license = with lib.licenses; [ artistic1 gpl1Plus ];
15945     };
15946   };
15948   MNI-Perllib = callPackage ../development/perl-modules/MNI {};
15950   Mo = buildPerlPackage {
15951     pname = "Mo";
15952     version = "0.40";
15953     src = fetchurl {
15954       url = "mirror://cpan/authors/id/T/TI/TINITA/Mo-0.40.tar.gz";
15955       hash = "sha256-kdJBUjkfjCeX7jUDkTja6m3j7gO98+G4ck+lx1VAzrk=";
15956     };
15957     meta = {
15958       description = "Micro Objects. Mo is less";
15959       homepage = "https://github.com/ingydotnet/mo-pm";
15960       license = with lib.licenses; [ artistic1 gpl1Plus ];
15961       mainProgram = "mo-inline";
15962     };
15963   };
15965   MockConfig = buildPerlPackage {
15966     pname = "Mock-Config";
15967     version = "0.03";
15968     src = fetchurl {
15969       url = "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz";
15970       hash = "sha256-pbg0V1fKTyuTNfW+FOk+u7UChlIzp1W/U7xxVt7sABs=";
15971     };
15972     meta = {
15973       description = "Temporarily set Config or XSConfig values";
15974       license = with lib.licenses; [ artistic1 gpl1Plus ];
15975     };
15976   };
15978   ModernPerl = buildPerlPackage {
15979     pname = "Modern-Perl";
15980     version = "1.20230106";
15982     src = fetchurl {
15983       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20230106.tar.gz";
15984       hash = "sha256-BFncq4DOgrY0Yf2B7pTgbpplFdmPP7wxmDjdHmAoUfc=";
15985     };
15986     meta = {
15987       description = "Enable all of the features of Modern Perl with one import";
15988       homepage = "https://github.com/chromatic/Modern-Perl";
15989       license = with lib.licenses; [ artistic1 gpl1Plus ];
15990     };
15991   };
15993   Modulecpmfile = buildPerlModule {
15994     pname = "Module-cpmfile";
15995     version = "0.006";
15996     src = fetchurl {
15997       url = "mirror://cpan/authors/id/S/SK/SKAJI/Module-cpmfile-0.006.tar.gz";
15998       hash = "sha256-G8l24pN3JIlsn26unl3KmB4n+YQwuS3icO41FP0ArA8=";
15999     };
16000     buildInputs = [ ModuleBuildTiny ModuleCPANfile Test2Suite ];
16001     propagatedBuildInputs = [ YAMLPP ];
16002     meta = {
16003       description = "Parse cpmfile";
16004       homepage = "https://github.com/skaji/cpmfile";
16005       license = with lib.licenses; [ artistic1 gpl1Plus ];
16006       maintainers = [ maintainers.zakame ];
16007     };
16008   };
16010   ModuleBuild = buildPerlPackage {
16011     pname = "Module-Build";
16012     version = "0.4234";
16013     src = fetchurl {
16014       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4234.tar.gz";
16015       hash = "sha256-Zq6sYSdBi+XkcerTdEZIx2a9AUgoJcW2ZlJnXyvIao8=";
16016     };
16017     postConfigure = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
16018       # for unknown reason, the first run of Build fails
16019       ./Build || true
16020     '';
16021     postPatch = lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
16022       # remove version check since miniperl uses a stub of File::Temp, which do not provide a version:
16023       # https://github.com/arsv/perl-cross/blob/master/cnf/stub/File/Temp.pm
16024       sed -i '/File::Temp/d' \
16025         Build.PL
16027       # fix discover perl function, it can not handle a wrapped perl
16028       sed -i "s,\$self->_discover_perl_interpreter,'$(type -p perl)',g" \
16029         lib/Module/Build/Base.pm
16030     '';
16031     meta = {
16032       description = "Build and install Perl modules";
16033       license = with lib.licenses; [ artistic1 gpl1Plus ];
16034       mainProgram = "config_data";
16035     };
16036   };
16038   ModuleBuildDeprecated = buildPerlModule {
16039     pname = "Module-Build-Deprecated";
16040     version = "0.4210";
16041     src = fetchurl {
16042       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Deprecated-0.4210.tar.gz";
16043       hash = "sha256-vgiTE/wjjuIYNHOsqMhrVfs89EeXMSy+m4ktY2JiFwM=";
16044     };
16045     doCheck = false;
16046     meta = {
16047       description = "A collection of modules removed from Module-Build";
16048       license = with lib.licenses; [ artistic1 gpl1Plus ];
16049     };
16050   };
16052   ModuleBuildPluggable = buildPerlModule {
16053     pname = "Module-Build-Pluggable";
16054     version = "0.10";
16055     src = fetchurl {
16056       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-0.10.tar.gz";
16057       hash = "sha256-5bsqyxF3ksmEYogSrLD+w3bLlwyu6O3ldTXgTXYrDkA=";
16058     };
16059     propagatedBuildInputs = [ ClassAccessorLite ClassMethodModifiers DataOptList ];
16060     buildInputs = [ TestSharedFork ];
16061     meta = {
16062       description = "Module::Build meets plugins";
16063       homepage = "https://github.com/tokuhirom/Module-Build-Pluggable";
16064       license = with lib.licenses; [ artistic1 gpl1Plus ];
16065     };
16066   };
16068   ModuleBuildPluggableCPANfile = buildPerlModule {
16069     pname = "Module-Build-Pluggable-CPANfile";
16070     version = "0.05";
16071     src = fetchurl {
16072       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Module-Build-Pluggable-CPANfile-0.05.tar.gz";
16073       hash = "sha256-SuxsuiQMtueAFkBrajqHVjTMKuwI/8XxVy2hzcQOHnw=";
16074     };
16075     buildInputs = [ CaptureTiny TestRequires TestSharedFork ];
16076     propagatedBuildInputs = [ ModuleBuildPluggable ModuleCPANfile ];
16077     meta = {
16078       description = "Include cpanfile";
16079       homepage = "https://github.com/kazeburo/Module-Build-Pluggable-CPANfile";
16080       license = with lib.licenses; [ artistic1 gpl1Plus ];
16081     };
16082   };
16084   ModuleBuildPluggablePPPort = buildPerlModule {
16085     pname = "Module-Build-Pluggable-PPPort";
16086     version = "0.04";
16087     src = fetchurl {
16088       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-PPPort-0.04.tar.gz";
16089       hash = "sha256-RAhLo9iBXzQ705FYWsXYM5pIB85cDdhMmNuPMQtkwOo=";
16090     };
16091     buildInputs = [ TestRequires TestSharedFork ];
16092     propagatedBuildInputs = [ ModuleBuildPluggable ];
16093     meta = {
16094       description = "Generate ppport.h";
16095       license = with lib.licenses; [ artistic1 gpl1Plus ];
16096     };
16097   };
16099   ModuleBuildTiny = buildPerlModule {
16100     pname = "Module-Build-Tiny";
16101     version = "0.047";
16102     src = fetchurl {
16103       url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.047.tar.gz";
16104       hash = "sha256-cSYOlCG5PDPdGz59DPFfdZwMp8dT+oQCeew75w+PjJ0=";
16105     };
16106     buildInputs = [ FileShareDir ];
16107     propagatedBuildInputs = [ ExtUtilsHelpers ExtUtilsInstallPaths ];
16108     meta = {
16109       description = "A tiny replacement for Module::Build";
16110       license = with lib.licenses; [ artistic1 gpl1Plus ];
16111     };
16112   };
16114   ModuleBuildWithXSpp = buildPerlModule {
16115     pname = "Module-Build-WithXSpp";
16116     version = "0.14";
16117     src = fetchurl {
16118       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Module-Build-WithXSpp-0.14.tar.gz";
16119       hash = "sha256-U7PIyP29UPw9rT0Z2iDxtkFO9wZluTEXEMgClp50aTQ=";
16120     };
16121     propagatedBuildInputs = [ ExtUtilsCppGuess ExtUtilsXSpp ];
16122     meta = {
16123       description = "XS++ enhanced flavour of Module::Build";
16124       license = with lib.licenses; [ artistic1 gpl1Plus ];
16125     };
16126   };
16128   ModuleBuildXSUtil = buildPerlModule {
16129     pname = "Module-Build-XSUtil";
16130     version = "0.19";
16131     src = fetchurl {
16132       url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz";
16133       hash = "sha256-kGOzw0bt60IoB//kn/sjA4xPkA1Kd7hFzktT2XvylAA=";
16134     };
16135     buildInputs = [ CaptureTiny CwdGuard FileCopyRecursiveReduced ];
16136     propagatedBuildInputs = [ DevelCheckCompiler ];
16137     perlPreHook = "export LD=$CC";
16138     meta = {
16139       description = "A Module::Build class for building XS modules";
16140       homepage = "https://github.com/hideo55/Module-Build-XSUtil";
16141       license = with lib.licenses; [ artistic1 gpl1Plus ];
16142     };
16143   };
16145   ModuleCompile = buildPerlPackage rec {
16146     pname = "Module-Compile";
16147     version = "0.38";
16148     src = fetchurl {
16149       url = "mirror://cpan/authors/id/I/IN/INGY/Module-Compile-0.38.tar.gz";
16150       hash = "sha256-gJDPu2ESNDfu/sPjvthgBdH3xaUp+2/aLr68ZWS5qhA=";
16151     };
16152     propagatedBuildInputs = [ CaptureTiny DigestSHA1 ];
16153     meta = {
16154       description = "Perl Module Compilation";
16155       homepage = "https://github.com/ingydotnet/module-compile-pm";
16156       license = with lib.licenses; [ artistic1 gpl1Plus ];
16157     };
16158   };
16160   ModuleCPANTSAnalyse = buildPerlPackage {
16161     pname = "Module-CPANTS-Analyse";
16162     version = "1.02";
16163     src = fetchurl {
16164       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.02.tar.gz";
16165       hash = "sha256-nhFzm5zQi6LXWllzfx+yl/RYA/KJBjxcdZv8eP1Rbns=";
16166     };
16167     propagatedBuildInputs = [ ArchiveAnyLite ArrayDiff ClassAccessor DataBinary FileFindObject ModuleFind ParseDistname PerlPrereqScannerNotQuiteLite SoftwareLicense ];
16168     buildInputs = [ ExtUtilsMakeMakerCPANfile TestFailWarnings ];
16169     meta = {
16170       description = "Generate Kwalitee ratings for a distribution";
16171       homepage = "https://cpants.cpanauthors.org";
16172       license = with lib.licenses; [ artistic1 gpl1Plus ];
16173     };
16174   };
16176   ModuleCPANfile = buildPerlPackage {
16177     pname = "Module-CPANfile";
16178     version = "1.1004";
16179     src = fetchurl {
16180       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-CPANfile-1.1004.tar.gz";
16181       hash = "sha256-iO++LppkLc6qGGQw/t/PmZqvDgb2zO0opxS45WtRSSE=";
16182     };
16183     buildInputs = [ Filepushd ];
16184     meta = {
16185       description = "Parse cpanfile";
16186       homepage = "https://github.com/miyagawa/cpanfile";
16187       license = with lib.licenses; [ artistic1 gpl1Plus ];
16188     };
16189   };
16191   ModuleExtractUse = buildPerlModule {
16192     pname = "Module-ExtractUse";
16193     version = "0.345";
16194     src = fetchurl {
16195       url = "mirror://cpan/authors/id/D/DO/DOMM/Module-ExtractUse-0.345.tar.gz";
16196       hash = "sha256-juJOh0KrnaeSKL4Yfdoxm01fUKkaHs+H1JQhO1uzDdE=";
16197     };
16198     propagatedBuildInputs = [ ParseRecDescent PodStrip ];
16199     buildInputs = [ TestDeep TestNoWarnings ];
16200     meta = {
16201       description = "Find out what modules are used";
16202       license = with lib.licenses; [ artistic1 gpl1Plus ];
16203     };
16204   };
16206   ModuleExtractVERSION = buildPerlPackage {
16207     pname = "Module-Extract-VERSION";
16208     version = "1.116";
16209     src = fetchurl {
16210       url = "mirror://cpan/authors/id/B/BD/BDFOY/Module-Extract-VERSION-1.116.tar.gz";
16211       hash = "sha256-QZA6BoUXgoU0X12oVdkluUVO5xCpeV48TDJ7ri9Vdpg=";
16212     };
16213     meta = {
16214       homepage = "https://github.com/briandfoy/module-extract-version";
16215       description = "Extract a module version safely";
16216       license = lib.licenses.artistic2;
16217     };
16218   };
16220   ModuleFind = buildPerlPackage {
16221     pname = "Module-Find";
16222     version = "0.16";
16223     src = fetchurl {
16224       url = "mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.16.tar.gz";
16225       hash = "sha256-S8qqN2kVAUco1PUzqYxbWdZlBRzTzbr8lg5aZv0TEJI=";
16226     };
16227     meta = {
16228       description = "Find and use installed modules in a (sub)category";
16229       license = with lib.licenses; [ artistic1 gpl1Plus ];
16230     };
16231   };
16233   ModuleImplementation = buildPerlPackage {
16234     pname = "Module-Implementation";
16235     version = "0.09";
16236     src = fetchurl {
16237       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz";
16238       hash = "sha256-wV8aEvDCEwye//PC4a/liHsIzNAzvRMhhtHn1Qh/1m0=";
16239     };
16240     buildInputs = [ TestFatal TestRequires ];
16241     propagatedBuildInputs = [ ModuleRuntime TryTiny ];
16242     meta = {
16243       description = "Loads one of several alternate underlying implementations for a module";
16244       homepage = "https://metacpan.org/release/Module-Implementation";
16245       license = with lib.licenses; [ artistic2 ];
16246     };
16247   };
16249   ModuleInfo = buildPerlPackage {
16250     pname = "Module-Info";
16251     version = "0.37";
16252     src = fetchurl {
16253       url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Info-0.37.tar.gz";
16254       hash = "sha256-jqgCUpeQsZwfNzoeR9g4FmT5xMH3ao2LvG221zEcJEg=";
16255     };
16256     buildInputs = [ TestPod TestPodCoverage ];
16257     propagatedBuildInputs = [ BUtils ];
16258     meta = {
16259       description = "Information about Perl modules";
16260       license = with lib.licenses; [ artistic1 gpl1Plus ];
16261       mainProgram = "module_info";
16262     };
16263   };
16265   ModuleInstall = buildPerlPackage {
16266     pname = "Module-Install";
16267     version = "1.21";
16268     src = fetchurl {
16269       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Install-1.21.tar.gz";
16270       hash = "sha256-+/kQB/MFZfOSDhBgVf0NQoeYHV59rYs1MjzktzPxWns=";
16271     };
16272     propagatedBuildInputs = [ FileRemove ModuleBuild ModuleScanDeps YAMLTiny ];
16273     meta = {
16274       description = "Standalone, extensible Perl module installer";
16275       license = with lib.licenses; [ artistic1 gpl1Plus ];
16276     };
16277   };
16279   ModuleInstallAuthorRequires = buildPerlPackage {
16280     pname = "Module-Install-AuthorRequires";
16281     version = "0.02";
16282     src = fetchurl {
16283       url = "mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz";
16284       hash = "sha256-zGMhU310XSqDqChvhe8zRnRZOcw7NBAgRb7IVg6PTOw=";
16285     };
16286     propagatedBuildInputs = [ ModuleInstall ];
16287     meta = {
16288       description = "Declare author-only dependencies";
16289       license = with lib.licenses; [ artistic1 gpl1Plus ];
16290     };
16291   };
16293   ModuleInstallAuthorTests = buildPerlPackage {
16294     pname = "Module-Install-AuthorTests";
16295     version = "0.002";
16296     src = fetchurl {
16297       url = "mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz";
16298       hash = "sha256-QCVyLeY1ft9TwoUBsA59qSzS+fxhG6B1N2Gg4d/zLYg=";
16299     };
16300     propagatedBuildInputs = [ ModuleInstall ];
16301     meta = {
16302       description = "Designate tests only run by module authors";
16303       license = with lib.licenses; [ artistic1 gpl1Plus ];
16304     };
16305   };
16307   ModuleInstallGithubMeta = buildPerlPackage {
16308     pname = "Module-Install-GithubMeta";
16309     version = "0.30";
16310     src = fetchurl {
16311       url = "mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-GithubMeta-0.30.tar.gz";
16312       hash = "sha256-Lq1EyXPHSNctnxmeQcRNwYAf6a4GsPrcWUR2k6PJgoE=";
16313     };
16314     buildInputs = [ CaptureTiny ];
16315     propagatedBuildInputs = [ ModuleInstall ];
16316     meta = {
16317       description = "A Module::Install extension to include GitHub meta information in META.yml";
16318       homepage = "https://github.com/bingos/module-install-githubmeta";
16319       license = with lib.licenses; [ artistic1 gpl1Plus ];
16320       maintainers = [ maintainers.sgo ];
16321     };
16322   };
16324   ModuleInstallReadmeFromPod = buildPerlPackage {
16325     pname = "Module-Install-ReadmeFromPod";
16326     version = "0.30";
16327     src = fetchurl {
16328       url = "mirror://cpan/authors/id/B/BI/BINGOS/Module-Install-ReadmeFromPod-0.30.tar.gz";
16329       hash = "sha256-efbfVTZhn6/72mlr3SXMrRfEab8y5RzT5hM2bUlAAWk=";
16330     };
16331     buildInputs = [ TestInDistDir ];
16332     propagatedBuildInputs = [ CaptureTiny IOAll ModuleInstall PodMarkdown ];
16333     meta = {
16334       description = "A Module::Install extension to automatically convert POD to a README";
16335       homepage = "https://github.com/bingos/module-install-readmefrompod";
16336       license = with lib.licenses; [ artistic1 gpl1Plus ];
16337       maintainers = [ maintainers.sgo ];
16338     };
16339   };
16341   ModuleInstallReadmeMarkdownFromPod = buildPerlPackage {
16342     pname = "Module-Install-ReadmeMarkdownFromPod";
16343     version = "0.04";
16344     src = fetchurl {
16345       url = "mirror://cpan/authors/id/M/MA/MATTN/Module-Install-ReadmeMarkdownFromPod-0.04.tar.gz";
16346       hash = "sha256-MAsuJE+DuaVKlfhATBzTrwY1tPrpdMplOQ7kKOxmhZE=";
16347     };
16348     buildInputs = [ URI ];
16349     propagatedBuildInputs = [ ModuleInstall PodMarkdown ];
16350     meta = {
16351       description = "Create README.mkdn from POD";
16352       homepage = "https://search.cpan.org/dist/Module-Install-ReadmeMarkdownFromPod";
16353       license = with lib.licenses; [ artistic1 gpl1Plus ];
16354       maintainers = [ maintainers.sgo ];
16355     };
16356   };
16358   ModuleInstallRepository = buildPerlPackage {
16359     pname = "Module-Install-Repository";
16360     version = "0.06";
16361     src = fetchurl {
16362       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-Install-Repository-0.06.tar.gz";
16363       hash = "sha256-AOJZDQkznMzL2qMo0SrY7HfoMaOMmtZjcF5Z7LsYcis=";
16364     };
16365     buildInputs = [ PathClass ];
16366     meta = {
16367       description = "Automatically sets repository URL from svn/svk/Git checkout";
16368       license = with lib.licenses; [ artistic1 gpl1Plus ];
16369       maintainers = [ maintainers.sgo ];
16370     };
16371   };
16373   ModuleInstallXSUtil = buildPerlPackage {
16374     pname = "Module-Install-XSUtil";
16375     version = "0.45";
16376     src = fetchurl {
16377       url = "mirror://cpan/authors/id/G/GF/GFUJI/Module-Install-XSUtil-0.45.tar.gz";
16378       hash = "sha256-/nHlMyC+4TGXdJoLF2CaomP3H/RuXiwTDpR0Lqar31Y=";
16379     };
16380     buildInputs = [ BHooksOPAnnotation ];
16381     propagatedBuildInputs = [ ModuleInstall ];
16382     meta = {
16383       description = "Utility functions for XS modules";
16384       license = with lib.licenses; [ artistic1 gpl1Plus ];
16385     };
16386   };
16388   ModuleManifest = buildPerlPackage {
16389     pname = "Module-Manifest";
16390     version = "1.09";
16391     src = fetchurl {
16392       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-1.09.tar.gz";
16393       hash = "sha256-o5X4D/FeoOZv1sRThEtnh+1Kh1o82N+ffikoAlC9U5s=";
16394     };
16395     buildInputs = [ TestException TestWarn ];
16396     propagatedBuildInputs = [ ParamsUtil ];
16397     meta = {
16398       description = "Parse and examine a Perl distribution MANIFEST file";
16399       homepage = "https://github.com/karenetheridge/Module-Manifest";
16400       license = with lib.licenses; [ artistic1 gpl1Plus ];
16401     };
16402   };
16404   ModulePath = buildPerlPackage {
16405     pname = "Module-Path";
16406     version = "0.19";
16407     src = fetchurl {
16408       url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.19.tar.gz";
16409       hash = "sha256-szF5zk3XPfzefUaAiAS5/7sR2wJF/kVafQAXR1Yv6so=";
16410     };
16411     buildInputs = [ DevelFindPerl ];
16412     meta = {
16413       description = "Get the full path to a locally installed module";
16414       homepage = "https://github.com/neilbowers/Module-Path";
16415       license = with lib.licenses; [ artistic1 gpl1Plus ];
16416       mainProgram = "mpath";
16417     };
16418   };
16420   ModulePluggable = buildPerlPackage {
16421     pname = "Module-Pluggable";
16422     version = "5.2";
16423     src = fetchurl {
16424       url = "mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz";
16425       hash = "sha256-s/KtReT9ELP7kNkS142LeVqylUgNtW3GToa5+nXFpt8=";
16426     };
16427     patches = [
16428       # !!! merge this patch into Perl itself (which contains Module::Pluggable as well)
16429       ../development/perl-modules/module-pluggable.patch
16430     ];
16431     buildInputs = [ AppFatPacker ];
16432     meta = {
16433       description = "Automatically give your module the ability to have plugins";
16434       license = with lib.licenses; [ artistic1 gpl1Plus ];
16435     };
16436   };
16438   ModulePluggableFast = buildPerlPackage {
16439     pname = "Module-Pluggable-Fast";
16440     version = "0.19";
16441     src = fetchurl {
16442       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz";
16443       hash = "sha256-CMhXcFjxmTLKG2Zre5EmoYtVajmwi+b7ObBqRTkqB18=";
16444     };
16445     propagatedBuildInputs = [ UNIVERSALrequire ];
16446     meta = {
16447       description = "Fast plugins with instantiation";
16448       license = with lib.licenses; [ artistic1 gpl1Plus ];
16449     };
16450   };
16452   ModuleRefresh = buildPerlPackage {
16453     pname = "Module-Refresh";
16454     version = "0.18";
16455     src = fetchurl {
16456       url = "mirror://cpan/authors/id/B/BP/BPS/Module-Refresh-0.18.tar.gz";
16457       hash = "sha256-4JTaqQmv32SJqeKzJzP2haLBy1zIh2BhB1SGEJsN71k=";
16458     };
16459     buildInputs = [ PathClass ];
16460     meta = {
16461       description = "Refresh %INC files when updated on disk";
16462       license = with lib.licenses; [ artistic1 gpl1Plus ];
16463     };
16464   };
16466   ModuleRuntime = buildPerlModule {
16467     pname = "Module-Runtime";
16468     version = "0.016";
16469     src = fetchurl {
16470       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz";
16471       hash = "sha256-aDAuxkaDNUfUEL4o4JZ223UAb0qlihHzvbRP/pnw8CQ=";
16472     };
16473     meta = {
16474       description = "Runtime module handling";
16475       license = with lib.licenses; [ artistic1 gpl1Plus ];
16476     };
16477   };
16479   ModuleRuntimeConflicts = buildPerlPackage {
16480     pname = "Module-Runtime-Conflicts";
16481     version = "0.003";
16482     src = fetchurl {
16483       url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz";
16484       hash = "sha256-cHzcdQOMcP6Rd5uIisBQ8ShWXTlnupZoDhscfMlzOHU=";
16485     };
16486     propagatedBuildInputs = [ DistCheckConflicts ];
16487     meta = {
16488       description = "Provide information on conflicts for Module::Runtime";
16489       homepage = "https://github.com/karenetheridge/Module-Runtime-Conflicts";
16490       license = with lib.licenses; [ artistic1 gpl1Plus ];
16491     };
16492   };
16494   ModuleScanDeps = buildPerlPackage {
16495     pname = "Module-ScanDeps";
16496     version = "1.34";
16497     src = fetchurl {
16498       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.34.tar.gz";
16499       hash = "sha256-ysUw5c/EE+BneXx9I3xsXNMpFcPZ+u5dlANcjzqFUOs=";
16500     };
16501     buildInputs = [ TestRequires IPCRun3 ];
16502     propagatedBuildInputs = [ TextParsewords ];
16503     meta = {
16504       description = "Recursively scan Perl code for dependencies";
16505       license = with lib.licenses; [ artistic1 gpl1Plus ];
16506       mainProgram = "scandeps.pl";
16507     };
16508   };
16510   ModuleSignature = buildPerlPackage {
16511     pname = "Module-Signature";
16512     version = "0.87";
16513     src = fetchurl {
16514       url = "mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.87.tar.gz";
16515       hash = "sha256-IU6AVcUP7DcalXQ1IP4mlAAE52FpBjsrROyQoNRdaYI=";
16516     };
16517     buildInputs = [ IPCRun ];
16518     meta = {
16519       description = "Module signature file manipulation";
16520       license = with lib.licenses; [ cc0 ];
16521       mainProgram = "cpansign";
16522     };
16523   };
16525   ModuleUtil = buildPerlModule {
16526     pname = "Module-Util";
16527     version = "1.09";
16528     src = fetchurl {
16529       url = "mirror://cpan/authors/id/M/MA/MATTLAW/Module-Util-1.09.tar.gz";
16530       hash = "sha256-bPvLakUGREbsiqDuGn3dxCC1RGkwM0QYeu+E0sfz4sY=";
16531     };
16532     meta = {
16533       description = "Module name tools and transformations";
16534       license = with lib.licenses; [ artistic1 gpl1Plus ];
16535       mainProgram = "pm_which";
16536     };
16537   };
16539   ModuleVersions = buildPerlPackage {
16540     pname = "Module-Versions";
16541     version = "0.02";
16542     src = fetchurl {
16543       url = "mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip";
16544       hash = "sha256-DTimWxenrFGI1zh8/+f6oSY4Rw3JNxYevz2kh7fR+Dw=";
16545     };
16546     buildInputs = [ pkgs.unzip ];
16547     meta = {
16548       description = "Handle versions of loaded modules with flexible result interface";
16549       license = with lib.licenses; [ artistic1 gpl1Plus ];
16550     };
16551   };
16553   ModuleVersionsReport = buildPerlPackage {
16554     pname = "Module-Versions-Report";
16555     version = "1.06";
16556     src = fetchurl {
16557       url = "mirror://cpan/authors/id/J/JE/JESSE/Module-Versions-Report-1.06.tar.gz";
16558       hash = "sha256-oyYdDYSxdnjYxP1V6w+JL1FE2BylPqmjjXXRoArZeWo=";
16559     };
16560     meta = {
16561       description = "Report versions of all modules in memory";
16562       license = with lib.licenses; [ artistic1 gpl1Plus ];
16563     };
16564   };
16566   MojoDOM58 = buildPerlPackage {
16567     pname = "Mojo-DOM58";
16568     version = "3.001";
16569     src = fetchurl {
16570       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-DOM58-3.001.tar.gz";
16571       hash = "sha256-GLJtVB5TFEFa3d8xQ2nZQMi6BrESNMpQb9vmzyJPV5Y=";
16572     };
16573     meta = {
16574       description = "Minimalistic HTML/XML DOM parser with CSS selectors";
16575       homepage = "https://github.com/Grinnz/Mojo-DOM58";
16576       license = with lib.licenses; [ artistic2 ];
16577     };
16578   };
16580   mod_perl2 = buildPerlPackage {
16581     pname = "mod_perl";
16582     version = "2.0.12";
16583     src = fetchurl {
16584       url = "mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.12.tar.gz";
16585       hash = "sha256-9bghtZsP3JZw5G7Q/PMtiRHyUSYYmotowWUvkiHu4mk=";
16586     };
16588     makeMakerFlags = [ "MP_AP_DESTDIR=$out" ];
16589     buildInputs = [ pkgs.apacheHttpd ];
16590     doCheck = false; # would try to start Apache HTTP server
16591     passthru.tests = nixosTests.mod_perl;
16592     meta = {
16593       description = "Embed a Perl interpreter in the Apache/2.x HTTP server";
16594       license = with lib.licenses; [ asl20 ];
16595       mainProgram = "mp2bug";
16596     };
16597   };
16599   Mojolicious = buildPerlPackage {
16600     pname = "Mojolicious";
16601     version = "9.35";
16602     src = fetchurl {
16603       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-9.35.tar.gz";
16604       hash = "sha256-akpEbuB/ynxtty9dgXVA1oMwCcuN58zkxvskoV7n1Gs=";
16605     };
16606     meta = {
16607       description = "Real-time web framework";
16608       homepage = "https://mojolicious.org";
16609       license = with lib.licenses; [ artistic2 ];
16610       maintainers = with maintainers; [ thoughtpolice sgo ];
16611       mainProgram = "mojo";
16612     };
16613   };
16615   MojoliciousPluginAssetPack = buildPerlPackage {
16616     pname = "Mojolicious-Plugin-AssetPack";
16617     version = "2.14";
16618     src = fetchurl {
16619       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-AssetPack-2.14.tar.gz";
16620       hash = "sha256-jwWMyIw1mb6/ZjeK7GS91uvNkMljGL3m1ov6551j6qM=";
16621     };
16622     propagatedBuildInputs = [ FileWhich IPCRun3 Mojolicious ];
16623     meta = {
16624       description = "Compress and convert css, less, sass, javascript and coffeescript files";
16625       homepage = "https://github.com/jhthorsen/mojolicious-plugin-assetpack";
16626       license = with lib.licenses; [ artistic2 ];
16627       maintainers = with maintainers; [ sgo ];
16628     };
16629   };
16631   MojoliciousPluginGravatar = buildPerlPackage {
16632     pname = "Mojolicious-Plugin-Gravatar";
16633     version = "0.04";
16634     src = fetchurl {
16635       url = "mirror://cpan/authors/id/K/KO/KOORCHIK/Mojolicious-Plugin-Gravatar-0.04.tar.gz";
16636       hash = "sha256-pJ+XDGxw+ZMLMEp1IWPLlfHZmHEvecsTZAgy5Le2dd0=";
16637     };
16638     propagatedBuildInputs = [ Mojolicious ];
16639     meta = {
16640       description = "Globally Recognized Avatars for Mojolicious";
16641       license = with lib.licenses; [ artistic1 gpl1Plus ];
16642       maintainers = with maintainers; [ sgo ];
16643     };
16644   };
16646   MojoliciousPluginI18N = buildPerlModule {
16647     pname = "Mojolicious-Plugin-I18N";
16648     version = "1.6";
16649     src = fetchurl {
16650       url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-I18N-1.6.tar.gz";
16651       hash = "sha256-Mvte+AN9lUt+zr71wbKyS0IKvYKXAjEvStQnlPUrUU0=";
16652     };
16653     propagatedBuildInputs = [ Mojolicious ];
16654     meta = {
16655       homepage = "https://github.com/sharifulin/Mojolicious-Plugin-I18N";
16656       description = "Internationalization Plugin for Mojolicious";
16657       license = with lib.licenses; [ artistic1 gpl1Plus ];
16658     };
16659   };
16661   MojoliciousPluginMail = buildPerlModule {
16662     pname = "Mojolicious-Plugin-Mail";
16663     version = "1.5";
16664     src = fetchurl {
16665       url = "mirror://cpan/authors/id/S/SH/SHARIFULN/Mojolicious-Plugin-Mail-1.5.tar.gz";
16666       hash = "sha256-VvDTQevDp6zzkZ9a3UPpghbqEoWqDYfn+wDAK7Dv8UY=";
16667     };
16668     propagatedBuildInputs = [ MIMEEncWords MIMELite Mojolicious ];
16669     meta = {
16670       description = "Mojolicious Plugin for send mail";
16671       homepage = "https://github.com/sharifulin/Mojolicious-Plugin-Mail";
16672       license = with lib.licenses; [ artistic1 gpl1Plus ];
16673       maintainers = [ maintainers.sgo ];
16674     };
16675   };
16677   MojoliciousPluginOpenAPI = buildPerlPackage {
16678     pname = "Mojolicious-Plugin-OpenAPI";
16679     version = "5.09";
16680     src = fetchurl {
16681       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-5.09.tar.gz";
16682       hash = "sha256-BIJdfOIe20G80Ujrz6Gu+Ek258QOhKOdvyeGcdSaMQY=";
16683     };
16684     propagatedBuildInputs = [ JSONValidator Mojolicious ];
16685     meta = {
16686       description = "OpenAPI / Swagger plugin for Mojolicious";
16687       homepage = "https://github.com/jhthorsen/mojolicious-plugin-openapi";
16688       license = with lib.licenses; [ artistic2 ];
16689       maintainers = [ maintainers.sgo ];
16690     };
16691   };
16693   MojoliciousPluginRenderFile = buildPerlPackage {
16694     pname = "Mojolicious-Plugin-RenderFile";
16695     version = "0.12";
16696     src = fetchurl {
16697       url = "mirror://cpan/authors/id/K/KO/KOORCHIK/Mojolicious-Plugin-RenderFile-0.12.tar.gz";
16698       hash = "sha256-AT5CoswGvHBBuxPJ3ziK8kAQ5peTqN8PCrHSQKphFz8=";
16699     };
16700     propagatedBuildInputs = [ Mojolicious ];
16701     meta = {
16702       description = "\"render_file\" helper for Mojolicious";
16703       homepage = "https://github.com/koorchik/Mojolicious-Plugin-RenderFile";
16704       license = with lib.licenses; [ artistic1 gpl1Plus ];
16705       maintainers = with maintainers; [ tomasajt ];
16706     };
16707   };
16709   MojoliciousPluginStatus = buildPerlPackage {
16710     pname = "Mojolicious-Plugin-Status";
16711     version = "1.17";
16712     src = fetchurl {
16713       url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.17.tar.gz";
16714       hash = "sha256-TCsfr+PhkSYby0TiDo75rz+YjR25akrgsG7tQSArh7Q=";
16715     };
16716     propagatedBuildInputs = [ BSDResource CpanelJSONXS FileMap Mojolicious Sereal ];
16717     meta = {
16718       description = "Mojolicious server status";
16719       homepage = "https://mojolicious.org";
16720       license = with lib.licenses; [ artistic2 ];
16721       maintainers = [ maintainers.thoughtpolice ];
16722     };
16723   };
16725   MojoliciousPluginSyslog = buildPerlPackage {
16726     pname = "Mojolicious-Plugin-Syslog";
16727     version = "0.06";
16728     src = fetchurl {
16729       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-Syslog-0.06.tar.gz";
16730       hash = "sha256-IuxL9TYwDseyAYuoV3C9g2ZFDBAwVDZ9srFp9Mh3QRM=";
16731     };
16732     propagatedBuildInputs = [ Mojolicious ];
16733     meta = {
16734       description = "A plugin for enabling a Mojolicious app to log to syslog";
16735       homepage = "https://github.com/jhthorsen/mojolicious-plugin-syslog";
16736       license = with lib.licenses; [ artistic2 ];
16737       maintainers = [ maintainers.sgo ];
16738     };
16739   };
16741   MojoliciousPluginTemplateToolkit = buildPerlModule {
16742     pname = "Mojolicious-Plugin-TemplateToolkit";
16743     version = "0.006";
16744     src = fetchurl {
16745       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojolicious-Plugin-TemplateToolkit-0.006.tar.gz";
16746       hash = "sha256-dBoFAmtTArtrKc+I3KICC3rv0iNHgWELpZNaqPCXNKY=";
16747     };
16748     buildInputs = [ ModuleBuildTiny ];
16749     propagatedBuildInputs = [ ClassMethodModifiers Mojolicious TemplateToolkit ];
16750     meta = {
16751       homepage = "https://github.com/Grinnz/Mojolicious-Plugin-TemplateToolkit";
16752       description = "Template Toolkit renderer plugin for Mojolicious";
16753       license = with lib.licenses; [ artistic2 ];
16754       maintainers = with maintainers; [ tomasajt ];
16755     };
16756   };
16758   MojoliciousPluginTextExceptions = buildPerlPackage {
16759     pname = "Mojolicious-Plugin-TextExceptions";
16760     version = "0.02";
16761     src = fetchurl {
16762       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Mojolicious-Plugin-TextExceptions-0.02.tar.gz";
16763       hash = "sha256-Oht0BcV4TO5mHP8bARpzlRBN1IS7kbnnWT+ralOb+HQ=";
16764     };
16765     propagatedBuildInputs = [ Mojolicious ];
16766     meta = {
16767       description = "Render exceptions as text in command line user agents";
16768       homepage = "https://github.com/marcusramberg/mojolicious-plugin-textexceptions";
16769       license = with lib.licenses; [ artistic2 ];
16770       maintainers = [ maintainers.sgo ];
16771     };
16772   };
16774   MojoliciousPluginWebpack = buildPerlPackage {
16775     pname = "Mojolicious-Plugin-Webpack";
16776     version = "1.02";
16777     src = fetchurl {
16778       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-Webpack-1.02.tar.gz";
16779       hash = "sha256-REzqioOZquelrWt8iQ/yFgk8WM6uaxyKBl77cBC3zn0=";
16780     };
16781     propagatedBuildInputs = [ Mojolicious Filechdir ];
16782     meta = {
16783       description = "Mojolicious <3 Webpack";
16784       homepage = "https://github.com/jhthorsen/mojolicious-plugin-webpack";
16785       license = with lib.licenses; [ artistic2 ];
16786       maintainers = [ maintainers.sgo ];
16787     };
16788   };
16790   MojoRedis = buildPerlPackage {
16791     pname = "Mojo-Redis";
16792     version = "3.29";
16793     src = fetchurl {
16794       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-Redis-3.29.tar.gz";
16795       hash = "sha256-oDMZpF0uYTpsfS1ZrAD9SwtHiGVi5ish3pG0r4llgII=";
16796     };
16797     propagatedBuildInputs = [ Mojolicious ProtocolRedisFaster ];
16798     meta = {
16799       description = "Redis driver based on Mojo::IOLoop";
16800       homepage = "https://github.com/jhthorsen/mojo-redis";
16801       license = with lib.licenses; [ artistic2 ];
16802       maintainers = [ maintainers.sgo ];
16803     };
16804   };
16806   MojoSAML = buildPerlModule {
16807     pname = "Mojo-SAML";
16808     version = "0.07";
16809     src = fetchurl {
16810       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-SAML-0.07.tar.gz";
16811       hash = "sha256-csJMrNtvHXp14uqgBDfHFKv1eafSENSqTT8g8e/0cQ0=";
16812     };
16813     buildInputs = [ ModuleBuildTiny ];
16814     propagatedBuildInputs = [ CryptOpenSSLRSA CryptOpenSSLX509 DataGUID Mojolicious XMLCanonicalizeXML ];
16815     meta = {
16816       description = "A SAML2 toolkit using the Mojo toolkit";
16817       license = with lib.licenses; [ artistic1 gpl1Plus ];
16818       maintainers = [ maintainers.sgo ];
16819     };
16820   };
16822   MojoSQLite = buildPerlModule {
16823     pname = "Mojo-SQLite";
16824     version = "3.009";
16825     src = fetchurl {
16826       url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.009.tar.gz";
16827       hash = "sha256-Vzmprz/A/BYrOAMt9hCgcANSY7++C+wWrsUvDd3Xtkc=";
16828     };
16829     buildInputs = [ ModuleBuildTiny ];
16830     propagatedBuildInputs = [ DBDSQLite Mojolicious SQLAbstractPg URIdb URI ];
16831     meta = {
16832       description = "A tiny Mojolicious wrapper for SQLite";
16833       homepage = "https://github.com/Grinnz/Mojo-SQLite";
16834       license = with lib.licenses; [ artistic2 ];
16835       maintainers = [ maintainers.sgo ];
16836     };
16837   };
16839   Mojomysql = buildPerlPackage rec {
16840     pname = "Mojo-mysql";
16841     version = "1.26";
16842     src = fetchurl {
16843       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojo-mysql-1.26.tar.gz";
16844       hash = "sha256-H9LjBlr4Je9N2x2W9g9MVc9NCCD77L0wrHGdTeJx5rw=";
16845     };
16846     propagatedBuildInputs = [ DBDmysql Mojolicious SQLAbstract ];
16847     buildInputs = [ TestDeep ];
16848     meta = {
16849       description = "Mojolicious and Async MySQL/MariaDB";
16850       homepage = "https://github.com/jhthorsen/mojo-mysql";
16851       license = with lib.licenses; [ artistic2 ];
16852       maintainers = [ maintainers.sgo ];
16853     };
16854   };
16856   MojoIOLoopDelay = buildPerlModule {
16857     pname = "Mojo-IOLoop-Delay";
16858     version = "8.76";
16859     src = fetchurl {
16860       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-Delay-8.76.tar.gz";
16861       hash = "sha256-jsvAYUg3IdkgRZQya+zpXM2/vbbRihc8gt1xgXLQqe0=";
16862     };
16863     buildInputs = [ ModuleBuildTiny ];
16864     propagatedBuildInputs = [ Mojolicious ];
16865     meta = {
16866       description = "(DISCOURAGED) Promises/A+ and flow-control helpers";
16867       homepage = "https://github.com/jberger/Mojo-IOLoop-Delay";
16868       license = with lib.licenses; [ artistic2 ];
16869       maintainers = [ maintainers.zakame ];
16870     };
16871   };
16873   MojoIOLoopForkCall = buildPerlModule {
16874     pname = "Mojo-IOLoop-ForkCall";
16875     version = "0.21";
16876     src = fetchurl {
16877       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-ForkCall-0.21.tar.gz";
16878       hash = "sha256-8dpdh4RxvdhvAcQjhQgAgE9ttCtUU8IW8Jslt5RYS3g=";
16879     };
16880     propagatedBuildInputs = [ IOPipely Mojolicious MojoIOLoopDelay ];
16881     preBuild = ''
16882       # This module needs the deprecated Mojo::IOLoop::Delay
16883       substituteInPlace lib/Mojo/IOLoop/ForkCall.pm \
16884         --replace "use Mojo::IOLoop;" "use Mojo::IOLoop; use Mojo::IOLoop::Delay;"
16885     '';
16886     meta = {
16887       description = "(DEPRECATED) run blocking functions asynchronously by forking";
16888       homepage = "https://github.com/jberger/Mojo-IOLoop-ForkCall";
16889       license = with lib.licenses; [ artistic1 gpl1Plus ];
16890       maintainers = [ maintainers.zakame ];
16891     };
16892   };
16894   MojoJWT = buildPerlModule {
16895     pname = "Mojo-JWT";
16896     version = "0.09";
16897     src = fetchurl {
16898       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-JWT-0.09.tar.gz";
16899       hash = "sha256-wE4DmD4MbyvORdCOoucph5yWee+mNLDmjLa4t7SoWIY=";
16900     };
16901     buildInputs = [ ModuleBuildTiny ];
16902     propagatedBuildInputs = [ Mojolicious ];
16903     meta = {
16904       description = "JSON Web Token the Mojo way";
16905       homepage = "https://github.com/jberger/Mojo-JWT";
16906       license = with lib.licenses; [ artistic1 gpl1Plus ];
16907       maintainers = [ maintainers.sgo ];
16908     };
16909   };
16911   MojoPg = buildPerlPackage {
16912     pname = "Mojo-Pg";
16913     version = "4.27";
16914     src = fetchurl {
16915       url = "mirror://cpan/authors/id/S/SR/SRI/Mojo-Pg-4.27.tar.gz";
16916       hash = "sha256-oyLI3wDj5WVf300LernXmSiTIOKfZP6ZrHrxJEhO+dg=";
16917     };
16918     propagatedBuildInputs = [ DBDPg Mojolicious SQLAbstractPg ];
16919     buildInputs = [ TestDeep ];
16920     meta = {
16921       description = "Mojolicious â™¥ PostgreSQL";
16922       homepage = "https://mojolicious.org";
16923       license = with lib.licenses; [ artistic2 ];
16924       maintainers = [ maintainers.sgo ];
16925     };
16926   };
16928   MojoUserAgentCached = buildPerlPackage {
16929     pname = "Mojo-UserAgent-Cached";
16930     version = "1.25";
16931     src = fetchurl {
16932       url = "mirror://cpan/authors/id/N/NI/NICOMEN/Mojo-UserAgent-Cached-1.25.tar.gz";
16933       hash = "sha256-lZmikTjq/ZKPWF7jDvFm0j/x3FKkBn50hyxR4W3shko=";
16934     };
16935     buildInputs = [ ModuleInstall ];
16936     propagatedBuildInputs = [ AlgorithmLCSS CHI DataSerializer DevelStackTrace Mojolicious Readonly StringTruncate ];
16937     doCheck = !stdenv.isDarwin;
16938     meta = {
16939       description = "Caching, Non-blocking I/O HTTP, Local file and WebSocket user agent";
16940       homepage = "https://github.com/nicomen/mojo-useragent-cached";
16941       license = with lib.licenses; [ artistic1 gpl1Plus ];
16942       maintainers = [ maintainers.sgo ];
16943     };
16944   };
16946   MongoDB = buildPerlPackage {
16947     pname = "MongoDB";
16948     version = "2.2.2";
16949     src = fetchurl {
16950       url = "mirror://cpan/authors/id/M/MO/MONGODB/MongoDB-v2.2.2.tar.gz";
16951       hash = "sha256-IBk1+S2slPOcNd5zZh6LJSQ55JbyKGV9uF/5MlfDJo8=";
16952     };
16953     buildInputs = [ JSONMaybeXS PathTiny TestDeep TestFatal TimeMoment ];
16954     propagatedBuildInputs = [ AuthenSASLSASLprep AuthenSCRAM BSON IOSocketSSL NetSSLeay ClassXSAccessor BSONXS TypeTinyXS MozillaCA Moo NetDNS SafeIsa SubQuote TieIxHash TypeTiny UUIDURandom boolean namespaceclean ];
16955     meta = {
16956       description = "Official MongoDB Driver for Perl (EOL)";
16957       homepage = "https://github.com/mongodb-labs/mongo-perl-driver";
16958       license = with lib.licenses; [ asl20 ];
16959     };
16960   };
16962   MonitoringPlugin = buildPerlPackage {
16963     pname = "Monitoring-Plugin";
16964     version = "0.40";
16965     src = fetchurl {
16966       url = "mirror://cpan/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-0.40.tar.gz";
16967       hash = "sha256-+LprfifSuwpPmjKVWiRC1OQo0cSLgMixIUL/YRvnI28=";
16968     };
16969     propagatedBuildInputs = [ ClassAccessor ConfigTiny MathCalcUnits ParamsValidate ];
16970     meta = {
16971       description = ''
16972         A family of perl modules to streamline writing Naemon,
16973         Nagios, Icinga or Shinken (and compatible) plugins
16974       '';
16975       license = with lib.licenses; [ artistic1 gpl1Plus ];
16976     };
16977   };
16979   IOPipely = buildPerlPackage {
16980     pname = "IO-Pipely";
16981     version = "0.006";
16982     src = fetchurl {
16983       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/IO-Pipely-0.006.tar.gz";
16984       hash = "sha256-Dj/NhBoyfvtUn6AbIIPcNpXnLqDGMwPlbtUWG/gQQTs=";
16985     };
16986     meta = {
16987       description = "Portably create pipe() or pipe-like handles, one way or another";
16988       homepage = "https://search.cpan.org/dist/IO-Pipely";
16989       license = with lib.licenses; [ artistic1 gpl1Plus ];
16990     };
16991   };
16993   Moo = buildPerlPackage {
16994     pname = "Moo";
16995     version = "2.005005";
16996     src = fetchurl {
16997       url = "mirror://cpan/authors/id/H/HA/HAARG/Moo-2.005005.tar.gz";
16998       hash = "sha256-+1opUmSfrtBzc/Igt4AEqcaro4dzkTN0DBdw6bH0sQg=";
16999     };
17000     buildInputs = [ TestFatal ];
17001     propagatedBuildInputs = [ ClassMethodModifiers ModuleRuntime RoleTiny SubQuote ];
17002     meta = {
17003       description = "Minimalist Object Orientation (with Moose compatibility)";
17004       license = with lib.licenses; [ artistic1 gpl1Plus ];
17005     };
17006   };
17008   Moose = buildPerlPackage {
17009     pname = "Moose";
17010     version = "2.2206";
17011     src = fetchurl {
17012       url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-2.2206.tar.gz";
17013       hash = "sha256-Z5csTivDn72jhRgXevDme7vrVIVi5OxLdZoaelg+UFs=";
17014     };
17015     buildInputs = [ DistCheckConflicts CPANMetaCheck TestCleanNamespaces TestFatal TestNeeds TestRequires ];
17016     propagatedBuildInputs = [ ClassLoadXS DataOptList DevelGlobalDestruction DevelOverloadInfo DevelStackTrace EvalClosure MROCompat ModuleRuntimeConflicts PackageDeprecationManager PackageStashXS ParamsUtil SubExporter TryTiny ];
17017     preConfigure = ''
17018       export LD=$CC
17019     '';
17020     meta = {
17021       description = "A postmodern object system for Perl 5";
17022       homepage = "http://moose.perl.org";
17023       license = with lib.licenses; [ artistic1 gpl1Plus ];
17024       maintainers = [ maintainers.eelco ];
17025       mainProgram = "moose-outdated";
17026     };
17027   };
17029   MooXHandlesVia = buildPerlPackage {
17030     pname = "MooX-HandlesVia";
17031     version = "0.001009";
17032     src = fetchurl {
17033       url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-0.001009.tar.gz";
17034       hash = "sha256-cWNT44iU7Lfo5MF7yVSD219ZACsDVBtUpywn8qjzbBI=";
17035     };
17036     buildInputs = [ MooXTypesMooseLike TestException TestFatal ];
17037     propagatedBuildInputs = [ DataPerl Moo ];
17038     meta = {
17039       description = "NativeTrait-like behavior for Moo";
17040       license = with lib.licenses; [ artistic1 gpl1Plus ];
17041     };
17042   };
17044   MooXLocalePassthrough = buildPerlPackage {
17045     pname = "MooX-Locale-Passthrough";
17046     version = "0.001";
17047     src = fetchurl {
17048       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-Passthrough-0.001.tar.gz";
17049       hash = "sha256-egWCflKrWh3eLqXHEpJ7HljI0lFmTZZmJ6353TDsBRI=";
17050     };
17051     propagatedBuildInputs = [ Moo ];
17052     meta = {
17053       description = "Provide API used in translator modules without translating";
17054       homepage = "https://metacpan.org/release/MooX-Locale-Passthrough";
17055       license = with lib.licenses; [ artistic1 gpl1Plus ];
17056     };
17057   };
17059   MooXLocaleTextDomainOO = buildPerlPackage {
17060     pname = "MooX-Locale-TextDomain-OO";
17061     version = "0.001";
17062     src = fetchurl {
17063       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-TextDomain-OO-0.001.tar.gz";
17064       hash = "sha256-W45Sz/3YSpXTaMoQuUNUG5lqk+DQY5b0/hkzVojkFz0=";
17065     };
17066     propagatedBuildInputs = [ LocaleTextDomainOO MooXLocalePassthrough ];
17067     meta = {
17068       description = "Provide API used in translator modules without translating";
17069       homepage = "https://metacpan.org/release/MooX-Locale-TextDomain-OO";
17070       license = with lib.licenses; [ artistic1 gpl1Plus ];
17071     };
17072   };
17074   MooXOptions = buildPerlPackage {
17075     pname = "MooX-Options";
17076     version = "4.103";
17077     src = fetchurl {
17078       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Options-4.103.tar.gz";
17079       hash = "sha256-TfnVdPjybbAivwbBvaRwgolFEJjC4VYzNd840jsHMm0=";
17080     };
17081     propagatedBuildInputs = [ GetoptLongDescriptive MROCompat MooXLocalePassthrough PathClass UnicodeLineBreak strictures ];
17082     buildInputs = [ Mo MooXCmd MooXLocaleTextDomainOO Moose TestTrap ];
17083     preCheck = "rm t/16-namespace_clean.t"; # https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=942275
17084     meta = {
17085       description = "Explicit Options eXtension for Object Class";
17086       homepage = "https://metacpan.org/celogeek/MooX-Options";
17087       license = with lib.licenses; [ artistic1 gpl1Plus ];
17088     };
17089   };
17091   MooXSingleton = buildPerlModule {
17092     pname = "MooX-Singleton";
17093     version = "1.20";
17094     src = fetchurl {
17095       url = "mirror://cpan/authors/id/A/AJ/AJGB/MooX-Singleton-1.20.tar.gz";
17096       hash = "sha256-99dib//emPhewSwe4msB8Tmk3d0vRT6lbDQd8ZTjIQ4=";
17097     };
17098     propagatedBuildInputs = [ RoleTiny ];
17099     buildInputs = [ Moo ];
17100     meta = {
17101       description = "Turn your Moo class into singleton";
17102       homepage = "https://search.cpan.org/dist/MooX-Singleton";
17103       license = with lib.licenses; [ artistic1 gpl1Plus ];
17104     };
17105   };
17107   MooXStrictConstructor = buildPerlPackage {
17108     pname = "MooX-StrictConstructor";
17109     version = "0.011";
17110     src = fetchurl {
17111       url = "mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-0.011.tar.gz";
17112       hash = "sha256-2jgvgi/8TiKgOqQZpCVydJmdNtiaThI27PT892vGU+I=";
17113     };
17114     propagatedBuildInputs = [ Moo strictures ];
17115     buildInputs = [ TestFatal ];
17116     meta = {
17117       description = "Make your Moo-based object constructors blow up on unknown attributes";
17118       homepage = "https://metacpan.org/release/MooX-StrictConstructor";
17119       license = with lib.licenses; [ artistic1 gpl1Plus ];
17120     };
17121   };
17123   MooXTypesMooseLike = buildPerlPackage {
17124     pname = "MooX-Types-MooseLike";
17125     version = "0.29";
17126     src = fetchurl {
17127       url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz";
17128       hash = "sha256-HTeAqpvqQwr75lqox25xjxBFzniKrdpBFvWdO3p60rQ=";
17129     };
17130     propagatedBuildInputs = [ ModuleRuntime ];
17131     buildInputs = [ Moo TestFatal ];
17132     meta = {
17133       description = "Some Moosish types and a type builder";
17134       license = with lib.licenses; [ artistic1 gpl1Plus ];
17135     };
17136   };
17138   MooXTypesMooseLikeNumeric = buildPerlPackage {
17139     pname = "MooX-Types-MooseLike-Numeric";
17140     version = "1.03";
17141     src = fetchurl {
17142       url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-Numeric-1.03.tar.gz";
17143       hash = "sha256-Fq3rYXuWPQEBeZIsLk6HYt93x1Iy4XMgtFmGjElwxEs=";
17144     };
17145     buildInputs = [ Moo TestFatal ];
17146     propagatedBuildInputs = [ MooXTypesMooseLike ];
17147     meta = {
17148       description = "Moo types for numbers";
17149       license = with lib.licenses; [ artistic1 gpl1Plus ];
17150     };
17151   };
17153   MooXTypeTiny = buildPerlPackage {
17154     pname = "MooX-TypeTiny";
17155     version = "0.002003";
17156     src = fetchurl {
17157       url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-TypeTiny-0.002003.tar.gz";
17158       hash = "sha256-2B4m/2+NsQJh8Ah/ltxUNn3LSanz3o1TI4+DTs4ZYks=";
17159     };
17160     buildInputs = [ TestFatal ];
17161     propagatedBuildInputs = [ Moo TypeTiny ];
17162     meta = {
17163       description = "Tiny, yet Moo(se)-compatible type constraint";
17164       homepage = "https://typetiny.toby.ink";
17165       license = with lib.licenses; [ artistic1 gpl1Plus ];
17166     };
17167   };
17169   MooseAutobox = buildPerlModule {
17170     pname = "Moose-Autobox";
17171     version = "0.16";
17172     src = fetchurl {
17173       url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-Autobox-0.16.tar.gz";
17174       hash = "sha256-kkAdpM9ITrcYjsGWtoGG76eCoQK0UeoVbNi4dy5ocFU=";
17175     };
17176     buildInputs = [ ModuleBuildTiny TestException ];
17177     propagatedBuildInputs = [ ListMoreUtils Moose SyntaxKeywordJunction autobox namespaceautoclean ];
17178     meta = {
17179       description = "Autoboxed wrappers for Native Perl datatypes";
17180       homepage = "https://github.com/moose/Moose-Autobox";
17181       license = with lib.licenses; [ artistic1 gpl1Plus ];
17182     };
17183   };
17185   MooseXABC = buildPerlPackage {
17186     pname = "MooseX-ABC";
17187     version = "0.06";
17188     src = fetchurl {
17189       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-ABC-0.06.tar.gz";
17190       hash = "sha256-Tr7suUbkVSssRyH1u/I+9huTJlELVzlr9ZkLEW8Dfuo=";
17191     };
17192     buildInputs = [ TestFatal ];
17193     propagatedBuildInputs = [ Moose ];
17194     meta = {
17195       description = "Abstract base classes for Moose";
17196       homepage = "https://metacpan.org/release/MooseX-ABC";
17197       license = with lib.licenses; [ artistic1 gpl1Plus ];
17198     };
17199   };
17201   MooseXAliases = buildPerlPackage {
17202     pname = "MooseX-Aliases";
17203     version = "0.11";
17204     src = fetchurl {
17205       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-Aliases-0.11.tar.gz";
17206       hash = "sha256-xIUPlyQmw0R6ru2Ny0Az6ERgylFwWtPqeLY6+Rn+B0g=";
17207     };
17208     buildInputs = [ TestFatal ];
17209     propagatedBuildInputs = [ Moose ];
17210     meta = {
17211       description = "Easy aliasing of methods and attributes in Moose";
17212       license = with lib.licenses; [ artistic1 gpl1Plus ];
17213     };
17214   };
17216   MooseXAppCmd = buildPerlModule {
17217     pname = "MooseX-App-Cmd";
17218     version = "0.34";
17219     src = fetchurl {
17220       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-App-Cmd-0.34.tar.gz";
17221       hash = "sha256-9eLy7xKcOI8qPjb1PeWYBErxtyLofXEFKdBcwl0jesI=";
17222     };
17223     buildInputs = [ ModuleBuildTiny MooseXConfigFromFile TestOutput YAML ];
17224     propagatedBuildInputs = [ AppCmd MooseXGetopt MooseXNonMoose ];
17225     meta = {
17226       description = "Mashes up MooseX::Getopt and App::Cmd";
17227       homepage = "https://github.com/moose/MooseX-App-Cmd";
17228       license = with lib.licenses; [ artistic1 gpl1Plus ];
17229     };
17230   };
17232   MooseXStorageFormatJSONpm = buildPerlPackage {
17233     pname = "MooseX-Storage-Format-JSONpm";
17234     version = "0.093094";
17235     src = fetchurl {
17236       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Storage-Format-JSONpm-0.093094.tar.gz";
17237       hash = "sha256-9sgItyC99HI4VaZ4sblQLHSSABXFq8YL2uasYNFGxYQ=";
17238     };
17239     buildInputs = [ Moose TestDeepJSON TestWithoutModule DigestHMAC MooseXTypes ];
17240     propagatedBuildInputs = [ JSON MooseXRoleParameterized MooseXStorage namespaceautoclean ];
17241     meta = {
17242       description = "A format role for MooseX::Storage using JSON.pm";
17243       homepage = "https://github.com/rjbs/MooseX-Storage-Format-JSONpm";
17244       license = with lib.licenses; [ artistic1 gpl1Plus ];
17245     };
17246   };
17248   MooX = buildPerlPackage {
17249     pname = "MooX";
17250     version = "0.101";
17251     src = fetchurl {
17252       url = "mirror://cpan/authors/id/G/GE/GETTY/MooX-0.101.tar.gz";
17253       hash = "sha256-L/kaZW54quCspCKTgp16flrLm/IrBAFjWyq2yHDeMtU=";
17254     };
17255     propagatedBuildInputs = [ DataOptList ImportInto Moo ];
17256     meta = {
17257       description = "Using Moo and MooX:: packages the most lazy way";
17258       homepage = "https://github.com/Getty/p5-moox";
17259       license = with lib.licenses; [ artistic1 gpl1Plus ];
17260     };
17261   };
17263   MooXAliases = buildPerlPackage {
17264     pname = "MooX-Aliases";
17265     version = "0.001006";
17266     src = fetchurl {
17267       url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-Aliases-0.001006.tar.gz";
17268       hash = "sha256-AWAxJ4ysYSY9AZUt/lv7XztGtLhCsv/6nyybiKrGOGc=";
17269     };
17270     propagatedBuildInputs = [ Moo strictures ];
17271     buildInputs = [ TestFatal ];
17272     meta = {
17273       description = "Easy aliasing of methods and attributes in Moo";
17274       license = with lib.licenses; [ artistic1 gpl1Plus ];
17275     };
17276   };
17278   MooXCmd = buildPerlPackage {
17279     pname = "MooX-Cmd";
17280     version = "0.017";
17281     src = fetchurl {
17282       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-0.017.tar.gz";
17283       hash = "sha256-lD/yjaqAiXMnx8X+xacQDPqsktrw+fl8OOOnfQCucPU=";
17284     };
17285     propagatedBuildInputs = [ ListMoreUtils ModulePluggable Moo PackageStash ParamsUtil RegexpCommon ];
17286     buildInputs = [ CaptureTiny ];
17287     meta = {
17288       description = "Giving an easy Moo style way to make command organized CLI apps";
17289       homepage = "https://metacpan.org/release/MooX-Cmd";
17290       license = with lib.licenses; [ artistic1 gpl1Plus ];
17291     };
17292   };
17294   MooXlate = buildPerlPackage {
17295     pname = "MooX-late";
17296     version = "0.100";
17297     src = fetchurl {
17298       url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.100.tar.gz";
17299       hash = "sha256-KuWx49pavA5ABieOy8+o+nwiTqVSmmpoisuyKcCeal8=";
17300     };
17301     buildInputs = [ TestFatal TestRequires ];
17302     propagatedBuildInputs = [ Moo SubHandlesVia ];
17303     meta = {
17304       description = "Easily translate Moose code to Moo";
17305       homepage = "https://metacpan.org/release/MooX-late";
17306       license = with lib.licenses; [ artistic1 gpl1Plus ];
17307     };
17308   };
17310   MouseXSimpleConfig = buildPerlPackage {
17311     pname = "MouseX-SimpleConfig";
17312     version = "0.11";
17313     src = fetchurl {
17314       url = "mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz";
17315       hash = "sha256-JX84QJHTPTQDc6YVOUcDnGmNxEnR75iTNWRPw9LaAGk=";
17316     };
17317     propagatedBuildInputs = [ ConfigAny MouseXConfigFromFile ];
17318     meta = {
17319       description = "A Mouse role for setting attributes from a simple configfile";
17320       license = with lib.licenses; [ artistic1 gpl1Plus ];
17321     };
17322   };
17324   TestArchiveLibarchive = buildPerlPackage {
17325     pname = "Test-Archive-Libarchive";
17326     version = "0.02";
17327     src = fetchurl {
17328       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Archive-Libarchive-0.02.tar.gz";
17329       hash = "sha256-KxkYZx4F2i2dIiwQx9kXWFpiQYb+r7j4SQhZnDRwJ1E=";
17330     };
17331     propagatedBuildInputs = [ RefUtil Test2Suite ];
17332     meta = {
17333       homepage = "https://metacpan.org/pod/Test::Archive::Libarchive";
17334       description = "Testing tools for Archive::Libarchive";
17335       license = with lib.licenses; [ artistic1 gpl1Plus ];
17336       maintainers = with maintainers; [ tomasajt ];
17337     };
17338   };
17340   TestPostgreSQL = buildPerlModule {
17341     pname = "Test-PostgreSQL";
17342     version = "1.29";
17343     src = fetchurl {
17344       url = "mirror://cpan/authors/id/T/TJ/TJC/Test-PostgreSQL-1.29.tar.gz";
17345       hash = "sha256-GKz35YnKTMqc3kdgm1NsnYI8hWLRqlIQwWjl6xuOT54=";
17346     };
17347     buildInputs = [ ModuleBuildTiny TestSharedFork pkgs.postgresql ];
17348     propagatedBuildInputs = [ DBDPg DBI FileWhich FunctionParameters Moo TieHashMethod TryTiny TypeTiny ];
17350     makeMakerFlags = [ "POSTGRES_HOME=${pkgs.postgresql}" ];
17352     meta = {
17353       description = "PostgreSQL runner for tests";
17354       homepage = "https://github.com/TJC/Test-postgresql";
17355       license = with lib.licenses; [ artistic2 ];
17356     };
17357   };
17359   TestUseAllModules = buildPerlPackage {
17360     pname = "Test-UseAllModules";
17361     version = "0.17";
17362     src = fetchurl {
17363       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-UseAllModules-0.17.tar.gz";
17364       hash = "sha256-px8v6LlquL/Cdgqh0xNeoEmlsg3LEFRXt2mhGVx6JQk=";
17365     };
17366     meta = {
17367       description = "Do use_ok() for all the MANIFESTed modules";
17368       license = with lib.licenses; [ artistic1 gpl1Plus ];
17369     };
17370   };
17372   TestValgrind = buildPerlPackage {
17373     pname = "Test-Valgrind";
17374     version = "1.19";
17375     src = fetchurl {
17376       url = "mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz";
17377       hash = "sha256-GDinoV/ueo8Gnk5rRhxeFpBYthW437Q3hLPV2hpggRs=";
17378     };
17379     propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
17380     meta = {
17381       description = "Generate suppressions, analyse and test any command with valgrind";
17382       homepage = "https://search.cpan.org/dist/Test-Valgrind";
17383       license = with lib.licenses; [ artistic1 gpl1Plus ];
17384     };
17385   };
17387   MouseXTypesPathClass = buildPerlPackage {
17388     pname = "MouseX-Types-Path-Class";
17389     version = "0.07";
17390     src = fetchurl {
17391       url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-Types-Path-Class-0.07.tar.gz";
17392       hash = "sha256-Io1LTz8O2VRyeGkdC3xf5T2Qh0pp33CaSXA8avh8Cd4=";
17393     };
17394     buildInputs = [ TestUseAllModules ];
17395     propagatedBuildInputs = [ MouseXTypes PathClass ];
17396     meta = {
17397       description = "Cross-platform path specification manipulation";
17398       license = with lib.licenses; [ artistic1 gpl1Plus ];
17399     };
17400   };
17402   MouseXTypes = buildPerlPackage {
17403     pname = "MouseX-Types";
17404     version = "0.06";
17405     src = fetchurl {
17406       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Types-0.06.tar.gz";
17407       hash = "sha256-dyiEQf2t0Vvu7JoIE+zorsFULx2M6q7BR1Wz8xb7z4s=";
17408     };
17409     buildInputs = [ TestException ];
17410     propagatedBuildInputs = [ AnyMoose ];
17411     meta = {
17412       description = "Organize your Mouse types in libraries";
17413       license = with lib.licenses; [ artistic1 gpl1Plus ];
17414     };
17415   };
17417   MouseXConfigFromFile = buildPerlPackage {
17418     pname = "MouseX-ConfigFromFile";
17419     version = "0.05";
17420     src = fetchurl {
17421       url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-ConfigFromFile-0.05.tar.gz";
17422       hash = "sha256-khsxyxP8H5gqYC+OI4Fbet0joiQlfkN5Dih1BM6HlTQ=";
17423     };
17424     buildInputs = [ TestUseAllModules ];
17425     propagatedBuildInputs = [ MouseXTypesPathClass ];
17426     meta = {
17427       description = "An abstract Mouse role for setting attributes from a configfile";
17428       license = with lib.licenses; [ artistic1 gpl1Plus ];
17429     };
17430   };
17432   MouseXGetopt = buildPerlModule {
17433     pname = "MouseX-Getopt";
17434     version = "0.38";
17435     src = fetchurl {
17436       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.38.tar.gz";
17437       hash = "sha256-3j6o70Ut2VAeqMTtqHRLciRgJgKwRpJgft19YrefA48=";
17438     };
17439     patches = [
17440       ../development/perl-modules/MouseX-Getopt-gld-tests.patch
17441     ];
17442     buildInputs = [ ModuleBuildTiny MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
17443     propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
17444     meta = {
17445       description = "A Mouse role for processing command line options";
17446       homepage = "https://github.com/gfx/mousex-getopt";
17447       license = with lib.licenses; [ artistic1 gpl1Plus ];
17448     };
17449   };
17451   MooseXAttributeChained = buildPerlModule {
17452     pname = "MooseX-Attribute-Chained";
17453     version = "1.0.3";
17454     src = fetchurl {
17455       url = "mirror://cpan/authors/id/T/TO/TOMHUKINS/MooseX-Attribute-Chained-1.0.3.tar.gz";
17456       hash = "sha256-5+OKp8O3i1c06dQ892gy/OAHZ+alPV3Xmhci2GdtXk4=";
17457     };
17458     propagatedBuildInputs = [ Moose ];
17459     meta = {
17460       description = "Attribute that returns the instance to allow for chaining";
17461       license = with lib.licenses; [ artistic1 gpl1Plus ];
17462     };
17463   };
17465   MooseXAttributeHelpers = buildPerlModule {
17466     pname = "MooseX-AttributeHelpers";
17467     version = "0.25";
17468     src = fetchurl {
17469       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-AttributeHelpers-0.25.tar.gz";
17470       hash = "sha256-sMgZ7IOZmyWLJI+CBZ+ll1oM7jZUI6u+4O+spUAcXsY=";
17471     };
17472     buildInputs = [ ModuleBuildTiny TestException ];
17473     propagatedBuildInputs = [ Moose ];
17474     meta = {
17475       description = "(DEPRECATED) Extend your attribute interfaces";
17476       homepage = "https://github.com/moose/MooseX-AttributeHelpers";
17477       license = with lib.licenses; [ artistic1 gpl1Plus ];
17478     };
17479   };
17481   MooseXClone = buildPerlModule {
17482     pname = "MooseX-Clone";
17483     version = "0.06";
17484     src = fetchurl {
17485       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Clone-0.06.tar.gz";
17486       hash = "sha256-y9eCXbnnSwU/UkVEoBTwZv3OKQMW67Vo+HZ5GBs5jac=";
17487     };
17488     propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat namespaceautoclean ];
17489     buildInputs = [ ModuleBuildTiny ];
17490     meta = {
17491       description = "Fine-grained cloning support for Moose objects";
17492       license = with lib.licenses; [ artistic1 gpl1Plus ];
17493     };
17494   };
17496   MooseXConfigFromFile = buildPerlModule {
17497     pname = "MooseX-ConfigFromFile";
17498     version = "0.14";
17499     src = fetchurl {
17500       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.14.tar.gz";
17501       hash = "sha256-mtNDzZ+G1xS+m1S5xopEPYrMZQG2rWsV6coBMLLpbwg=";
17502     };
17503     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestRequires TestWithoutModule ];
17504     propagatedBuildInputs = [ MooseXTypesPathTiny ];
17505     meta = {
17506       description = "An abstract Moose role for setting attributes from a configfile";
17507       homepage = "https://github.com/moose/MooseX-ConfigFromFile";
17508       license = with lib.licenses; [ artistic1 gpl1Plus ];
17509     };
17510   };
17512   MooseXDaemonize = buildPerlModule {
17513     pname = "MooseX-Daemonize";
17514     version = "0.22";
17515     src = fetchurl {
17516       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Daemonize-0.22.tar.gz";
17517       hash = "sha256-in+5mdypuAKoUTahAUGy0zeKPs3gUnwd9z1V7bKOWbM=";
17518     };
17519     buildInputs = [ DevelCheckOS ModuleBuildTiny TestFatal ];
17520     propagatedBuildInputs = [ MooseXGetopt MooseXTypesPathClass ];
17521     meta = {
17522       description = "Role for daemonizing your Moose based application";
17523       homepage = "https://github.com/moose/MooseX-Daemonize";
17524       license = with lib.licenses; [ artistic1 gpl1Plus ];
17525     };
17526   };
17528   MooseXEmulateClassAccessorFast = buildPerlPackage {
17529     pname = "MooseX-Emulate-Class-Accessor-Fast";
17530     version = "0.009032";
17531     src = fetchurl {
17532       url = "mirror://cpan/authors/id/H/HA/HAARG/MooseX-Emulate-Class-Accessor-Fast-0.009032.tar.gz";
17533       hash = "sha256-gu637x8NJUGK5AbqJpErJBQo1LKrlRDV6d6z9ywYeZQ=";
17534     };
17535     buildInputs = [ TestException ];
17536     propagatedBuildInputs = [ Moose namespaceclean ];
17537     meta = {
17538       description = "Emulate Class::Accessor::Fast behavior using Moose attributes";
17539       license = with lib.licenses; [ artistic1 gpl1Plus ];
17540     };
17541   };
17543   MooseXGetopt = buildPerlModule {
17544     pname = "MooseX-Getopt";
17545     version = "0.75";
17546     src = fetchurl {
17547       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.75.tar.gz";
17548       hash = "sha256-Y/O+W7K8OB6eSLW5XAMw8hcYtmVuj/sZyZ0u4KwU68g=";
17549     };
17550     buildInputs = [ ModuleBuildTiny MooseXStrictConstructor PathTiny TestDeep TestFatal TestNeeds TestTrap TestWarnings ];
17551     propagatedBuildInputs = [ GetoptLongDescriptive MooseXRoleParameterized ];
17552     meta = {
17553       description = "A Moose role for processing command line options";
17554       homepage = "https://github.com/moose/MooseX-Getopt";
17555       license = with lib.licenses; [ artistic1 gpl1Plus ];
17556     };
17557   };
17559   MooseXHasOptions = buildPerlPackage {
17560     pname = "MooseX-Has-Options";
17561     version = "0.003";
17562     src = fetchurl {
17563       url = "mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz";
17564       hash = "sha256-B8Ic+O1QCycgIP+NoZ8ZRyi7QU4AEqLwzFTvLvYiKmg=";
17565     };
17566     buildInputs = [ Moose TestDeep TestDifferences TestException TestMost TestWarn namespaceautoclean ];
17567     propagatedBuildInputs = [ ClassLoad ListMoreUtils StringRewritePrefix ];
17568     meta = {
17569       description = "Succinct options for Moose";
17570       homepage = "https://github.com/pshangov/moosex-has-options";
17571       license = with lib.licenses; [ artistic1 gpl1Plus ];
17572     };
17573   };
17575   MooseXHasSugar = buildPerlPackage {
17576     pname = "MooseX-Has-Sugar";
17577     version = "1.000006";
17578     src = fetchurl {
17579       url = "mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-1.000006.tar.gz";
17580       hash = "sha256-7+7T3bOo6hj0FtSF88KwQnFF0mfmM2jGUdSI6qjCjQk=";
17581     };
17582     buildInputs = [ TestFatal namespaceclean ];
17583     propagatedBuildInputs = [ SubExporterProgressive ];
17584     meta = {
17585       description = "Sugar Syntax for moose 'has' fields";
17586       homepage = "https://github.com/kentnl/MooseX-Has-Sugar";
17587       license = with lib.licenses; [ artistic1 gpl1Plus ];
17588     };
17589   };
17591   MooseXLazyRequire = buildPerlModule {
17592     pname = "MooseX-LazyRequire";
17593     version = "0.11";
17594     src = fetchurl {
17595       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.11.tar.gz";
17596       hash = "sha256-72IMHgGdr5zz8jqUPSWpTJHpOrMSvNY74ul0DsC5Qog=";
17597     };
17598     buildInputs = [ ModuleBuildTiny TestFatal ];
17599     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
17600     meta = {
17601       description = "Required attributes which fail only when trying to use them";
17602       homepage = "https://github.com/moose/MooseX-LazyRequire";
17603       license = with lib.licenses; [ artistic1 gpl1Plus ];
17604     };
17605   };
17607   MooseXMarkAsMethods = buildPerlPackage {
17608     pname = "MooseX-MarkAsMethods";
17609     version = "0.15";
17610     src = fetchurl {
17611       url = "mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz";
17612       hash = "sha256-yezBM3bQ/326SBl3M3wz6nTl0makKLavMVUqKRnvfvg=";
17613     };
17614     propagatedBuildInputs = [ Moose namespaceautoclean ];
17615     meta = {
17616       description = "Mark overload code symbols as methods";
17617       homepage = "https://metacpan.org/release/MooseX-MarkAsMethods";
17618       license = with lib.licenses; [ lgpl21Only ];
17619     };
17620   };
17622   MooseXMethodAttributes = buildPerlPackage {
17623     pname = "MooseX-MethodAttributes";
17624     version = "0.32";
17625     src = fetchurl {
17626       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.32.tar.gz";
17627       hash = "sha256-yzOIZXS30t05xCwNzccHrNsK7H273pohwEImYDaMGXs=";
17628     };
17629     buildInputs = [ MooseXRoleParameterized TestFatal TestNeeds ];
17630     propagatedBuildInputs = [ Moose namespaceautoclean ];
17631     meta = {
17632       description = "Code attribute introspection";
17633       homepage = "https://github.com/moose/MooseX-MethodAttributes";
17634       license = with lib.licenses; [ artistic1 gpl1Plus ];
17635     };
17636   };
17638   MooseXNonMoose = buildPerlPackage {
17639     pname = "MooseX-NonMoose";
17640     version = "0.26";
17641     src = fetchurl {
17642       url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz";
17643       hash = "sha256-y75S7PFgOCMfvX8sxrzhZqNWnIyzlq6A7EUXwuCNqn0=";
17644     };
17645     buildInputs = [ TestFatal ];
17646     propagatedBuildInputs = [ ListMoreUtils Moose ];
17647     meta = {
17648       description = "Easy subclassing of non-Moose classes";
17649       homepage = "https://metacpan.org/release/MooseX-NonMoose";
17650       license = with lib.licenses; [ artistic1 gpl1Plus ];
17651     };
17652   };
17654   MooseXOneArgNew = buildPerlPackage {
17655     pname = "MooseX-OneArgNew";
17656     version = "0.007";
17657     src = fetchurl {
17658       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.007.tar.gz";
17659       hash = "sha256-hCgkNfEWnPCddRP6k4fiCReRY1zzWgeLUAuCmu6gYTg=";
17660     };
17661     propagatedBuildInputs = [ MooseXRoleParameterized ];
17662     meta = {
17663       description = "Teach ->new to accept single, non-hashref arguments";
17664       homepage = "https://github.com/rjbs/MooseX-OneArgNew";
17665       license = with lib.licenses; [ artistic1 gpl1Plus ];
17666     };
17667   };
17669   MooseXRelatedClassRoles = buildPerlPackage {
17670     pname = "MooseX-RelatedClassRoles";
17671     version = "0.004";
17672     src = fetchurl {
17673       url = "mirror://cpan/authors/id/H/HD/HDP/MooseX-RelatedClassRoles-0.004.tar.gz";
17674       hash = "sha256-MNt6I33SYCIhb/+5cLmFKFNHEws2kjxxGqCVaty0fp8=";
17675     };
17676     propagatedBuildInputs = [ MooseXRoleParameterized ];
17677     meta = { description = "Apply roles to a class related to yours";
17678       license = with lib.licenses; [ artistic1 gpl1Plus ];
17679     };
17680   };
17682   MooseXParamsValidate = buildPerlPackage {
17683     pname = "MooseX-Params-Validate";
17684     version = "0.21";
17685     src = fetchurl {
17686       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.21.tar.gz";
17687       hash = "sha256-iClURqupmcu4+ZjX+5onAdZhc5SlHW1yTHdObZ/xOdk=";
17688     };
17689     buildInputs = [ TestFatal ];
17690     propagatedBuildInputs = [ DevelCaller Moose ParamsValidate ];
17691     meta = {
17692       description = "An extension of Params::Validate using Moose's types";
17693       license = with lib.licenses; [ artistic1 gpl1Plus ];
17694     };
17695   };
17697   MooseXRoleParameterized = buildPerlModule {
17698     pname = "MooseX-Role-Parameterized";
17699     version = "1.11";
17700     src = fetchurl {
17701       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-Parameterized-1.11.tar.gz";
17702       hash = "sha256-HP52bF1/Dsq1f3M9zKQwoqKs1rmVdXFBuUCt42kr7J4=";
17703     };
17704     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestFatal TestNeeds ];
17705     propagatedBuildInputs = [ Moose namespaceautoclean ];
17706     meta = {
17707       description = "Moose roles with composition parameters";
17708       homepage = "https://github.com/moose/MooseX-Role-Parameterized";
17709       license = with lib.licenses; [ artistic1 gpl1Plus ];
17710     };
17711   };
17713   MooseXRoleWithOverloading = buildPerlPackage {
17714     pname = "MooseX-Role-WithOverloading";
17715     version = "0.17";
17716     src = fetchurl {
17717       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.17.tar.gz";
17718       hash = "sha256-krCV1z8SIPnC7S06qlugcutaot4gm3xFXaWocBuYaGU=";
17719     };
17720     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
17721     meta = {
17722       description = "(DEPRECATED) Roles which support overloading";
17723       homepage = "https://github.com/moose/MooseX-Role-WithOverloading";
17724       license = with lib.licenses; [ artistic1 gpl1Plus ];
17725     };
17726   };
17728   MooseXRunnable = buildPerlModule {
17729     pname = "MooseX-Runnable";
17730     version = "0.10";
17731     src = fetchurl {
17732       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Runnable-0.10.tar.gz";
17733       hash = "sha256-QNj9G1UkrpZZZaHxRNegoMhQWUxSRAKyMZsk1cSvEZk=";
17734     };
17735     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 TestTableDriven ];
17736     propagatedBuildInputs = [ ListSomeUtils MooseXTypesPathTiny ];
17737     meta = {
17738       description = "Tag a class as a runnable application";
17739       homepage = "https://github.com/moose/MooseX-Runnable";
17740       license = with lib.licenses; [ artistic1 gpl1Plus ];
17741       mainProgram = "mx-run";
17742     };
17743   };
17745   MooseXSemiAffordanceAccessor = buildPerlPackage {
17746     pname = "MooseX-SemiAffordanceAccessor";
17747     version = "0.10";
17748     src = fetchurl {
17749       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.10.tar.gz";
17750       hash = "sha256-pbhXdrzd7RaAJ6H/ZktBxfZYhnIc3VQ+OvnVN1misdU=";
17751     };
17752     propagatedBuildInputs = [ Moose ];
17753     meta = {
17754       description = "Name your accessors foo() and set_foo()";
17755       license = with lib.licenses; [ artistic2 ];
17756     };
17757   };
17759   MooseXSetOnce = buildPerlPackage {
17760     pname = "MooseX-SetOnce";
17761     version = "0.200002";
17762     src = fetchurl {
17763       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-SetOnce-0.200002.tar.gz";
17764       hash = "sha256-y+0Gt/zTU/DZm/gKh8HAtYEWBpcjGzrZpgjaIxuitlk=";
17765     };
17766     buildInputs = [ TestFatal ];
17767     propagatedBuildInputs = [ Moose ];
17768     meta = {
17769       description = "Write-once, read-many attributes for Moose";
17770       license = with lib.licenses; [ artistic1 gpl1Plus ];
17771     };
17772   };
17774   MooseXSingleton = buildPerlModule {
17775     pname = "MooseX-Singleton";
17776     version = "0.30";
17777     src = fetchurl {
17778       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Singleton-0.30.tar.gz";
17779       hash = "sha256-ZYSy8xsdPrbdfiMShzjnP2wBWxUhOLCoFX09DVnQZUE=";
17780     };
17781     buildInputs = [ ModuleBuildTiny TestFatal TestRequires TestWarnings ];
17782     propagatedBuildInputs = [ Moose ];
17783     meta = {
17784       description = "Turn your Moose class into a singleton";
17785       license = with lib.licenses; [ artistic1 gpl1Plus ];
17786     };
17787   };
17789   MooseXStorage = buildPerlPackage {
17790     pname = "MooseX-Storage";
17791     version = "0.53";
17792     src = fetchurl {
17793       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Storage-0.53.tar.gz";
17794       hash = "sha256-hwS/5QX2azQPYuhcn/MZwZ6WcLJtSwEskfThA7HarOA=";
17795     };
17796     buildInputs = [ TestDeep TestDeepType TestFatal TestNeeds TestDeepJSON TestWithoutModule DigestHMAC MooseXTypes ];
17797     propagatedBuildInputs = [ ModuleRuntime Moose MooseXRoleParameterized PodCoverage StringRewritePrefix namespaceautoclean IOStringy JSON JSONXS JSONMaybeXS CpanelJSONXS YAML YAMLOld YAMLTiny YAMLLibYAML YAMLSyck ];
17798     meta = {
17799       description = "A serialization framework for Moose classes";
17800       homepage = "https://github.com/moose/MooseX-Storage";
17801       license = with lib.licenses; [ artistic1 gpl1Plus ];
17802     };
17803   };
17805   MooseXStrictConstructor = buildPerlPackage {
17806     pname = "MooseX-StrictConstructor";
17807     version = "0.21";
17808     src = fetchurl {
17809       url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz";
17810       hash = "sha256-xypa6Vg3Bszexx1AHcswVAE6dTa3UN8UNmE9hY6ikg0=";
17811     };
17812     buildInputs = [ Moo TestFatal TestNeeds ];
17813     propagatedBuildInputs = [ Moose namespaceautoclean ];
17814     meta = {
17815       description = "Make your object constructors blow up on unknown attributes";
17816       homepage = "https://metacpan.org/release/MooseX-StrictConstructor";
17817       license = with lib.licenses; [ artistic2 ];
17818     };
17819   };
17821   MooseXTraits = buildPerlModule {
17822     pname = "MooseX-Traits";
17823     version = "0.13";
17824     src = fetchurl {
17825       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Traits-0.13.tar.gz";
17826       hash = "sha256-dK/gxPr047l8V/KJQ3yqYL7Mo0zVgh9IndTMnaT74po=";
17827     };
17828     buildInputs = [ ModuleBuildTiny MooseXRoleParameterized TestFatal TestRequires TestSimple13 ];
17829     propagatedBuildInputs = [ Moose namespaceautoclean ];
17830     meta = {
17831       description = "Automatically apply roles at object creation time";
17832       homepage = "https://github.com/moose/MooseX-Traits";
17833       license = with lib.licenses; [ artistic1 gpl1Plus ];
17834     };
17835   };
17837   MooseXTraitsPluggable = buildPerlPackage {
17838     pname = "MooseX-Traits-Pluggable";
17839     version = "0.12";
17840     src = fetchurl {
17841       url = "mirror://cpan/authors/id/R/RK/RKITOVER/MooseX-Traits-Pluggable-0.12.tar.gz";
17842       hash = "sha256-q5a3lQ7L8puDb9/uu+Cqwiylc+cYO+fLfW0S3yKrWMo=";
17843     };
17844     buildInputs = [ TestException ];
17845     propagatedBuildInputs = [ ListMoreUtils Moose namespaceautoclean ];
17846     meta = {
17847       description = "Trait loading and resolution for Moose";
17848       license = with lib.licenses; [ artistic1 gpl1Plus ];
17849     };
17850   };
17852   MooseXTypes = buildPerlModule {
17853     pname = "MooseX-Types";
17854     version = "0.50";
17855     src = fetchurl {
17856       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.50.tar.gz";
17857       hash = "sha256-nNh7NJLL8L6dLfkxeyrfn8MGY3cOaZBmVL6j9BsXywg=";
17858     };
17859     buildInputs = [ ModuleBuildTiny TestFatal TestRequires ];
17860     propagatedBuildInputs = [ CarpClan Moose SubExporterForMethods namespaceautoclean ];
17861     meta = {
17862       description = "Organise your Moose types in libraries";
17863       homepage = "https://github.com/moose/MooseX-Types";
17864       license = with lib.licenses; [ artistic1 gpl1Plus ];
17865     };
17866   };
17868   MooseXTypesCommon = buildPerlModule {
17869     pname = "MooseX-Types-Common";
17870     version = "0.001014";
17871     src = fetchurl {
17872       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Common-0.001014.tar.gz";
17873       hash = "sha256-75Nxi20vJA1QtcOssadLTCoZGGllFHAAGoK+HzXQ7w8=";
17874     };
17875     buildInputs = [ ModuleBuildTiny TestDeep TestWarnings ];
17876     propagatedBuildInputs = [ MooseXTypes ];
17877     meta = {
17878       description = "A library of commonly used type constraints";
17879       homepage = "https://github.com/moose/MooseX-Types-Common";
17880       license = with lib.licenses; [ artistic1 gpl1Plus ];
17881     };
17882   };
17884   MooseXTypesDateTime = buildPerlModule {
17885     pname = "MooseX-Types-DateTime";
17886     version = "0.13";
17887     src = fetchurl {
17888       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-0.13.tar.gz";
17889       hash = "sha256-uJ+iZjb2oX6qOGi0UUNARytou9whYaHXmiKhv1sdOcY=";
17890     };
17891     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
17892     propagatedBuildInputs = [ DateTime MooseXTypes ];
17893     meta = {
17894       description = "DateTime related constraints and coercions for Moose";
17895       homepage = "https://github.com/moose/MooseX-Types-DateTime";
17896       license = with lib.licenses; [ artistic1 gpl1Plus ];
17897     };
17898   };
17900   MooseXTypesDateTimeMoreCoercions = buildPerlModule {
17901     pname = "MooseX-Types-DateTime-MoreCoercions";
17902     version = "0.15";
17903     src = fetchurl {
17904       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-MoreCoercions-0.15.tar.gz";
17905       hash = "sha256-Ibs6WXcZiI7bbOqhMkGNXPkuy5KlDM43uUJZpV4ON5Y=";
17906     };
17907     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
17908     propagatedBuildInputs = [ DateTimeXEasy MooseXTypesDateTime TimeDurationParse ];
17909     meta = {
17910       description = "Extensions to MooseX::Types::DateTime";
17911       homepage = "https://github.com/moose/MooseX-Types-DateTime-MoreCoercions";
17912       license = with lib.licenses; [ artistic1 gpl1Plus ];
17913     };
17914   };
17916   MooseXTypesLoadableClass = buildPerlModule {
17917     pname = "MooseX-Types-LoadableClass";
17918     version = "0.015";
17919     src = fetchurl {
17920       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz";
17921       hash = "sha256-4DfTd4JT3PkpRkNXFbraDmRJwKKAj6P/MqllBk1aO/Q=";
17922     };
17923     buildInputs = [ ModuleBuildTiny TestFatal ];
17924     propagatedBuildInputs = [ MooseXTypes ];
17925     meta = {
17926       description = "ClassName type constraint with coercion to load the class";
17927       homepage = "https://github.com/moose/MooseX-Types-LoadableClass";
17928       license = with lib.licenses; [ artistic1 gpl1Plus ];
17929     };
17930   };
17932   MooseXTypesPathClass = buildPerlModule {
17933     pname = "MooseX-Types-Path-Class";
17934     version = "0.09";
17935     src = fetchurl {
17936       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz";
17937       hash = "sha256-54S6tTaYrpWnCahmMwYUX/7FVmjfbPMWFTM1I/vn734=";
17938     };
17939     propagatedBuildInputs = [ MooseXTypes PathClass ];
17940     buildInputs = [ ModuleBuildTiny TestNeeds ];
17941     meta = {
17942       description = "A Path::Class type library for Moose";
17943       license = with lib.licenses; [ artistic1 gpl1Plus ];
17944     };
17945   };
17947   MooseXTypesPathTiny = buildPerlModule {
17948     pname = "MooseX-Types-Path-Tiny";
17949     version = "0.012";
17950     src = fetchurl {
17951       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz";
17952       hash = "sha256-Ge7eAt1lTnD3PjTNevAGN2UXO8rv7v8b2+ITGOz9kVg=";
17953     };
17954     buildInputs = [ Filepushd ModuleBuildTiny TestFatal ];
17955     propagatedBuildInputs = [ MooseXGetopt MooseXTypesStringlike PathTiny ];
17956     meta = {
17957       description = "Path::Tiny types and coercions for Moose";
17958       homepage = "https://github.com/karenetheridge/moosex-types-path-tiny";
17959       license = with lib.licenses; [ asl20 ];
17960     };
17961   };
17963   MooseXTypesPerl = buildPerlPackage {
17964     pname = "MooseX-Types-Perl";
17965     version = "0.101344";
17966     src = fetchurl {
17967       url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101344.tar.gz";
17968       hash = "sha256-h2RDVPdPplI1yyv8pEJ3kwp+q+UazF+B+2MVMKg1XiQ=";
17969     };
17970     propagatedBuildInputs = [ MooseXTypes ];
17971     meta = {
17972       description = "Moose types that check against Perl syntax";
17973       homepage = "https://github.com/rjbs/MooseX-Types-Perl";
17974       license = with lib.licenses; [ artistic1 gpl1Plus ];
17975     };
17976   };
17978   MooseXTypesStringlike = buildPerlPackage {
17979     pname = "MooseX-Types-Stringlike";
17980     version = "0.003";
17981     src = fetchurl {
17982       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz";
17983       hash = "sha256-LuNJ7FxSmm80f0L/ZA5HskVWS5PMowXfY8eCH1tVzxk=";
17984     };
17985     propagatedBuildInputs = [ MooseXTypes ];
17986     meta = {
17987       description = "Moose type constraints for strings or string-like objects";
17988       homepage = "https://github.com/dagolden/MooseX-Types-Stringlike";
17989       license = with lib.licenses; [ asl20 ];
17990     };
17991   };
17993   MooseXTypesStructured = buildPerlModule {
17994     pname = "MooseX-Types-Structured";
17995     version = "0.36";
17996     src = fetchurl {
17997       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz";
17998       hash = "sha256-Q822UvljhyPjV3yw+LVGhiAkTJY252WYEeW0qAFgPVc=";
17999     };
18000     buildInputs = [ DateTime ModuleBuildTiny MooseXTypesDateTime TestFatal TestNeeds ];
18001     propagatedBuildInputs = [ DevelPartialDump MooseXTypes ];
18002     meta = {
18003       description = "Structured Type Constraints for Moose";
18004       homepage = "https://github.com/moose/MooseX-Types-Structured";
18005       license = with lib.licenses; [ artistic1 gpl1Plus ];
18006     };
18007   };
18009   MooseXTypesURI = buildPerlModule {
18010     pname = "MooseX-Types-URI";
18011     version = "0.09";
18012     src = fetchurl {
18013       url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.09.tar.gz";
18014       hash = "sha256-Jxd1Ta25EIbhHSH+oGy6qaEuYBtB0VRDFQ7dfZUI7+g=";
18015     };
18016     buildInputs = [ ModuleBuildTiny TestNeeds TestWithoutModule ];
18017     propagatedBuildInputs = [ MooseXTypes URI URIFromHash namespaceautoclean ];
18018     meta = {
18019       description = "URI related types and coercions for Moose";
18020       homepage = "https://github.com/moose/MooseX-Types-URI";
18021       license = with lib.licenses; [ artistic1 gpl1Plus ];
18022     };
18023   };
18025   MP3CutGapless = buildPerlPackage {
18026     pname = "MP3-Cut-Gapless";
18027     version = "0.03";
18028     src = fetchurl {
18029       url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/MP3-Cut-Gapless-0.03.tar.gz";
18030       hash = "sha256-PoS3OdHx4902FvhR3GV14WXTKEZ/AySGB5UOWVH+pPM=";
18031     };
18032     propagatedBuildInputs = [ AudioCuefileParser ];
18033     meta = {
18034       description = "Split an MP3 file without gaps (based on pcutmp3)";
18035       license = with lib.licenses; [ artistic1 ];
18036     };
18037   };
18039   MP3Info = buildPerlPackage {
18040     pname = "MP3-Info";
18041     version = "1.26";
18042     src = fetchurl {
18043       url = "mirror://cpan/authors/id/J/JM/JMERELO/MP3-Info-1.26.tar.gz";
18044       hash = "sha256-V2I0BzJCHyUCp3DWoSblhPLNljNR0rwle9J4w5vOi+c=";
18045     };
18046     meta = {
18047       description = "Manipulate / fetch info from MP3 audio files";
18048       license = with lib.licenses; [ artistic1 gpl1Plus ];
18049     };
18050   };
18052   MP3Tag = buildPerlPackage {
18053     pname = "MP3-Tag";
18054     version = "1.16";
18055     src = fetchurl {
18056       url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/MP3-Tag-1.16.zip";
18057       hash = "sha256-UDhQk6owAFa8Jiu2pACpbiGVl3wcXh6/FaXgdak3e4Y=";
18058     };
18059     buildInputs = [ pkgs.unzip ];
18061     postPatch = ''
18062       substituteInPlace Makefile.PL --replace "'PL_FILES'" "#'PL_FILES'"
18063     '';
18064     postFixup = ''
18065       perl data_pod.PL PERL5LIB:$PERL5LIB
18066     '';
18067     outputs = [ "out" ];
18068     meta = {
18069       description = "Module for reading tags of MP3 audio files";
18070       license = with lib.licenses; [ artistic1 ];
18071     };
18072   };
18074   MockMonkeyPatch = buildPerlModule {
18075     pname = "Mock-MonkeyPatch";
18076     version = "1.02";
18077     src = fetchurl {
18078       url = "mirror://cpan/authors/id/J/JB/JBERGER/Mock-MonkeyPatch-1.02.tar.gz";
18079       hash = "sha256-xbaUTKVP6DVXN2cwYO1OnvhyNyZXfXluHK5eVr8bAYE=";
18080     };
18081     buildInputs = [ ModuleBuildTiny ];
18082     meta = {
18083       description = "Monkey patching with test mocking in mind";
18084       license = with lib.licenses; [ artistic1 gpl1Plus ];
18085     };
18086   };
18088   Mouse = buildPerlModule {
18089     pname = "Mouse";
18090     version = "2.5.10";
18091     src = fetchurl {
18092       url = "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.10.tar.gz";
18093       hash = "sha256-zo3COUYVOkZ/8JdlFn7iWQ9cUCEg9IotlEFzPzmqMu4=";
18094     };
18095     buildInputs = [ ModuleBuildXSUtil TestException TestFatal TestLeakTrace TestOutput TestRequires TryTiny ];
18096     perlPreHook = "export LD=$CC";
18097     env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isi686 "-fno-stack-protector";
18098     hardeningDisable = lib.optional stdenv.isi686 "stackprotector";
18099     meta = {
18100       description = "Moose minus the antlers";
18101       license = with lib.licenses; [ artistic1 gpl1Plus ];
18102     };
18103   };
18105   MouseXNativeTraits = buildPerlPackage {
18106     pname = "MouseX-NativeTraits";
18107     version = "1.09";
18108     src = fetchurl {
18109       url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-NativeTraits-1.09.tar.gz";
18110       hash = "sha256-+KW/WihwLfsTyAk75cQcq5xfwcXSR6uR4i591ydky14=";
18111     };
18112     buildInputs = [ AnyMoose TestFatal ];
18113     propagatedBuildInputs = [ Mouse ];
18114     meta = {
18115       description = "Extend your attribute interfaces for Mouse";
18116       license = with lib.licenses; [ artistic1 gpl1Plus ];
18117     };
18118   };
18120   MozillaCA = buildPerlPackage {
18121     pname = "Mozilla-CA";
18122     version = "20230821";
18123     src = fetchurl {
18124       url = "mirror://cpan/authors/id/L/LW/LWP/Mozilla-CA-20230821.tar.gz";
18125       hash = "sha256-MuHQBFKZAEBFucTRbC2q5FOiFiCIc97qJED3EmCnzaE=";
18126     };
18128     postPatch = ''
18129       ln -s --force ${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt lib/Mozilla/CA/cacert.pem
18130     '';
18132     meta = {
18133       description = "Mozilla's CA cert bundle in PEM format";
18134       homepage = "https://github.com/gisle/mozilla-ca";
18135       license = with lib.licenses; [ mpl20 ];
18136     };
18137   };
18139   MozillaLdap = callPackage ../development/perl-modules/Mozilla-LDAP { };
18141   MROCompat = buildPerlPackage {
18142     pname = "MRO-Compat";
18143     version = "0.15";
18144     src = fetchurl {
18145       url = "mirror://cpan/authors/id/H/HA/HAARG/MRO-Compat-0.15.tar.gz";
18146       hash = "sha256-DUU1+I5Dur2Eq2BIZiFfxNBDmL1Nt7IYUtSjGxwV72E=";
18147     };
18148     meta = {
18149       description = "Mro::* interface compatibility for Perls < 5.9.5";
18150       homepage = "https://metacpan.org/release/MRO-Compat";
18151       license = with lib.licenses; [ artistic1 gpl1Plus ];
18152     };
18153   };
18155   MsgPackRaw = buildPerlPackage rec {
18156     pname = "MsgPack-Raw";
18157     version = "0.05";
18158     src = fetchurl {
18159       url = "mirror://cpan/authors/id/J/JA/JACQUESG/MsgPack-Raw-${version}.tar.gz";
18160       hash = "sha256-hVnitkzZjZmrxmbt8qTIckyVNGEmFq8R9OsLvQ1CLaw=";
18161     };
18162     checkInputs = [ TestPod TestPodCoverage ];
18163     meta = with lib; {
18164       description = "Perl bindings to the msgpack C library";
18165       homepage = "https://github.com/jacquesg/p5-MsgPack-Raw";
18166       license = with licenses; [ gpl1Plus /* or */ artistic1 ];
18167       maintainers = with maintainers; [ figsoda ];
18168     };
18169   };
18171   MusicBrainzDiscID = buildPerlPackage {
18172     pname = "MusicBrainz-DiscID";
18173     version = "0.06";
18174     src = fetchurl {
18175       url = "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.06.tar.gz";
18176       hash = "sha256-ugtu0JiX/1Y7pZhy7pNxW+83FXUVsZt8bW8obmVI7Ks=";
18177     };
18178     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
18179     # Makefile.PL in this package uses which to find pkg-config -- make it use path instead
18180     patchPhase = ''sed -ie 's/`which pkg-config`/"pkg-config"/' Makefile.PL'';
18181     doCheck = false; # The main test performs network access
18182     nativeBuildInputs = [ pkgs.pkg-config ];
18183     propagatedBuildInputs = [ pkgs.libdiscid ];
18184     meta = {
18185       description = "- Perl interface for the MusicBrainz libdiscid library";
18186       license = with lib.licenses; [ mit ];
18187     };
18188   };
18190   MusicBrainz = buildPerlModule {
18191     pname = "WebService-MusicBrainz";
18192     version = "1.0.6";
18193     src = fetchurl {
18194       url = "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-1.0.6.tar.gz";
18195       hash = "sha256-XpH1ZZZ3w5CJv28lO0Eoe7zTVh9qJaB5Zc6DsmKIUuE=";
18196     };
18197     propagatedBuildInputs = [ Mojolicious ];
18198     doCheck = false; # Test performs network access.
18199     meta = {
18200       description = "API to search the musicbrainz.org database";
18201       license = with lib.licenses; [ artistic1 gpl1Plus ];
18202     };
18203   };
18205   MustacheSimple = buildPerlPackage {
18206     pname = "Mustache-Simple";
18207     version = "1.3.6";
18208     src = fetchurl {
18209       url = "mirror://cpan/authors/id/C/CM/CMS/Mustache-Simple-v1.3.6.tar.gz";
18210       hash = "sha256-UdtdUf9LJaZw2L+r45ArbUVDTs94spvB//Ga9uc4MAM=";
18211     };
18212     propagatedBuildInputs = [ YAMLLibYAML ];
18213     meta = {
18214       description = "A simple Mustache Renderer";
18215       license = with lib.licenses; [ artistic1 gpl1Plus ];
18216     };
18217   };
18219   MySQLDiff = buildPerlPackage rec {
18220     pname = "MySQL-Diff";
18221     version = "0.60";
18222     src = fetchurl {
18223       url = "mirror://cpan/authors/id/E/ES/ESTRABD/MySQL-Diff-0.60.tar.gz";
18224       hash = "sha256-XXCApL1XFP+e9Taqd0p62zxvDnYCFcpsOdijVFNE+VY=";
18225     };
18226     propagatedBuildInputs = [ pkgs.mariadb.client FileSlurp StringShellQuote ];
18227     meta = {
18228       description = "Generates a database upgrade instruction set";
18229       homepage = "https://github.com/estrabd/mysqldiff";
18230       license = with lib.licenses; [ artistic1 gpl1Plus ];
18231       maintainers = [ maintainers.sgo ];
18232       mainProgram = "mysqldiff";
18233     };
18234   };
18236   namespaceautoclean = buildPerlPackage {
18237     pname = "namespace-autoclean";
18238     version = "0.29";
18239     src = fetchurl {
18240       url = "mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz";
18241       hash = "sha256-RevY5kpUqG+I2OAa5VISlnyKqP7VfoFAhd73YIrGWAQ=";
18242     };
18243     buildInputs = [ TestNeeds ];
18244     propagatedBuildInputs = [ SubIdentify namespaceclean ];
18245     meta = {
18246       description = "Keep imports out of your namespace";
18247       homepage = "https://github.com/moose/namespace-autoclean";
18248       license = with lib.licenses; [ artistic1 gpl1Plus ];
18249     };
18250   };
18252   namespaceclean = buildPerlPackage {
18253     pname = "namespace-clean";
18254     version = "0.27";
18255     src = fetchurl {
18256       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz";
18257       hash = "sha256-ihCoPD4YPcePnnt6pNCbR8EftOfTozuaEpEv0i4xr50=";
18258     };
18259     propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
18260     meta = {
18261       description = "Keep imports and functions out of your namespace";
18262       homepage = "https://search.cpan.org/dist/namespace-clean";
18263       license = with lib.licenses; [ artistic1 gpl1Plus ];
18264     };
18265   };
18267   NeovimExt = buildPerlPackage rec {
18268     pname = "Neovim-Ext";
18269     version = "0.06";
18270     src = fetchurl {
18271       url = "mirror://cpan/authors/id/J/JA/JACQUESG/Neovim-Ext-${version}.tar.gz";
18272       hash = "sha256-bSzrMGLJZzfbpVbLIEYxMPxABocbJbfE9mzTgZ1FBLg=";
18273     };
18274     propagatedBuildInputs = [
18275       ClassAccessor
18276       EvalSafe
18277       IOAsync
18278       MsgPackRaw
18279     ];
18280     checkInputs = [
18281       ArchiveZip
18282       FileSlurper
18283       FileWhich
18284       ProcBackground
18285       TestPod
18286       TestPodCoverage
18287     ];
18288     # TODO: fix tests
18289     doCheck = false;
18290     meta = with lib; {
18291       description = "Perl bindings for Neovim";
18292       homepage = "https://github.com/jacquesg/p5-Neovim-Ext";
18293       license = with licenses; [ gpl1Plus /* or */ artistic1 ];
18294       maintainers = with maintainers; [ figsoda ];
18295     };
18296   };
18298   NetDNSNative = buildPerlPackage {
18299     pname = "Net-DNS-Native";
18300     version = "0.22";
18301     src = fetchurl {
18302       url = "mirror://cpan/authors/id/O/OL/OLEG/Net-DNS-Native-0.22.tar.gz";
18303       hash = "sha256-EI2d7bq5/69qDQFSVSbeGJSITpUL/YM3F+XNOJBcMNU=";
18304     };
18305     meta = {
18306       description = "Non-blocking system DNS resolver";
18307       license = with lib.licenses; [ artistic1 gpl1Plus ];
18308       maintainers = with maintainers; [ tomasajt ];
18309     };
18310   };
18312   NetIdent = buildPerlPackage {
18313     pname = "Net-Ident";
18314     version = "1.25";
18315     src = fetchurl {
18316       url = "mirror://cpan/authors/id/T/TO/TODDR/Net-Ident-1.25.tar.gz";
18317       hash = "sha256-LlvViwHCpm6ASaL42ck+G19tzlPg7jpIHOam9BHyyPg=";
18318     };
18319     meta = {
18320       description = "Lookup the username on the remote end of a TCP/IP connection";
18321       homepage = "https://github.com/toddr/Net-Ident";
18322       license = with lib.licenses; [ mit ];
18323     };
18324   };
18326   NetINET6Glue = buildPerlPackage {
18327     pname = "Net-INET6Glue";
18328     version = "0.604";
18329     src = fetchurl {
18330       url = "mirror://cpan/authors/id/S/SU/SULLR/Net-INET6Glue-0.604.tar.gz";
18331       hash = "sha256-kMNjmPlQFBTMzaiynyOn908vK09VLhLevxYhjHNbuxc=";
18332     };
18333     meta = {
18334       description = "Make common modules IPv6 ready by hotpatching";
18335       homepage = "https://github.com/noxxi/p5-net-inet6glue";
18336       license = with lib.licenses; [ artistic1 gpl1Plus ];
18337     };
18338   };
18340   NetAddrIP = buildPerlPackage {
18341     pname = "NetAddr-IP";
18342     version = "4.079";
18343     src = fetchurl {
18344       url = "mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz";
18345       hash = "sha256-7FqC37cCi80ouz1Wn5XYfdQWbMGYZ/IYTtOln21soOc=";
18346     };
18347     meta = {
18348       description = "Manages IPv4 and IPv6 addresses and subnets";
18349       license = with lib.licenses; [ artistic1 gpl1Plus ];
18350     };
18351   };
18353   NetAmazonAWSSign = buildPerlPackage {
18354     pname = "Net-Amazon-AWSSign";
18355     version = "0.12";
18356     src = fetchurl {
18357       url = "mirror://cpan/authors/id/N/NA/NATON/Net-Amazon-AWSSign-0.12.tar.gz";
18358       hash = "sha256-HQQMazseorVlkFefnBjgUAtsaiF7WdiDHw2WBMqX7T4=";
18359     };
18360     propagatedBuildInputs = [ URI ];
18361     meta = {
18362       description = "Perl extension to create signatures for AWS requests";
18363       license = with lib.licenses; [ artistic1 gpl1Plus ];
18364     };
18365   };
18367   NetAmazonEC2 = buildPerlPackage {
18368     pname = "Net-Amazon-EC2";
18369     version = "0.36";
18370     src = fetchurl {
18371       url = "mirror://cpan/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.36.tar.gz";
18372       hash = "sha256-Tig2kufwZsJBjtrpIz47YkAPk1X01SH5lRXlL3t9cvE=";
18373     };
18374     propagatedBuildInputs = [ LWPProtocolHttps Moose ParamsValidate XMLSimple ];
18375     buildInputs = [ TestException ];
18376     meta = {
18377       description = "Perl interface to the Amazon Elastic Compute Cloud (EC2) environment";
18378       homepage = "https://metacpan.org/dist/Net-Amazon-EC2";
18379       license = with lib.licenses; [ artistic1 gpl1Plus ];
18380     };
18381   };
18383   NetAmazonMechanicalTurk = buildPerlModule {
18384     pname = "Net-Amazon-MechanicalTurk";
18385     version = "1.02";
18386     src = fetchurl {
18387       url = "mirror://cpan/authors/id/M/MT/MTURK/Net-Amazon-MechanicalTurk-1.02.tar.gz";
18388       hash = "sha256-jQlewUjglLJ/TMzHnhyvnDHzzA5t2CzoqORCyNx7D44=";
18389     };
18390     patches =
18391       [ ../development/perl-modules/net-amazon-mechanicalturk.patch ];
18392     propagatedBuildInputs = [ DigestHMAC LWPProtocolHttps XMLParser ];
18393     doCheck = false; /* wants network */
18394     meta = {
18395       description = "Amazon Mechanical Turk SDK for Perl";
18396       license = with lib.licenses; [ asl20 ];
18397     };
18398   };
18400   NetAmazonS3 = buildPerlPackage {
18401     pname = "Net-Amazon-S3";
18402     version = "0.991";
18403     src = fetchurl {
18404       url = "mirror://cpan/authors/id/B/BA/BARNEY/Net-Amazon-S3-0.991.tar.gz";
18405       hash = "sha256-+3r4umSUjRo/MdgJ13EFImiA8GmYrH8Rn4JITmijI9M=";
18406     };
18407     buildInputs = [ TestDeep TestException TestLWPUserAgent TestMockTime TestWarnings ];
18408     propagatedBuildInputs = [ DataStreamBulk DateTimeFormatHTTP DigestHMAC DigestMD5File FileFindRule LWPUserAgentDetermined MIMETypes MooseXRoleParameterized MooseXStrictConstructor MooseXTypesDateTimeMoreCoercions RefUtil RegexpCommon SafeIsa SubOverride TermEncoding TermProgressBarSimple XMLLibXML ];
18409     meta = {
18410       description = "Use the Amazon S3 - Simple Storage Service";
18411       license = with lib.licenses; [ artistic1 gpl1Plus ];
18412       mainProgram = "s3cl";
18413     };
18414   };
18416   NetAmazonS3Policy = buildPerlModule {
18417     pname = "Net-Amazon-S3-Policy";
18418     version = "0.1.6";
18419     src = fetchurl {
18420       url = "mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz";
18421       hash = "sha256-0rFukwhnSHQ0tHdHhooAP0scyECy15WfiPw2vQ2G2RQ=";
18422     };
18423     propagatedBuildInputs = [ JSON ];
18424     meta = {
18425       description = "Manage Amazon S3 policies for HTTP POST forms";
18426       license = with lib.licenses; [ artistic1 gpl1Plus ];
18427     };
18428   };
18430   NetAsyncHTTP = buildPerlModule {
18431     pname = "Net-Async-HTTP";
18432     version = "0.49";
18433     src = fetchurl {
18434       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-HTTP-0.49.tar.gz";
18435       hash = "sha256-OSBtBpSV0bhq7jeqitPJM0025ZzObPec04asDPN5jNs=";
18436     };
18437     buildInputs = [ HTTPCookies Test2Suite TestMetricsAny ];
18438     propagatedBuildInputs = [ Future HTTPMessage IOAsync MetricsAny StructDumb URI ];
18439     preCheck = lib.optionalString stdenv.isDarwin ''
18440       # network tests fail on Darwin/sandbox, so disable these
18441       rm -f t/20local-connect.t t/22local-connect-pipeline.t t/23local-connect-redir.t
18442       rm -f t/90rt75615.t t/90rt75616.t t/90rt93232.t
18443     '';
18444     meta = {
18445       description = "Use HTTP with IO::Async";
18446       license = with lib.licenses; [ artistic1 gpl1Plus ];
18447       maintainers = [ maintainers.zakame ];
18448     };
18449   };
18451   NetAsyncHTTPServer = buildPerlModule {
18452     pname = "Net-Async-HTTP-Server";
18453     version = "0.14";
18454     src = fetchurl {
18455       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-HTTP-Server-0.14.tar.gz";
18456       hash = "sha256-6nG3kcEtD6X3JubMA/Zuo20bRhNxj2xb84EzvRinsrY=";
18457     };
18458     buildInputs = [ Test2Suite TestMetricsAny TestRefcount ];
18459     propagatedBuildInputs = [ HTTPMessage IOAsync MetricsAny ];
18460     meta = {
18461       description = "Serve HTTP with IO::Async";
18462       license = with lib.licenses; [ artistic1 gpl1Plus ];
18463       maintainers = [ maintainers.anoa ];
18464     };
18465   };
18467   NetAsyncPing = buildPerlPackage {
18468     pname = "Net-Async-Ping";
18469     version = "0.004001";
18470     src = fetchurl {
18471       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Net-Async-Ping-0.004001.tar.gz";
18472       hash = "sha256-kFfoUHYMcT2rB6DBycj4isEfbnTop0gcEObyc12K6Vs=";
18473     };
18474     propagatedBuildInputs = [ IOAsync Moo NetFrameLayerIPv6 namespaceclean ];
18475     buildInputs = [ TestFatal ];
18476     preCheck = "rm t/icmp_ps.t t/icmpv6_ps.t"; # ping socket tests fail
18477     meta = {
18478       description = "Asyncronously check remote host for reachability";
18479       homepage = "https://github.com/frioux/Net-Async-Ping";
18480       license = with lib.licenses; [ artistic1 gpl1Plus ];
18481     };
18482   };
18484   NetAsyncWebSocket = buildPerlModule {
18485     pname = "Net-Async-WebSocket";
18486     version = "0.13";
18487     src = fetchurl {
18488       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Async-WebSocket-0.13.tar.gz";
18489       hash = "sha256-DayDQtPHii/syr1GZxRd1a3U+4zRjRVtKXoead/hFgA=";
18490     };
18491     propagatedBuildInputs = [ IOAsync ProtocolWebSocket URI ];
18492     preCheck = lib.optionalString stdenv.isDarwin ''
18493       # network tests fail on Darwin/sandbox, so disable these
18494       rm -f t/02server.t t/03cross.t
18495     '';
18496     meta = {
18497       description = "Use WebSockets with IO::Async";
18498       license = with lib.licenses; [ artistic1 gpl1Plus ];
18499       maintainers = [ maintainers.zakame ];
18500     };
18501   };
18503   NetAMQP = buildPerlModule {
18504     pname = "Net-AMQP";
18505     version = "0.06";
18506     src = fetchurl {
18507       url = "mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz";
18508       hash = "sha256-Cyun3izX3dX+ECouKueuuiHqqxB4vzv9PFpyKTclY4A=";
18509     };
18510     doCheck = false; # failures on 32bit
18511     buildInputs = [ TestDeep ];
18512     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable XMLLibXML ];
18513     meta = {
18514       description = "Advanced Message Queue Protocol (de)serialization and representation";
18515       license = with lib.licenses; [ artistic1 gpl1Plus ];
18516     };
18517   };
18519   NetCIDR = buildPerlPackage {
18520     pname = "Net-CIDR";
18521     version = "0.21";
18522     src = fetchurl {
18523       url = "mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.21.tar.gz";
18524       hash = "sha256-MPMDwHNZSNozNw3sx+h8+mi8QwqkS4HRj42CO20av78=";
18525     };
18526     meta = {
18527       description = "Manipulate IPv4/IPv6 netblocks in CIDR notation";
18528       license = with lib.licenses; [ artistic1 gpl1Plus ];
18529       maintainers = [ maintainers.bjornfor ];
18530     };
18531   };
18533   NetCIDRLite = buildPerlPackage {
18534     pname = "Net-CIDR-Lite";
18535     version = "0.22";
18536     src = fetchurl {
18537       url = "mirror://cpan/authors/id/S/ST/STIGTSP/Net-CIDR-Lite-0.22.tar.gz";
18538       hash = "sha256-QxfYyzQaYXueCIjaQ8Cc3//8sMnt97jJko10KlY7hRc=";
18539     };
18540     meta = {
18541       description = "Perl extension for merging IPv4 or IPv6 CIDR addresses";
18542       license = with lib.licenses; [ artistic1 gpl1Plus ];
18543       maintainers = [ maintainers.sgo ];
18544     };
18545   };
18547   NetCoverArtArchive = buildPerlPackage {
18548     pname = "Net-CoverArtArchive";
18549     version = "1.02";
18550     src = fetchurl {
18551       url = "mirror://cpan/authors/id/C/CY/CYCLES/Net-CoverArtArchive-1.02.tar.gz";
18552       hash = "sha256-VyXiCCZDVq1rP6++uXVqz8Kny5WDiMpcCHqsJzNF3dE=";
18553     };
18554     buildInputs = [ FileFindRule ];
18555     propagatedBuildInputs = [ JSONAny LWP Moose namespaceautoclean ];
18556     meta = {
18557       description = "Query the coverartarchive.org";
18558       homepage = "https://github.com/metabrainz/CoverArtArchive";
18559       license = with lib.licenses; [ artistic1 gpl1Plus ];
18560     };
18561   };
18563   NetCUPS = buildPerlPackage {
18564     pname = "Net-CUPS";
18565     version = "0.64";
18566     src = fetchurl {
18567       url = "mirror://cpan/authors/id/N/NI/NINE/Net-CUPS-0.64.tar.gz";
18568       hash = "sha256-17x3/w9iv4dMhDxZDrEqgLvUR0mi+3Tb7URcNdDoWoU=";
18569     };
18570     buildInputs = [ pkgs.cups pkgs.cups-filters ];
18571     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.cups}/lib -lcups";
18572     meta = {
18573       description = "Common Unix Printing System Interface";
18574       homepage = "https://github.com/niner/perl-Net-CUPS";
18575       license = with lib.licenses; [ artistic1 gpl1Plus ];
18576     };
18577   };
18579   NetDBus = buildPerlPackage {
18580     pname = "Net-DBus";
18581     version = "1.2.0";
18582     src = fetchurl {
18583       url = "mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz";
18584       hash = "sha256-56GsnvShI1s/29WIj4bDRxgjBkZ715q8mwdWpktEHLw=";
18585     };
18586     nativeBuildInputs = [ buildPackages.pkg-config ];
18587     buildInputs = [ pkgs.dbus TestPod TestPodCoverage ];
18588     propagatedBuildInputs = [ XMLTwig ];
18590     # https://gitlab.com/berrange/perl-net-dbus/-/merge_requests/19
18591     patches = fetchpatch {
18592       url = "https://gitlab.com/berrange/perl-net-dbus/-/commit/6bac8f188fb06e5e5edd27aee672d66b7c28caa4.patch";
18593       hash = "sha256-68kyUxM3E7w99rM2AZWZQMpGcaQxfSWaBs3DnmwnzqY=";
18594     };
18596     postPatch = ''
18597       substituteInPlace Makefile.PL --replace pkg-config $PKG_CONFIG
18598     '';
18600     meta = {
18601       description = "Extension for the DBus bindings";
18602       homepage = "https://www.freedesktop.org/wiki/Software/dbus";
18603       license = with lib.licenses; [ artistic1 gpl1Plus ];
18604     };
18605   };
18607   NetDNS = buildPerlPackage {
18608     pname = "Net-DNS";
18609     version = "1.40";
18610     src = fetchurl {
18611       url = "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-1.40.tar.gz";
18612       hash = "sha256-IJu9QN6NSMG9eq3kjaI3/gpJn4nSebqi4amb1eySLdw=";
18613     };
18614     propagatedBuildInputs = [ DigestHMAC ];
18615     makeMakerFlags = [ "--noonline-tests" ];
18616     meta = {
18617       description = "Perl Interface to the Domain Name System";
18618       license = with lib.licenses; [ mit ];
18619     };
18620   };
18622   NetDNSResolverMock = buildPerlPackage {
18623     pname = "Net-DNS-Resolver-Mock";
18624     version = "1.20230216";
18625     src = fetchurl {
18626       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Net-DNS-Resolver-Mock-1.20230216.tar.gz";
18627       hash = "sha256-7UkwV3/Rop1kNbWHVTPTso9cElijWDP+bKLLaiaFpJs=";
18628     };
18629     propagatedBuildInputs = [ NetDNS ];
18630     buildInputs = [ TestException ];
18631     meta = {
18632       description = "Mock a DNS Resolver object for testing";
18633       license = with lib.licenses; [ artistic1 gpl1Plus ];
18634     };
18635   };
18637   NetDomainTLD = buildPerlPackage {
18638     pname = "Net-Domain-TLD";
18639     version = "1.75";
18640     src = fetchurl {
18641       url = "mirror://cpan/authors/id/A/AL/ALEXP/Net-Domain-TLD-1.75.tar.gz";
18642       hash = "sha256-TDf4ERhNaKxBedSMEOoxki3V/KLBv/zc2VxaKjtAAu4=";
18643     };
18644     meta = {
18645       description = "Work with TLD names";
18646       license = with lib.licenses; [ artistic1 gpl1Plus ];
18647     };
18648   };
18650   NetFastCGI = buildPerlPackage {
18651     pname = "Net-FastCGI";
18652     version = "0.14";
18653     src = fetchurl {
18654       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Net-FastCGI-0.14.tar.gz";
18655       hash = "sha256-EZOQCk/V6eupzNBuE4+RCSG3Ugf/i1JLZDqIyD61WWo=";
18656     };
18657     buildInputs = [ TestException TestHexString ];
18658     meta = {
18659       description = "FastCGI Toolkit";
18660       license = with lib.licenses; [ artistic1 gpl1Plus ];
18661     };
18662   };
18664   NetFrame = buildPerlModule {
18665     pname = "Net-Frame";
18666     version = "1.21";
18667     src = fetchurl {
18668       url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-1.21.tar.gz";
18669       hash = "sha256-vLNXootjnwyvfWLTPS5g/wv8z4lNAHzmAfY1UTiD1zk=";
18670     };
18671     propagatedBuildInputs = [ BitVector ClassGomor NetIPv6Addr ];
18672     preCheck = "rm t/13-gethostsubs.t"; # it performs DNS queries
18673     meta = {
18674       description = "The base framework for frame crafting";
18675       license = with lib.licenses; [ artistic1 ];
18676     };
18677   };
18679   NetFrameLayerIPv6 = buildPerlModule {
18680     pname = "Net-Frame-Layer-IPv6";
18681     version = "1.08";
18682     src = fetchurl {
18683       url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-Layer-IPv6-1.08.tar.gz";
18684       hash = "sha256-ui2FK+jzf1iE4wfagriqPNeU4YoVyAdSGsLKKtE599c=";
18685     };
18686     propagatedBuildInputs = [ NetFrame ];
18687     meta = {
18688       description = "Internet Protocol v6 layer object";
18689       license = with lib.licenses; [ artistic1 ];
18690     };
18691   };
18693   NetFreeDB = buildPerlPackage {
18694     pname = "Net-FreeDB";
18695     version = "0.10";
18696     src = fetchurl {
18697       url = "mirror://cpan/authors/id/D/DS/DSHULTZ/Net-FreeDB-0.10.tar.gz";
18698       hash = "sha256-90PhIjjrFslIBK+0sxCwJUj3C8rxeRZOrlZ/i0mIroU=";
18699     };
18700     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
18701     propagatedBuildInputs = [ CDDBFile Moo ];
18702     meta = {
18703       description = "OOP Interface to FreeDB Server(s)";
18704       license = with lib.licenses; [ artistic1 ];
18705       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.NetFreeDB.x86_64-darwin
18706     };
18707   };
18709   NetHTTP = buildPerlPackage {
18710     pname = "Net-HTTP";
18711     version = "6.23";
18712     src = fetchurl {
18713       url = "mirror://cpan/authors/id/O/OA/OALDERS/Net-HTTP-6.23.tar.gz";
18714       hash = "sha256-DWXAndbIWJsq4RGBdNPBphcDtuz8FKNEKox0r2XgyU4=";
18715     };
18716     propagatedBuildInputs = [ URI ];
18717     __darwinAllowLocalNetworking = true;
18718     doCheck = false; /* wants network */
18719     meta = {
18720       description = "Low-level HTTP connection (client)";
18721       homepage = "https://github.com/libwww-perl/Net-HTTP";
18722       license = with lib.licenses; [ artistic1 gpl1Plus ];
18723     };
18724   };
18726   NetHTTPSNB = buildPerlPackage {
18727     pname = "Net-HTTPS-NB";
18728     version = "0.15";
18729     src = fetchurl {
18730       url = "mirror://cpan/authors/id/O/OL/OLEG/Net-HTTPS-NB-0.15.tar.gz";
18731       hash = "sha256-amnPT6Vfuju70iYu4UKC7YMQc22PWslNGmxZfNEnjE8=";
18732     };
18733     propagatedBuildInputs = [ IOSocketSSL NetHTTP ];
18734     meta = {
18735       description = "Non-blocking HTTPS client";
18736       homepage = "https://github.com/olegwtf/p5-Net-HTTPS-NB";
18737       license = with lib.licenses; [ artistic1 gpl1Plus ];
18738     };
18739   };
18741   NetIDNEncode = buildPerlModule {
18742     pname = "Net-IDN-Encode";
18743     version = "2.500";
18744     src = fetchurl {
18745       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.500.tar.gz";
18746       hash = "sha256-VUU2M+P/JM4yWzS8LIFXuYWZYqMatc8ov3zMHJs6Pqo=";
18747     };
18748     buildInputs = [ TestNoWarnings ];
18749     perlPreHook = "export LD=$CC";
18750     meta = {
18751       description = "Internationalizing Domain Names in Applications (UTS #46)";
18752       homepage = "https://metacpan.org/release/Net-IDN-Encode";
18753       license = with lib.licenses; [ artistic1 gpl1Plus ];
18754     };
18755   };
18757   NetIMAPClient = buildPerlPackage {
18758     pname = "Net-IMAP-Client";
18759     version = "0.9507";
18760     src = fetchurl {
18761       url = "mirror://cpan/authors/id/G/GA/GANGLION/Net-IMAP-Client-0.9507.tar.gz";
18762       hash = "sha256-QE5vW7xQjPFnxAUqXhRwXv7sb7eTvPm1xCniX0cYNUk=";
18763     };
18764     propagatedBuildInputs = [ IOSocketSSL ListMoreUtils ];
18765     meta = {
18766       description = "Not so simple IMAP client library";
18767       license = with lib.licenses; [ artistic1 gpl1Plus ];
18768     };
18769   };
18771   NetIP = buildPerlPackage {
18772     pname = "Net-IP";
18773     version = "1.26";
18774     src = fetchurl {
18775       url = "mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz";
18776       hash = "sha256-BA8W8wZmR9dhtySjtwdU0oy9Hm/l6gHGPtHNhXEX1jk=";
18777     };
18778     meta = {
18779       description = "Perl extension for manipulating IPv4/IPv6 addresses";
18780       license = with lib.licenses; [ artistic1 gpl1Plus ];
18781     };
18782   };
18784   NetIPLite = buildPerlPackage {
18785     pname = "Net-IP-Lite";
18786     version = "0.03";
18787     src = fetchurl {
18788       url = "mirror://cpan/authors/id/A/AL/ALEXKOM/Net-IP-Lite-0.03.tar.gz";
18789       hash = "sha256-yZFubPqlO+J1N5zksqVQrhdt36tQ2tQ7Q+1D6CZ4Aqk=";
18790     };
18791     buildInputs = [ TestException ];
18792     meta = {
18793       description = "Perl extension for manipulating IPv4/IPv6 addresses";
18794       homepage = "https://metacpan.org/pod/Net::IP::Lite";
18795       license = with lib.licenses; [ artistic1 gpl1Plus ];
18796       maintainers = [ maintainers.sgo ];
18797     };
18798   };
18800   NetIPv4Addr = buildPerlPackage {
18801     pname = "Net-IPv4Addr";
18802     version = "0.10";
18803     src = fetchurl {
18804       url = "mirror://cpan/authors/id/F/FR/FRAJULAC/Net-IPv4Addr-0.10.tar.gz";
18805       hash = "sha256-OEXeTzCxfIQrGSys6Iedu2IU3paSz6cPCq8JgUIqY/4=";
18806     };
18807     meta = {
18808       description = "Perl extension for manipulating IPv4 addresses";
18809       license = with lib.licenses; [ artistic1 gpl1Plus ];
18810       mainProgram = "ipv4calc";
18811     };
18812   };
18814   NetIPv6Addr = buildPerlPackage {
18815     pname = "Net-IPv6Addr";
18816     version = "1.02";
18817     src = fetchurl {
18818       url = "mirror://cpan/authors/id/B/BK/BKB/Net-IPv6Addr-1.02.tar.gz";
18819       hash = "sha256-sjQBwSJv7o3+Yn9a4OkMVaxUcBDso5gRDcFjH0HJ7H0=";
18820     };
18821     propagatedBuildInputs = [ MathBase85 NetIPv4Addr ];
18822     meta = {
18823       description = "Check and manipulate IPv6 addresses";
18824       license = with lib.licenses; [ artistic1 gpl1Plus ];
18825     };
18826   };
18828   NetIPXS = buildPerlPackage {
18829     pname = "Net-IP-XS";
18830     version = "0.22";
18831     src = fetchurl {
18832       url = "mirror://cpan/authors/id/T/TO/TOMHRR/Net-IP-XS-0.22.tar.gz";
18833       hash = "sha256-JZe0aDizgur3S6XJnD9gpqC1poHsNqFBchJL9E9LGSA=";
18834     };
18835     propagatedBuildInputs = [ IOCapture TieSimple ];
18836     meta = {
18837       homepage = "https://github.com/tomhrr/p5-Net-IP-XS";
18838       description = "IPv4/IPv6 address library";
18839       license = with lib.licenses; [ gpl2Plus ];
18840     };
18841   };
18843   NetLDAPServer = buildPerlPackage {
18844     pname = "Net-LDAP-Server";
18845     version = "0.43";
18846     src = fetchurl {
18847       url = "mirror://cpan/authors/id/A/AA/AAR/Net-LDAP-Server-0.43.tar.gz";
18848       hash = "sha256-3WxMtNMLwyEUsHh/qioeK0/t0bkcLvN5Zey6ETMbsGI=";
18849     };
18850     propagatedBuildInputs = [ perlldap ConvertASN1 ];
18851     meta = {
18852       description = "LDAP server side protocol handling";
18853       license = with lib.licenses; [ artistic1 gpl1Plus ];
18854     };
18855   };
18857   NetLDAPSID = buildPerlPackage {
18858     pname = "Net-LDAP-SID";
18859     version = "0.001";
18860     src = fetchurl {
18861       url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-SID-0.001.tar.gz";
18862       hash = "sha256-qMLNQGeQl/w7hCV24bU+w1/UNIGoalA4PutOJOu81tY=";
18863     };
18864     meta = {
18865       description = "Active Directory Security Identifier manipulation";
18866       homepage = "https://github.com/karpet/net-ldap-sid";
18867       license = with lib.licenses; [ artistic1 gpl1Plus ];
18868     };
18869   };
18871   NetLDAPServerTest = buildPerlPackage {
18872     pname = "Net-LDAP-Server-Test";
18873     version = "0.22";
18874     src = fetchurl {
18875       url = "mirror://cpan/authors/id/K/KA/KARMAN/Net-LDAP-Server-Test-0.22.tar.gz";
18876       hash = "sha256-sSBxe18fb2sTsxQ3/dIY7g/GnrASGN4U2SL5Kc+NLY4=";
18877     };
18878     propagatedBuildInputs = [ perlldap NetLDAPServer DataDump NetLDAPSID ];
18879     meta = {
18880       description = "Test Net::LDAP code";
18881       homepage = "https://github.com/karpet/net-ldap-server-test";
18882       license = with lib.licenses; [ artistic1 gpl1Plus ];
18883     };
18884   };
18886   NetLibIDN2 = buildPerlModule {
18887     pname = "Net-LibIDN2";
18888     version = "1.02";
18889     src = fetchurl {
18890       url = "mirror://cpan/authors/id/T/TH/THOR/Net-LibIDN2-1.02.tar.gz";
18891       hash = "sha256-0fMK/GrPplQbAMCafkx059jkuknjJ3wLvEGuNcE5DQc=";
18892     };
18893     propagatedBuildInputs = [ pkgs.libidn2 ];
18894     meta = {
18895       description = "Perl bindings for GNU Libidn2";
18896       homepage = "https://github.com/gnuthor/Net--LibIDN2";
18897       license = with lib.licenses; [ artistic1 gpl1Plus ];
18898     };
18899   };
18901   NetNetmask = buildPerlPackage {
18902     pname = "Net-Netmask";
18903     version = "2.0002";
18904     src = fetchurl {
18905       url = "mirror://cpan/authors/id/J/JM/JMASLAK/Net-Netmask-2.0002.tar.gz";
18906       hash = "sha256-JKmy58a8wTAteXROukwCG/PeR/FJqvrM2U+bBC/dv5Q=";
18907     };
18908     buildInputs = [ Test2Suite TestUseAllModules ];
18909     meta = {
18910       description = "Understand and manipulate IP netmasks";
18911       homepage = "https://search.cpan.org/~jmaslak/Net-Netmask";
18912       license = with lib.licenses; [ artistic1 gpl1Plus ];
18913     };
18914   };
18916   NetMPD = buildPerlModule {
18917     pname = "Net-MPD";
18918     version = "0.07";
18919     buildInputs = [ ModuleBuildTiny ];
18920     src = fetchurl {
18921       url = "https://cpan.metacpan.org/authors/id/A/AB/ABERNDT/Net-MPD-0.07.tar.gz";
18922       hash = "sha256-M4L7nG9cJd4mKPVhRCn6igB5FSFnjELaBoyZ57KU6VM=";
18923     };
18924     meta = {
18925       description = "Communicate with an MPD server";
18926       homepage = "https://metacpan.org/pod/Net::MPD";
18927       license = with lib.licenses; [ mit ];
18928     };
18929   };
18931   NetMQTTSimple = buildPerlPackage {
18932     pname = "Net-MQTT-Simple";
18933     version = "1.28";
18934     src = fetchurl {
18935       url = "mirror://cpan/authors/id/J/JU/JUERD/Net-MQTT-Simple-1.28.tar.gz";
18936       hash = "sha256-Sp6hB+a8IuJrUzZ4oKPMbEI7N4TsP8ROjjM5t8Vr7gM=";
18937     };
18938     meta = {
18939       description = "Minimal MQTT version 3 interface";
18940       license = with lib.licenses; [ artistic1 gpl1Plus ];
18941     };
18942   };
18944   NetNVD = buildPerlPackage {
18945     pname = "Net-NVD";
18946     version = "0.0.3";
18947     src = fetchurl {
18948       url = "mirror://cpan/authors/id/G/GA/GARU/Net-NVD-0.0.3.tar.gz";
18949       hash = "sha256-uKZXEg+UsO7R2OvbA4i8M2DSj6Xw+CNrnNjNrovv5Bg=";
18950     };
18951     propagatedBuildInputs = [ IOSocketSSL JSON ];
18952     meta = {
18953       description = "Query CVE data from NIST's NVD (National Vulnerability Database)";
18954       license = with lib.licenses; [ artistic1 gpl1Plus ];
18955     };
18956   };
18958   NetOAuth = buildPerlModule {
18959     pname = "Net-OAuth";
18960     version = "0.28";
18961     src = fetchurl {
18962       url = "mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz";
18963       hash = "sha256-e/wxnaCsV44Ali81o1DPUREKOjEwFtH9wwciAooikEw=";
18964     };
18965     buildInputs = [ TestWarn ];
18966     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable DigestHMAC DigestSHA1 LWP ];
18967     meta = {
18968       description = "An implementation of the OAuth protocol";
18969       license = with lib.licenses; [ artistic1 gpl1Plus ];
18970     };
18971   };
18973   NetPatricia = buildPerlPackage {
18974     pname = "Net-Patricia";
18975     version = "1.22";
18976     src = fetchurl {
18977       url = "mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-1.22.tar.gz";
18978       hash = "sha256-cINakm4cWo0DJMcv/+6C7rfsbBQd7gT9RGggtk9xxVI=";
18979     };
18980     propagatedBuildInputs = [ NetCIDRLite Socket6 ];
18981     meta = {
18982       description = "Patricia Trie perl module for fast IP address lookups";
18983       license = with lib.licenses; [ gpl2Plus ];
18984     };
18985   };
18987   NetPing = buildPerlPackage {
18988     pname = "Net-Ping";
18989     version = "2.75";
18990     src = fetchurl {
18991       url = "mirror://cpan/authors/id/R/RU/RURBAN/Net-Ping-2.75.tar.gz";
18992       hash = "sha256-tH3zz9lpLM0Aca05/nRxjrwy9ZcBVWpgT9FaCfCeDXQ=";
18993     };
18994     meta = {
18995       description = "Check a remote host for reachability";
18996       license = with lib.licenses; [ artistic1 gpl1Plus ];
18997     };
18998   };
19000   NetDNSResolverProgrammable = buildPerlPackage {
19001     pname = "Net-DNS-Resolver-Programmable";
19002     version = "0.009";
19003     src = fetchurl {
19004       url = "mirror://cpan/authors/id/B/BI/BIGPRESH/Net-DNS-Resolver-Programmable-0.009.tar.gz";
19005       hash = "sha256-gICiq3dmKVhZEa8Reb23xNwr6/1LXv13sR0drGJFS/g=";
19006     };
19007     propagatedBuildInputs = [ NetDNS ];
19008     meta = {
19009       description = "Programmable DNS resolver class for offline emulation of DNS";
19010       homepage = "https://github.com/bigpresh/Net-DNS-Resolver-Programmable";
19011       license = with lib.licenses; [ artistic1 gpl1Plus ];
19012     };
19013   };
19015   NetPrometheus = buildPerlModule {
19016     pname = "Net-Prometheus";
19017     version = "0.12";
19018     src = fetchurl {
19019       url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Prometheus-0.12.tar.gz";
19020       hash = "sha256-rs73NJygSW/yNahKkQ+KBDZtB/WqQfrieixKxbip6SM=";
19021     };
19022     propagatedBuildInputs = [ RefUtil StructDumb URI ];
19023     buildInputs = [ HTTPMessage TestFatal ];
19024     meta = {
19025       description = "Export monitoring metrics for prometheus";
19026       license = with lib.licenses; [ artistic1 gpl1Plus ];
19027     };
19028   };
19030   NetSCP = buildPerlPackage {
19031     pname = "Net-SCP";
19032     version = "0.08.reprise";
19033     src = fetchurl {
19034       url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SCP-0.08.reprise.tar.gz";
19035       hash = "sha256-iKmy32nnaeWFWkCLGfYZFbguj+Bwq1z01SXdO4u+McE=";
19036     };
19037     propagatedBuildInputs = [ pkgs.openssl ];
19038     patchPhase = ''
19039       sed -i 's|$scp = "scp";|$scp = "${pkgs.openssh}/bin/scp";|' SCP.pm
19040     '';
19041     buildInputs = [ NetSSH StringShellQuote ];
19042     meta = {
19043       description = "Simple wrappers around ssh and scp commands";
19044       license = with lib.licenses; [ artistic1 gpl1Plus ];
19045     };
19046   };
19048   NetServer = buildPerlPackage {
19049     pname = "Net-Server";
19050     version = "2.014";
19051     src = fetchurl {
19052       url = "mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.014.tar.gz";
19053       hash = "sha256-NAa5ylpmKgB17tR/t43hMWtgHJT2Kg7jSlVE25uqNyA=";
19054     };
19055     doCheck = false; # seems to hang waiting for connections
19056     meta = {
19057       description = "Extensible Perl internet server";
19058       license = with lib.licenses; [ artistic1 gpl1Plus ];
19059       mainProgram = "net-server";
19060     };
19061   };
19063   NetSFTPForeign = buildPerlPackage {
19064     pname = "Net-SFTP-Foreign";
19065     version = "1.93";
19066     src = fetchurl {
19067       url = "mirror://cpan/authors/id/S/SA/SALVA/Net-SFTP-Foreign-1.93.tar.gz";
19068       hash = "sha256-bH1kJQh2hz2kNIAOUGCovvekZFHYH4F+N+Q8/aUaD3o=";
19069     };
19070     propagatedBuildInputs = [ pkgs.openssl ];
19071     patchPhase = ''
19072       sed -i "s|$ssh_cmd = 'ssh'|$ssh_cmd = '${pkgs.openssh}/bin/ssh'|" lib/Net/SFTP/Foreign/Backend/Unix.pm
19073     '';
19074     meta = {
19075       description = "Secure File Transfer Protocol client";
19076       license = with lib.licenses; [ artistic1 gpl1Plus ];
19077     };
19078   };
19080   NetServerCoro = buildPerlPackage {
19081     pname = "Net-Server-Coro";
19082     version = "1.3";
19083     src = fetchurl {
19084       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Net-Server-Coro-1.3.tar.gz";
19085       hash = "sha256-HhpwKw3TkMPmKfip6EzKY7eU0eInlX9Cm2dgEHV3+4Y=";
19086     };
19087     propagatedBuildInputs = [ Coro NetServer ];
19088     meta = {
19089       description = "A co-operative multithreaded server using Coro";
19090       license = with lib.licenses; [ mit ];
19091     };
19092   };
19094   NetServerSSPrefork = buildPerlPackage {
19095     pname = "Net-Server-SS-PreFork";
19096     version = "0.06pre";
19097     src = fetchFromGitHub {
19098       owner = "kazuho";
19099       repo = "p5-Net-Server-SS-PreFork";
19100       rev = "5fccc0c270e25c65ef634304630af74b48807d21";
19101       hash = "sha256-pveVyFdEe/TQCEI83RrQTWr7aoYrgOGaNqc1wJeiAnw=";
19102     };
19103     nativeCheckInputs = [ HTTPMessage LWP TestSharedFork HTTPServerSimple TestTCP TestUNIXSock ];
19104     buildInputs = [ ModuleInstall ];
19105     propagatedBuildInputs = [ NetServer ServerStarter ];
19106     meta = {
19107       description = "A hot-deployable variant of Net::Server::PreFork";
19108       license = with lib.licenses; [ artistic1 gpl1Plus ];
19109     };
19110   };
19112   NetSMTPSSL = buildPerlPackage {
19113     pname = "Net-SMTP-SSL";
19114     version = "1.04";
19115     src = fetchurl {
19116       url = "mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.04.tar.gz";
19117       hash = "sha256-eynEWt0Z09UIS3Ufe6iajkBHmkRs4hz9nMdB5VgzKgA=";
19118     };
19119     propagatedBuildInputs = [ IOSocketSSL ];
19120     meta = {
19121       description = "SSL support for Net::SMTP";
19122       license = with lib.licenses; [ artistic1 gpl1Plus ];
19123     };
19124   };
19126   NetSMTPTLS = buildPerlPackage {
19127     pname = "Net-SMTP-TLS";
19128     version = "0.12";
19129     src = fetchurl {
19130       url = "mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz";
19131       hash = "sha256-7+dyZnrDdwK5a221KXzIJ0J6Ozo4GbekMVsIudRE5KU=";
19132     };
19133     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
19134     meta = {
19135       description = "An SMTP client supporting TLS and AUTH";
19136       license = with lib.licenses; [ artistic1 gpl1Plus ];
19137     };
19138   };
19140   NetSMTPTLSButMaintained = buildPerlPackage {
19141     pname = "Net-SMTP-TLS-ButMaintained";
19142     version = "0.24";
19143     src = fetchurl {
19144       url = "mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz";
19145       hash = "sha256-a5XAj3FXnYUcAYP1AqcAyGof7O9XDjzugybF5M5mJW4=";
19146     };
19147     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
19148     meta = {
19149       description = "An SMTP client supporting TLS and AUTH (DEPRECATED, use Net::SMTPS instead)";
19150       license = with lib.licenses; [ artistic1 gpl1Plus ];
19151     };
19152   };
19154   NetSNMP = buildPerlModule {
19155     pname = "Net-SNMP";
19156     version = "6.0.1";
19157     src = fetchurl {
19158       url = "mirror://cpan/authors/id/D/DT/DTOWN/Net-SNMP-v6.0.1.tar.gz";
19159       hash = "sha256-FMN7wcuz883H1sE+DyeoWfFM3P1epUoEZ6iLwlmwt0E=";
19160     };
19161     doCheck = false; # The test suite fails, see https://rt.cpan.org/Public/Bug/Display.html?id=85799
19162     meta = {
19163       description = "Object oriented interface to SNMP";
19164       license = with lib.licenses; [ artistic1 gpl1Plus ];
19165       mainProgram = "snmpkey";
19166     };
19167   };
19169   NetSNPP = buildPerlPackage rec {
19170     pname = "Net-SNPP";
19171     version = "1.17";
19172     src = fetchurl {
19173       url = "mirror://cpan/authors/id/T/TO/TOBEYA/Net-SNPP-1.17.tar.gz";
19174       hash = "sha256-BrhR1kWWYl6GY1n7AX3Q0Ilz4OvFDDI/Sh1Q7N2GjnY=";
19175     };
19177     doCheck = false;
19178     meta = {
19179       description = "Simple Network Pager Protocol Client";
19180       license = with lib.licenses; [ artistic1 gpl1Plus ];
19181     };
19182   };
19184   NetSSH = buildPerlPackage {
19185     pname = "Net-SSH";
19186     version = "0.09";
19187     src = fetchurl {
19188       url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SSH-0.09.tar.gz";
19189       hash = "sha256-fHHHw8vpUyNN/iW8wa1+2w4fWgV4YB9VI7xgcCYqOBc=";
19190     };
19191     propagatedBuildInputs = [ pkgs.openssl ];
19192     patchPhase = ''
19193       sed -i 's|$ssh = "ssh";|$ssh = "${pkgs.openssh}/bin/ssh";|' SSH.pm
19194     '';
19195     meta = {
19196       description = "Simple wrappers around ssh commands";
19197       license = with lib.licenses; [ artistic1 gpl1Plus ];
19198     };
19199   };
19201   NetSSHPerl = buildPerlPackage {
19202     pname = "Net-SSH-Perl";
19203     version = "2.142";
19204     src = fetchurl {
19205       url = "mirror://cpan/authors/id/B/BD/BDFOY/Net-SSH-Perl-2.142.tar.gz";
19206       hash = "sha256-UAHbPllS/BjYXDF5Uhr2kT0VQ+tP30/ZfcYDpHSMLJY=";
19207     };
19208     propagatedBuildInputs = [ CryptCurve25519 CryptIDEA CryptX FileHomeDir MathGMP StringCRC32 ];
19209     preCheck = "export HOME=$TMPDIR";
19210     meta = {
19211       description = "Perl client interface to SSH";
19212       homepage = "https://search.cpan.org/dist/Net-SSH-Perl";
19213       license = with lib.licenses; [ artistic1 gpl1Plus ];
19214     };
19215   };
19217   NetSSLeay = buildPerlPackage {
19218     pname = "Net-SSLeay";
19219     version = "1.92";
19220     src = fetchurl {
19221       url = "mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz";
19222       hash = "sha256-R8LyswDy5xYtcdaZ9jPdajWwYloAy9qMUKwBFEqTlqk=";
19223     };
19224     buildInputs = [ pkgs.openssl pkgs.zlib ];
19225     doCheck = false; # Test performs network access.
19226     preConfigure = ''
19227       mkdir openssl
19228       ln -s ${lib.getLib pkgs.openssl}/lib openssl
19229       ln -s ${pkgs.openssl.bin}/bin openssl
19230       ln -s ${pkgs.openssl.dev}/include openssl
19231       export OPENSSL_PREFIX=$(realpath openssl)
19232     '';
19233     meta = {
19234       description = "Perl bindings for OpenSSL and LibreSSL";
19235       license = with lib.licenses; [ artistic2 ];
19236     };
19237   };
19239   NetStatsd = buildPerlPackage {
19240     pname = "Net-Statsd";
19241     version = "0.12";
19242     src = fetchurl {
19243       url = "mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.12.tar.gz";
19244       hash = "sha256-Y+RTYD2hZbxtHEygtV7aPSIE8EDFkwSkd4LFqniGVlw=";
19245     };
19246     meta = {
19247       description = "Perl client for Etsy's statsd daemon";
19248       license = with lib.licenses; [ artistic1 gpl1Plus ];
19249       mainProgram = "benchmark.pl";
19250     };
19251   };
19253   NetTelnet = buildPerlPackage {
19254     pname = "Net-Telnet";
19255     version = "3.05";
19256     src = fetchurl {
19257       url = "mirror://cpan/authors/id/J/JR/JROGERS/Net-Telnet-3.05.tar.gz";
19258       hash = "sha256-Z39ouizSqCT64yP6guGDv349A8PEmckdkjvWKDeWp0M=";
19259     };
19260     meta = {
19261       description = "Interact with TELNET port or other TCP ports";
19262       license = with lib.licenses; [ artistic1 gpl1Plus ];
19263     };
19264   };
19266   NetTwitterLite = buildPerlModule {
19267     pname = "Net-Twitter-Lite";
19268     version = "0.12008";
19269     src = fetchurl {
19270       url = "mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz";
19271       hash = "sha256-suq+Hyo/LGTezWDye8O0buZSVgsCTExWgRVhbI1KRo4=";
19272     };
19273     buildInputs = [ ModuleBuildTiny TestFatal ];
19274     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
19275     doCheck = false;
19276     meta = {
19277       description = "A perl API library for the Twitter API";
19278       homepage = "https://github.com/semifor/net-twitter-lite";
19279       license = with lib.licenses; [ artistic1 gpl1Plus ];
19280     };
19281   };
19283   NetWhoisIP = buildPerlPackage {
19284     pname = "Net-Whois-IP";
19285     version = "1.19";
19286     src = fetchurl {
19287       url = "mirror://cpan/authors/id/B/BS/BSCHMITZ/Net-Whois-IP-1.19.tar.gz";
19288       hash = "sha256-8JvfoPHSZltTSCa186hmI0mTDu0pmO/k2Nv5iBMUciI=";
19289     };
19290     doCheck = false;
19292     # https://rt.cpan.org/Public/Bug/Display.html?id=99377
19293     postPatch = ''
19294       substituteInPlace IP.pm --replace " AutoLoader" ""
19295     '';
19296     buildInputs = [ RegexpIPv6 ];
19297     meta = {
19298       description = "Perl extension for looking up the whois information for ip addresses";
19299       license = with lib.licenses; [ artistic1 gpl1Plus ];
19300     };
19301   };
19303   NetWorks = buildPerlPackage {
19304     pname = "Net-Works";
19305     version = "0.22";
19306     src = fetchurl {
19307       url = "mirror://cpan/authors/id/M/MA/MAXMIND/Net-Works-0.22.tar.gz";
19308       hash = "sha256-CsmyPfvKGE4ocpskU5S8ZpOq22/EUcqplbS3GewO6f8=";
19309     };
19310     propagatedBuildInputs = [ ListAllUtils MathInt128 Moo namespaceautoclean ];
19311     buildInputs = [ TestFatal ];
19312     meta = {
19313       description = "Sane APIs for IP addresses and networks";
19314       license = with lib.licenses; [ artistic1 gpl1Plus ];
19315     };
19316   };
19318   NumberBytesHuman = buildPerlPackage {
19319     pname = "Number-Bytes-Human";
19320     version = "0.11";
19321     src = fetchurl {
19322       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Number-Bytes-Human-0.11.tar.gz";
19323       hash = "sha256-X8ecSbC0DfeAR5xDaWOBND4ratH+UoWfYLxltm6+byw=";
19324     };
19325     meta = {
19326       description = "Convert byte count to human readable format";
19327       license = with lib.licenses; [ artistic1 gpl1Plus ];
19328     };
19329   };
19331   NumberCompare = buildPerlPackage {
19332     pname = "Number-Compare";
19333     version = "0.03";
19334     src = fetchurl {
19335       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz";
19336       hash = "sha256-gyk3N+gDtDESgwRD+1II7FIIoubqUS7VTvjk3SuICCc=";
19337     };
19338     meta = {
19339       description = "Numeric comparisons";
19340       license = with lib.licenses; [ artistic1 gpl1Plus ];
19341     };
19342   };
19344   NumberFormat = buildPerlPackage {
19345     pname = "Number-Format";
19346     version = "1.76";
19347     src = fetchurl {
19348       url = "mirror://cpan/authors/id/R/RJ/RJBS/Number-Format-1.76.tar.gz";
19349       hash = "sha256-DgBg6zY2NaiFcGxqJvX8qv6udZ97Ksrkndpw4ZXdRNY=";
19350     };
19351     meta = {
19352       description = "Perl extension for formatting numbers";
19353       license = with lib.licenses; [ artistic1 gpl1Plus ];
19354     };
19355   };
19357   NumberFraction = buildPerlModule {
19358     pname = "Number-Fraction";
19359     version = "3.0.4";
19360     src = fetchurl {
19361       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Number-Fraction-v3.0.4.tar.gz";
19362       hash = "sha256-xkGcird4/XKbENfmp487ewf8CJV8H3nlZm3Ny01iwIU=";
19363     };
19364     propagatedBuildInputs = [ Moo MooXTypesMooseLike ];
19365     meta = {
19366       description = "Perl extension to model fractions";
19367       license = with lib.licenses; [ artistic1 gpl1Plus ];
19368     };
19369   };
19371   NumberMisc = buildPerlModule {
19372     pname = "Number-Misc";
19373     version = "1.2";
19374     src = fetchurl {
19375       url = "mirror://cpan/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz";
19376       hash = "sha256-d7m2jGAKBpzxb02BJuyzIVHmvNNLDtsXt4re5onckdg=";
19377     };
19378     meta = {
19379       description = "Number::Misc - handy utilities for numbers";
19380       license = with lib.licenses; [ artistic1 gpl1Plus ];
19381     };
19382   };
19384   NumberPhone = buildPerlPackage {
19385     pname = "Number-Phone";
19386     version = "4.0000";
19387     src = fetchurl {
19388       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Number-Phone-4.0000.tar.gz";
19389       hash = "sha256-H0mX/oMJSrDNgUDwvn/cHz+JGQKareajOYH4fLBIZjQ=";
19390     };
19391     buildInputs = [ DevelHide FileShareDirInstall ParallelForkManager TestDifferences TestWarnings ];
19392     propagatedBuildInputs = [ DataDumperConcise DataCompactReadonly DevelCheckOS DevelDeprecationsEnvironmental FileFindRule FileShareDir ];
19393     preCheck = ''
19394       # Remove slow memory hungry tests
19395       rm t/fork.t
19396       rm t/uk_slurp.t
19397     '';
19398     meta = {
19399       description = "Large suite of perl modules for parsing and dealing with phone numbers";
19400       homepage = "https://github.com/DrHyde/perl-modules-Number-Phone";
19401       license = with lib.licenses; [ artistic1 gpl2Only asl20 ];
19402     };
19403   };
19405   NumberWithError = buildPerlPackage {
19406     pname = "Number-WithError";
19407     version = "1.01";
19408     src = fetchurl {
19409       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Number-WithError-1.01.tar.gz";
19410       hash = "sha256-3/agcn54ROpng3vfrdVSuG9rIW0Y7o7kaEKyLM7w9VQ=";
19411     };
19412     propagatedBuildInputs = [ ParamsUtil prefork ];
19413     buildInputs = [ TestLectroTest ];
19414     meta = {
19415       description = "Numbers with error propagation and scientific rounding";
19416       license = with lib.licenses; [ artistic1 gpl1Plus ];
19417     };
19418   };
19420   NTLM = buildPerlPackage {
19421     pname = "NTLM";
19422     version = "1.09";
19423     src = fetchurl {
19424       url = "mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-1.09.tar.gz";
19425       hash = "sha256-yCPjDNp2vBVjblhDAslg4rXu75UXwkSPdFRJiJMVH4U=";
19426     };
19427     propagatedBuildInputs = [ DigestHMAC ];
19428     meta = {
19429       description = "An NTLM authentication module";
19430       license = with lib.licenses; [ artistic1 gpl1Plus ];
19431       maintainers = [ maintainers.pSub ];
19432     };
19433   };
19435   ObjectAccessor = buildPerlPackage {
19436     pname = "Object-Accessor";
19437     version = "0.48";
19438     src = fetchurl {
19439       url = "mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz";
19440       hash = "sha256-dsuCSie2tOVgQJ/Pb9Wzv7vTi3Lx89N+0LVL2cC66t4=";
19441     };
19442     meta = {
19443       description = "Per object accessors";
19444       license = with lib.licenses; [ artistic1 gpl1Plus ];
19445     };
19446   };
19448   ObjectEvent = buildPerlPackage rec {
19449     pname = "Object-Event";
19450     version = "1.23";
19451     src = fetchurl {
19452       url = "mirror://cpan/authors/id/E/EL/ELMEX/${pname}-${version}.tar.gz";
19453       hash = "sha256-q2u4BQj0/dry1RsgyodqqwOFgqhrUijmQ1QRNIr1PII=";
19454     };
19455     propagatedBuildInputs = [ AnyEvent commonsense ];
19456     meta = {
19457       description = "A class that provides an event callback interface";
19458       license = with lib.licenses; [ artistic1 gpl1Plus ];
19459     };
19460   };
19462   ObjectInsideOut = buildPerlModule {
19463     pname = "Object-InsideOut";
19464     version = "4.05";
19465     src = fetchurl {
19466       url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz";
19467       hash = "sha256-nf1sooInJDR+DrZ1nQBwlCWBRwOtXGa9tiFFeYaLysQ=";
19468     };
19469     propagatedBuildInputs = [ ExceptionClass ];
19470     meta = {
19471       description = "Comprehensive inside-out object support module";
19472       license = with lib.licenses; [ artistic1 gpl1Plus ];
19473     };
19474   };
19476   ObjectPad = buildPerlModule {
19477     pname = "Object-Pad";
19478     version = "0.804";
19479     src = fetchurl {
19480       url = "mirror://cpan/authors/id/P/PE/PEVANS/Object-Pad-0.804.tar.gz";
19481       hash = "sha256-z4jSquGKKHHX1/MPi6bU7lv5U+IP3KileME8dB0W0a0=";
19482     };
19483     buildInputs = [ Test2Suite TestFatal TestRefcount ];
19484     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
19485     propagatedBuildInputs = [ XSParseKeyword XSParseSublike ];
19486     meta = {
19487       description = "A simple syntax for lexical field-based objects";
19488       license = with lib.licenses; [ artistic1 gpl1Plus ];
19489       maintainers = [ maintainers.zakame ];
19490     };
19491   };
19493   ObjectSignature = buildPerlPackage {
19494     pname = "Object-Signature";
19495     version = "1.08";
19496     src = fetchurl {
19497       url = "mirror://cpan/authors/id/E/ET/ETHER/Object-Signature-1.08.tar.gz";
19498       hash = "sha256-hCFTyU2pPiucs7VN7lcrUGS79JmjanPDiiN5mgIDaYo=";
19499     };
19500     meta = {
19501       description = "Generate cryptographic signatures for objects";
19502       homepage = "https://github.com/karenetheridge/Object-Signature";
19503       license = with lib.licenses; [ artistic1 gpl1Plus ];
19504     };
19505   };
19507   OggVorbisHeaderPurePerl = buildPerlPackage {
19508     pname = "Ogg-Vorbis-Header-PurePerl";
19509     version = "1.05";
19510     src = fetchurl {
19511       url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Ogg-Vorbis-Header-PurePerl-1.05.tar.gz";
19512       hash = "sha256-Uh04CPQtcSKmsGwzpurm18OZR6q1fEyMyvzE9gP9pT4=";
19513     };
19515     # The testing mechanism is erorrneous upstream. See http://matrix.cpantesters.org/?dist=Ogg-Vorbis-Header-PurePerl+1.0
19516     doCheck = false;
19517     meta = {
19518       description = "Access Ogg Vorbis info and comment fields";
19519       license = with lib.licenses; [ artistic1 ];
19520     };
19521   };
19523   OLEStorage_Lite = buildPerlPackage {
19524     pname = "OLE-Storage_Lite";
19525     version = "0.22";
19526     src = fetchurl {
19527       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-0.22.tar.gz";
19528       hash = "sha256-0FZtbCnTl+pzY3ncUVw2hJ9rlxB89wC6glBQXJhM+WU=";
19529     };
19530     meta = {
19531       description = "Read and write OLE storage files";
19532       license = with lib.licenses; [ artistic1 gpl1Plus ];
19533     };
19534   };
19536   Opcodes = buildPerlPackage {
19537     pname = "Opcodes";
19538     version = "0.14";
19539     src = fetchurl {
19540       url = "mirror://cpan/authors/id/R/RU/RURBAN/Opcodes-0.14.tar.gz";
19541       hash = "sha256-f3NlRH5NHFuHtDCRRI8EiOZ8nwNrJsAipUCc1z00OJM=";
19542     };
19543     meta = {
19544       description = "More Opcodes information from opnames.h and opcode.h";
19545       license = with lib.licenses; [ artistic1 gpl1Plus ];
19546     };
19547   };
19549   OpenAPIClient = buildPerlPackage rec {
19550     pname = "OpenAPI-Client";
19551     version = "1.07";
19552     src = fetchurl {
19553       url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/OpenAPI-Client-1.07.tar.gz";
19554       hash = "sha256-Ue1kHSg7j0u7wG0BwVZzm9K5qItO+Et7hPlQ+g7hTbM=";
19555     };
19556     propagatedBuildInputs = [ MojoliciousPluginOpenAPI ];
19557     meta = {
19558       description = "A client for talking to an Open API powered server";
19559       homepage = "https://github.com/jhthorsen/openapi-client";
19560       license = with lib.licenses; [ artistic2 ];
19561       maintainers = [ maintainers.sgo ];
19562     };
19563   };
19565   OpenGL = buildPerlPackage rec {
19566     pname = "OpenGL";
19567     version = "0.70";
19568     src = fetchurl {
19569       url = "mirror://cpan/authors/id/C/CH/CHM/OpenGL-0.70.tar.gz";
19570       hash = "sha256-sg4q9EBLSQGrNbumrV46iqYL/3JBPJkojwEBjEz4dOA=";
19571     };
19573     # FIXME: try with libGL + libGLU instead of libGLU libGL
19574     buildInputs = [ pkgs.libGLU pkgs.libGL pkgs.libGLU pkgs.freeglut pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXmu pkgs.xorg.libXext pkgs.xdummy ];
19576     patches = [ ../development/perl-modules/perl-opengl.patch ];
19578     configurePhase = ''
19579       substituteInPlace Makefile.PL \
19580         --replace "@@libpaths@@" '${lib.concatStringsSep "\n" (map (f: "-L${f}/lib") buildInputs)}'
19582       cp -v ${../development/perl-modules/perl-opengl-gl-extensions.txt} utils/glversion.txt
19584       perl Makefile.PL PREFIX=$out INSTALLDIRS=site $makeMakerFlags
19585     '';
19587     doCheck = false;
19588     meta = {
19589       description = "Perl OpenGL bindings";
19590       license = with lib.licenses; [ artistic1 gpl1Plus ]; # taken from EPEL
19591     };
19592   };
19594   OpenOfficeOODoc = buildPerlPackage {
19595     pname = "OpenOffice-OODoc";
19596     version = "2.125";
19597     src = fetchurl {
19598       url = "mirror://cpan/authors/id/J/JM/JMGDOC/OpenOffice-OODoc-2.125.tar.gz";
19599       hash = "sha256-wRRIlwaTxCqLnpPaSMrJE1Fs4zqdRKZGhAD3rYeR2rY=";
19600     };
19601     propagatedBuildInputs = [ ArchiveZip XMLTwig ];
19602     meta = {
19603       description = "The Perl Open OpenDocument Connector";
19604       license = with lib.licenses; [ lgpl21Only ];
19605       maintainers = [ maintainers.wentasah ];
19606     };
19607   };
19609   NetOpenIDCommon = buildPerlPackage {
19610     pname = "Net-OpenID-Common";
19611     version = "1.20";
19612     src = fetchurl {
19613       url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Common-1.20.tar.gz";
19614       hash = "sha256-q06X10pHcQ4NtKwMgi9/32Iq+GpgpSunIlWoicKdq8k=";
19615     };
19616     propagatedBuildInputs = [ CryptDHGMP XMLSimple ];
19617     meta = {
19618       description = "Libraries shared between Net::OpenID::Consumer and Net::OpenID::Server";
19619       license = with lib.licenses; [ artistic1 gpl1Plus ];
19620     };
19621   };
19623   NetOpenIDConsumer = buildPerlPackage {
19624     pname = "Net-OpenID-Consumer";
19625     version = "1.18";
19626     src = fetchurl {
19627       url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Consumer-1.18.tar.gz";
19628       hash = "sha256-Dhw4b+fBhDBx3Zlr3KymEJEGZK5LXRJ8lf6u/Zk2Tzg=";
19629     };
19630     propagatedBuildInputs = [ JSON NetOpenIDCommon ];
19631     buildInputs = [ CGI ];
19632     meta = {
19633       description = "Library for consumers of OpenID identities";
19634       license = with lib.licenses; [ artistic1 gpl1Plus ];
19635     };
19636   };
19638   NetOpenSSH = buildPerlPackage {
19639     pname = "Net-OpenSSH";
19640     version = "0.84";
19641     src = fetchurl {
19642       url = "mirror://cpan/authors/id/S/SA/SALVA/Net-OpenSSH-0.84.tar.gz";
19643       hash = "sha256-h4DmLwGxzw20PJy3BclP9JSbAyIzvkvpH8kavHkVOfg=";
19644     };
19645     meta = {
19646       description = "Perl SSH client package implemented on top of OpenSSH";
19647       license = with lib.licenses; [ artistic1 gpl1Plus ];
19648     };
19649   };
19651   NetZooKeeper = buildPerlPackage {
19652     pname = "Net-ZooKeeper";
19653     version = "0.42pre";
19654     src = fetchFromGitHub {
19655       owner = "mark-5";
19656       repo = "p5-net-zookeeper";
19657       rev = "66e1a360aff9c39af728c36092b540a4b6045f70";
19658       hash = "sha256-NyY97EWtqWFtKJnwX2HDkKcyviKq57yRtWC7lzajiHY=";
19659     };
19660     buildInputs = [ pkgs.zookeeper_mt ];
19661     # fix "error: format not a string literal and no format arguments [-Werror=format-security]"
19662     hardeningDisable = [ "format" ];
19663     # Make the async API accessible
19664     env.NIX_CFLAGS_COMPILE = "-DTHREADED";
19665     NIX_CFLAGS_LINK = "-L${pkgs.zookeeper_mt.out}/lib -lzookeeper_mt";
19666     # Most tests are skipped as no server is available in the sandbox.
19667     # `t/35_log.t` seems to suffer from a race condition; remove it.  See
19668     # https://github.com/NixOS/nixpkgs/pull/104889#issuecomment-737144513
19669     preCheck = ''
19670       rm t/35_log.t
19671     '' + lib.optionalString stdenv.isDarwin ''
19672       rm t/30_connect.t
19673       rm t/45_class.t
19674     '';
19675     meta = {
19676       description = "Perl extension for Apache ZooKeeper";
19677       homepage = "https://github.com/mark-5/p5-net-zookeeper";
19678       license = with lib.licenses; [ asl20 ];
19679       maintainers = teams.deshaw.members ++ [ maintainers.ztzg ];
19680     };
19681   };
19683   PackageConstants = buildPerlPackage {
19684     pname = "Package-Constants";
19685     version = "0.06";
19686     src = fetchurl {
19687       url = "mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.06.tar.gz";
19688       hash = "sha256-C1i+eHBszE5L2butQXZ0cEJ/17LPrXSUid4QH4W8XfU=";
19689     };
19690     meta = {
19691       description = "List constants defined in a package";
19692       license = with lib.licenses; [ artistic1 gpl1Plus ];
19693     };
19694   };
19696   PackageDeprecationManager = buildPerlPackage {
19697     pname = "Package-DeprecationManager";
19698     version = "0.18";
19699     src = fetchurl {
19700       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.18.tar.gz";
19701       hash = "sha256-to0/DO1Vt2Ff3btgKbifkqNP4N2Mb9a87/wVfVaDT+g=";
19702     };
19703     buildInputs = [ TestFatal TestWarnings ];
19704     propagatedBuildInputs = [ PackageStash ParamsUtil SubInstall SubName ];
19705     meta = {
19706       description = "Manage deprecation warnings for your distribution";
19707       homepage = "https://metacpan.org/release/Package-DeprecationManager";
19708       license = with lib.licenses; [ artistic2 ];
19709     };
19710   };
19712   PatchReader = buildPerlPackage {
19713     pname = "PatchReader";
19714     version = "0.9.6";
19715     src = fetchurl {
19716       url = "mirror://cpan/authors/id/T/TM/TMANNERM/PatchReader-0.9.6.tar.gz";
19717       hash = "sha256-uN43RgNHu1R03AGRbMsx3S/gzZIkLEoy1zDo6wh8Mjw=";
19718     };
19719     meta = {
19720       description = "Utilities to read and manipulate patches and CVS";
19721       license = with lib.licenses; [ artistic1 ];
19722     };
19723   };
19725   PackageStash = buildPerlPackage {
19726     pname = "Package-Stash";
19727     version = "0.40";
19728     src = fetchurl {
19729       url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-0.40.tar.gz";
19730       hash = "sha256-WpcixtnLKe4TPl97CKU2J2KgtWM/9RcGQqWwaG6V4GY=";
19731     };
19732     buildInputs = [ CPANMetaCheck TestFatal TestNeeds TestRequires ];
19733     propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation ];
19734     meta = {
19735       description = "Routines for manipulating stashes";
19736       homepage = "https://github.com/moose/Package-Stash";
19737       license = with lib.licenses; [ artistic1 gpl1Plus ];
19738       mainProgram = "package-stash-conflicts";
19739     };
19740   };
19742   PackageStashXS = buildPerlPackage {
19743     pname = "Package-Stash-XS";
19744     version = "0.30";
19745     src = fetchurl {
19746       url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-XS-0.30.tar.gz";
19747       hash = "sha256-JrrWXBlZxXN5s+E53HdvvsX3ApBmF+8nzcKT3fEjkjE=";
19748     };
19749     buildInputs = [ TestFatal TestNeeds ];
19750     meta = {
19751       description = "Faster and more correct implementation of the Package::Stash API";
19752       homepage = "https://github.com/moose/Package-Stash-XS";
19753       license = with lib.licenses; [ artistic1 gpl1Plus ];
19754     };
19755   };
19757   Pango = buildPerlPackage {
19758     pname = "Pango";
19759     version = "1.227";
19760     src = fetchurl {
19761       url = "mirror://cpan/authors/id/X/XA/XAOC/Pango-1.227.tar.gz";
19762       hash = "sha256-NLCkIt8/7NdZdYcEhVJFfUiudkxDu+/SqdYs62yLrHE=";
19763     };
19764     buildInputs = [ pkgs.pango ];
19765     propagatedBuildInputs = [ Cairo Glib ];
19766     meta = {
19767       description = "Layout and render international text";
19768       homepage = "https://gtk2-perl.sourceforge.net";
19769       license = with lib.licenses; [ lgpl21Plus ];
19770     };
19771   };
19773   ParallelForkManager = buildPerlPackage {
19774     pname = "Parallel-ForkManager";
19775     version = "2.02";
19776     src = fetchurl {
19777       url = "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz";
19778       hash = "sha256-wbKXCou2ZsPefKrEqPTbzAQ6uBm7wzdpLse/J62uRAQ=";
19779     };
19780     buildInputs = [ TestWarn ];
19781     propagatedBuildInputs = [ Moo ];
19782     meta = {
19783       description = "A simple parallel processing fork manager";
19784       homepage = "https://github.com/dluxhu/perl-parallel-forkmanager";
19785       license = with lib.licenses; [ artistic1 gpl1Plus ];
19786     };
19787   };
19789   ParallelLoops = buildPerlPackage {
19790     pname = "Parallel-Loops";
19791     version = "0.12";
19792     src = fetchurl {
19793       url = "mirror://cpan/authors/id/P/PM/PMORCH/Parallel-Loops-0.12.tar.gz";
19794       hash = "sha256-tmyP4v1RmHPIp7atHRoE3yAmkSJZteKKQeUdnJsVQVA=";
19795     };
19796     propagatedBuildInputs = [ ParallelForkManager ];
19797     meta = {
19798       description = "Execute loops using parallel forked subprocesses";
19799       homepage = "https://github.com/pmorch/perl-Parallel-Loops";
19800       license = with lib.licenses; [ artistic1 gpl1Plus ];
19801       maintainers = with maintainers; [ tomasajt ];
19802     };
19803   };
19805   ParallelPipes = buildPerlModule {
19806     pname = "Parallel-Pipes";
19807     version = "0.200";
19808     src = fetchurl {
19809       url = "mirror://cpan/authors/id/S/SK/SKAJI/Parallel-Pipes-0.200.tar.gz";
19810       hash = "sha256-iLmFDqzJ1hjz6RpRyqOGxKZOgswYc1AzUkTjSbgREQY=";
19811     };
19812     buildInputs = [ ModuleBuildTiny ];
19813     meta = {
19814       description = "Parallel processing using pipe(2) for communication and synchronization";
19815       homepage = "https://github.com/skaji/Parallel-Pipes";
19816       license = with lib.licenses; [ artistic1 gpl1Plus ];
19817       maintainers = [ maintainers.zakame ];
19818     };
19819   };
19821   ParallelPrefork = buildPerlPackage {
19822     pname = "Parallel-Prefork";
19823     version = "0.18";
19824     src = fetchurl {
19825       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz";
19826       hash = "sha256-8cH0jxrhR6WLyI+csvVw1rsV6kwNWJq9TDCE3clhWW4=";
19827     };
19828     buildInputs = [ TestRequires TestSharedFork ];
19829     propagatedBuildInputs = [ ClassAccessorLite ListMoreUtils ProcWait3 ScopeGuard SignalMask ];
19830     meta = {
19831       description = "A simple prefork server framework";
19832       license = with lib.licenses; [ artistic1 gpl1Plus ];
19833     };
19834   };
19836   ParamsClassify = buildPerlModule {
19837     pname = "Params-Classify";
19838     version = "0.015";
19839     src = fetchurl {
19840       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz";
19841       hash = "sha256-OY7BXNiZ/Ni+89ueoXSL9jHxX2wyviA+R1tn31EKWRQ=";
19842     };
19843     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
19844     meta = {
19845       description = "Argument type classification";
19846       license = with lib.licenses; [ artistic1 gpl1Plus ];
19847     };
19848   };
19850   ParamsUtil = buildPerlPackage {
19851     pname = "Params-Util";
19852     version = "1.102";
19853     src = fetchurl {
19854       url = "mirror://cpan/authors/id/R/RE/REHSACK/Params-Util-1.102.tar.gz";
19855       hash = "sha256-SZuxtILbJP2id6UVJVlq0JLCvVHdUI+o/sLp+EkJdAI=";
19856     };
19857     meta = {
19858       description = "Simple, compact and correct param-checking functions";
19859       homepage = "https://metacpan.org/release/Params-Util";
19860       license = with lib.licenses; [ artistic1 gpl1Plus ];
19861     };
19862   };
19864   ParamsValidate = buildPerlModule {
19865     pname = "Params-Validate";
19866     version = "1.31";
19867     src = fetchurl {
19868       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.31.tar.gz";
19869       hash = "sha256-G/JRjvLEhp+RWQ4hn1RcjvEu1TzzE+DrVwSt9/Gylh4=";
19870     };
19871     buildInputs = [ TestFatal TestRequires ];
19872     propagatedBuildInputs = [ ModuleImplementation ];
19873     perlPreHook = "export LD=$CC";
19874     meta = {
19875       description = "Validate method/function parameters";
19876       homepage = "https://metacpan.org/release/Params-Validate";
19877       license = with lib.licenses; [ artistic2 ];
19878     };
19879   };
19881   ParamsValidationCompiler = buildPerlPackage {
19882     pname = "Params-ValidationCompiler";
19883     version = "0.31";
19884     src = fetchurl {
19885       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.31.tar.gz";
19886       hash = "sha256-e2SXFz8batsp9dUdjPnsNtLxIZQStLJBDp13qQHoSm0=";
19887     };
19888     propagatedBuildInputs = [ EvalClosure ExceptionClass ];
19889     buildInputs = [ Specio Test2PluginNoWarnings Test2Suite TestWithoutModule ];
19890     meta = {
19891       description = "Build an optimized subroutine parameter validator once, use it forever";
19892       homepage = "https://metacpan.org/release/Params-ValidationCompiler";
19893       license = with lib.licenses; [ artistic2 ];
19894     };
19895   };
19897   Paranoid = buildPerlPackage {
19898     pname = "Paranoid";
19899     version = "2.10";
19900     src = fetchurl {
19901       url = "mirror://cpan/authors/id/C/CO/CORLISS/Paranoid/Paranoid-2.10.tar.gz";
19902       hash = "sha256-vvS25l1cmk72C8qjF0hvOg0jm/2rRQqnEgLCl5i4dSk=";
19903     };
19904     patches = [ ../development/perl-modules/Paranoid-blessed-path.patch ];
19905     preConfigure = ''
19906       # Capture the path used when compiling this module as the "blessed"
19907       # system path, analogous to the module's own use of '/bin:/sbin'.
19908       sed -i "s#__BLESSED_PATH__#${pkgs.coreutils}/bin#" lib/Paranoid.pm t/01_init_core.t
19909     '';
19910     meta = {
19911       description = "General function library for safer, more secure programming";
19912       license = with lib.licenses; [ artistic1 gpl1Plus ];
19913       maintainers = teams.deshaw.members;
19914     };
19915   };
19917   PARDist = buildPerlPackage {
19918     pname = "PAR-Dist";
19919     version = "0.52";
19920     src = fetchurl {
19921       url = "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.52.tar.gz";
19922       hash = "sha256-y+ljAJ6nnSRUqF/heU9CW33cHoa3F0nIhNsp1gHqj4g=";
19923     };
19924     meta = {
19925       description = "Create and manipulate PAR distributions";
19926       license = with lib.licenses; [ artistic1 gpl1Plus ];
19927     };
19928   };
19930   PAUSEPermissions = buildPerlPackage {
19931     pname = "PAUSE-Permissions";
19932     version = "0.17";
19933     src = fetchurl {
19934       url = "mirror://cpan/authors/id/N/NE/NEILB/PAUSE-Permissions-0.17.tar.gz";
19935       hash = "sha256-ek6SDeODL5CfJV1aMj942M0hXGCMlJbNbJVwEsi0MQg=";
19936     };
19937     propagatedBuildInputs = [ FileHomeDir HTTPDate MooXOptions TimeDurationParse ];
19938     buildInputs = [ PathTiny ];
19939     meta = {
19940       description = "Interface to PAUSE's module permissions file (06perms.txt)";
19941       homepage = "https://github.com/neilb/PAUSE-Permissions";
19942       license = with lib.licenses; [ artistic1 gpl1Plus ];
19943       mainProgram = "pause-permissions";
19944     };
19945   };
19947   Parent = buildPerlPackage {
19948     pname = "parent";
19949     version = "0.241";
19950     src = fetchurl {
19951       url = "mirror://cpan/authors/id/C/CO/CORION/parent-0.241.tar.gz";
19952       hash = "sha256-sQs5YKs5l9q3Vx/+l1ukYtl50IZFB0Ch4Is5WedRKP4=";
19953     };
19954     meta = {
19955       description = "Establish an ISA relationship with base classes at compile time";
19956       license = with lib.licenses; [ artistic1 gpl1Plus ];
19957     };
19958   };
19960   ParseWin32Registry = buildPerlPackage {
19961     pname = "ParseWin32Registry";
19962     version = "1.1";
19963     src = fetchurl {
19964       url = "mirror://cpan/authors/id/J/JM/JMACFARLA/Parse-Win32Registry-1.1.tar.gz";
19965       hash = "sha256-wWOyAr5q17WPSEZJT/crjJqXloPKmU5DgOmsZWTcBbo=";
19966     };
19967     meta = with lib; {
19968       description = "Module for parsing Windows Registry files";
19969       license = with licenses; [ artistic1 gpl1Only ];
19970     };
19971   };
19973   ParseEDID = buildPerlPackage {
19974     pname = "Parse-Edid";
19975     version = "1.0.7";
19976     src = fetchurl {
19977       url = "mirror://cpan/authors/id/G/GR/GROUSSE/Parse-EDID-1.0.7.tar.gz";
19978       hash = "sha256-GtwPEFoyGYoqK02lsOD5hfBe/tmc42YZCnkOFl1nW/E=";
19979     };
19980     buildInputs = [ TestWarn ];
19981     meta = {
19982       description = "Extended display identification data (EDID) parser";
19983       license = lib.licenses.gpl3Plus;
19984     };
19985   };
19987   ParseDebControl = buildPerlPackage {
19988     pname = "Parse-DebControl";
19989     version = "2.005";
19990     src = fetchurl {
19991       url = "mirror://cpan/authors/id/J/JA/JAYBONCI/Parse-DebControl-2.005.tar.gz";
19992       hash = "sha256-tkvOH/IS1+PvnUNo57YnSc8ndR+oNgzfU+lpEjNGpyk=";
19993     };
19994     propagatedBuildInputs = [ IOStringy LWP ];
19995     meta = {
19996       description = "Easy OO parsing of debian control-like files";
19997       license = with lib.licenses; [ artistic1 gpl1Plus ];
19998     };
19999   };
20001   ParseDistname = buildPerlPackage {
20002     pname = "Parse-Distname";
20003     version = "0.05";
20004     src = fetchurl {
20005       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-Distname-0.05.tar.gz";
20006       hash = "sha256-pfqTvsLat22IPaEtTzRLc7+L6wzEtmwkN28+Dzh67wc=";
20007     };
20008     buildInputs = [ ExtUtilsMakeMakerCPANfile TestDifferences TestUseAllModules ];
20009     meta = {
20010       description = "Parse a distribution name";
20011       license = with lib.licenses; [ artistic1 gpl1Plus ];
20012     };
20013   };
20015   ParseIRC = buildPerlPackage {
20016     pname = "Parse-IRC";
20017     version = "1.22";
20018     src = fetchurl {
20019       url = "mirror://cpan/authors/id/B/BI/BINGOS/Parse-IRC-1.22.tar.gz";
20020       hash = "sha256-RXsJiX8304pwVPlWMkc2VCf+JBAWIu1MfwVHI6RbWNU=";
20021     };
20022     meta = {
20023       description = "A parser for the IRC protocol";
20024       homepage = "https://github.com/bingos/parse-irc";
20025       license = with lib.licenses; [ artistic1 gpl1Plus ];
20026       maintainers = with maintainers; [ sgo ];
20027     };
20028   };
20030   ParseLocalDistribution = buildPerlPackage {
20031     pname = "Parse-LocalDistribution";
20032     version = "0.19";
20033     src = fetchurl {
20034       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.19.tar.gz";
20035       hash = "sha256-awvDLE6NnoHz8qzB0qdMKi+IepHBUisxzkyNSaQV6Z4=";
20036     };
20037     propagatedBuildInputs = [ ParsePMFile ];
20038     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
20039     meta = {
20040       description = "Parses local .pm files as PAUSE does";
20041       license = with lib.licenses; [ artistic1 gpl1Plus ];
20042     };
20043   };
20045   ParsePlainConfig = buildPerlPackage {
20046     pname = "Parse-PlainConfig";
20047     version = "3.06";
20048     src = fetchurl {
20049       url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/Parse-PlainConfig-3.06.tar.gz";
20050       hash = "sha256-8ffT5OWawrbPbJjaDKpBxdTl2GVcIQdRSBlplS/+G4c=";
20051     };
20052     propagatedBuildInputs = [ ClassEHierarchy Paranoid ];
20053     meta = {
20054       description = "Parser/Generator of human-readable conf files";
20055       license = with lib.licenses; [ artistic1 gpl1Plus ];
20056       maintainers = teams.deshaw.members;
20057     };
20058   };
20060   ParsePMFile = buildPerlPackage {
20061     pname = "Parse-PMFile";
20062     version = "0.44";
20063     src = fetchurl {
20064       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.44.tar.gz";
20065       hash = "sha256-4I8PVkVbOsEtzNjHEWUGErfTzRUPim+K5rQ7LaR9+ZQ=";
20066     };
20067     buildInputs = [ ExtUtilsMakeMakerCPANfile ];
20068     meta = {
20069       description = "Parses .pm file as PAUSE does";
20070       license = with lib.licenses; [ artistic1 gpl1Plus ];
20071     };
20072   };
20074   ParseRecDescent = buildPerlModule {
20075     pname = "Parse-RecDescent";
20076     version = "1.967015";
20077     src = fetchurl {
20078       url = "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz";
20079       hash = "sha256-GUMzaky1TxeIpzPwgnwMVdtDENXq4V5UJjnJ3YVlbjc=";
20080     };
20081     meta = {
20082       description = "Generate Recursive-Descent Parsers";
20083       license = with lib.licenses; [ artistic1 gpl1Plus ];
20084     };
20085   };
20087   ParseSyslog = buildPerlPackage {
20088     pname = "Parse-Syslog";
20089     version = "1.10";
20090     src = fetchurl {
20091       url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Parse-Syslog-1.10.tar.gz";
20092       hash = "sha256-ZZohRUQe822YNd7K+D2jCPzQP0kTjLPZCSjov8nxOdk=";
20093     };
20094     meta = {
20095       description = "Parse Unix syslog files";
20096       license = with lib.licenses; [ artistic1 gpl1Plus ];
20097     };
20098   };
20100   ParserMGC = buildPerlModule {
20101     pname = "Parser-MGC";
20102     version = "0.21";
20103     src = fetchurl {
20104       url = "mirror://cpan/authors/id/P/PE/PEVANS/Parser-MGC-0.21.tar.gz";
20105       hash = "sha256-DmGIpydqn5B1fGIEc98W08mGGRO6viWvIJz0RhWgKk8=";
20106     };
20107     buildInputs = [ TestFatal ];
20108     propagatedBuildInputs = [ FeatureCompatTry ];
20109     meta = {
20110       description = "Build simple recursive-descent parsers";
20111       license = with lib.licenses; [ artistic1 gpl1Plus ];
20112     };
20113   };
20115   ParseYapp = buildPerlPackage {
20116     pname = "Parse-Yapp";
20117     version = "1.21";
20118     src = fetchurl {
20119       url = "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz";
20120       hash = "sha256-OBDpmDCPui4PTyYEMDUDKwJ85RzlyKUqi440DKZfE+U=";
20121     };
20122     meta = {
20123       description = "Perl extension for generating and using LALR parsers";
20124       license = with lib.licenses; [ artistic1 gpl1Plus ];
20125       mainProgram = "yapp";
20126     };
20127   };
20129   PathClass = buildPerlModule {
20130     pname = "Path-Class";
20131     version = "0.37";
20132     src = fetchurl {
20133       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz";
20134       hash = "sha256-ZUeBlIYCOG8ssuRHOnOfF9xpU9kqq8JJikyiVhvCSM4=";
20135     };
20136     meta = {
20137       description = "Cross-platform path specification manipulation";
20138       license = with lib.licenses; [ artistic1 gpl1Plus ];
20139     };
20140   };
20142   PathDispatcher = buildPerlPackage {
20143     pname = "Path-Dispatcher";
20144     version = "1.08";
20145     src = fetchurl {
20146       url = "mirror://cpan/authors/id/E/ET/ETHER/Path-Dispatcher-1.08.tar.gz";
20147       hash = "sha256-ean2HCdAi0/R7SNNrCRpdN3q+n/mNaGP5B7HeDEwrio=";
20148     };
20149     buildInputs = [ ModuleBuildTiny TestFatal ];
20150     propagatedBuildInputs = [ Moo MooXTypeTiny TryTiny TypeTiny ];
20151     meta = {
20152       description = "Flexible and extensible dispatch";
20153       homepage = "https://github.com/karenetheridge/Path-Dispatcher";
20154       license = with lib.licenses; [ artistic1 gpl1Plus ];
20155     };
20156   };
20158   PathIteratorRule = buildPerlPackage {
20159     pname = "Path-Iterator-Rule";
20160     version = "1.015";
20161     src = fetchurl {
20162       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-1.015.tar.gz";
20163       hash = "sha256-87Bixo4Hx29o3lvDOHfP6eB4tjUaYboWUOM+CfUeyyk=";
20164     };
20165     propagatedBuildInputs = [ NumberCompare TextGlob TryTiny ];
20166     buildInputs = [ Filepushd PathTiny TestDeep TestFilename ];
20167     meta = {
20168       description = "Iterative, recursive file finder";
20169       homepage = "https://github.com/dagolden/Path-Iterator-Rule";
20170       license = with lib.licenses; [ asl20 ];
20171     };
20172   };
20174   PathTiny = buildPerlPackage {
20175     pname = "Path-Tiny";
20176     version = "0.144";
20177     src = fetchurl {
20178       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.144.tar.gz";
20179       hash = "sha256-9uoJTs6EXJUqAsJ4kzJXk1TejUEKcH+bcEW9JBIGSH0=";
20180     };
20181     preConfigure =
20182       ''
20183         substituteInPlace lib/Path/Tiny.pm --replace 'use File::Spec 3.40' \
20184           'use File::Spec 3.39'
20185       '';
20186     # This appears to be currently failing tests, though I don't know why.
20187     # -- ocharles
20188     doCheck = false;
20189     meta = {
20190       description = "File path utility";
20191       homepage = "https://github.com/dagolden/Path-Tiny";
20192       license = with lib.licenses; [ asl20 ];
20193     };
20194   };
20196   PathTools = buildPerlPackage {
20197     pname = "PathTools";
20198     version = "3.75";
20199     preConfigure = ''
20200       substituteInPlace Cwd.pm --replace '/usr/bin/pwd' '${pkgs.coreutils}/bin/pwd'
20201     '';
20202     src = fetchurl {
20203       url = "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz";
20204       hash = "sha256-pVhQOqax+McnwAczOQgad4iGBqpwGtoa1i3Z2MP5RaI=";
20205     };
20206     # cwd() and fastgetcwd() does not work with taint due to PATH in nixpkgs
20207     preCheck = "rm t/taint.t";
20208     meta = {
20209       description = "Get pathname of current working directory";
20210       license = with lib.licenses; [ artistic1 gpl1Plus ];
20211     };
20212   };
20214   PBKDF2Tiny = buildPerlPackage {
20215     pname = "PBKDF2-Tiny";
20216     version = "0.005";
20217     src = fetchurl {
20218       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/PBKDF2-Tiny-0.005.tar.gz";
20219       hash = "sha256-tOIdxZswJl6qpBtwUIfsA0R9nGVaFKxA/0bk3inqv44=";
20220     };
20221     meta = {
20222       description = "Minimalist PBKDF2 (RFC 2898) with HMAC-SHA1 or HMAC-SHA2";
20223       homepage = "https://github.com/dagolden/PBKDF2-Tiny";
20224       license = with lib.licenses; [ asl20 ];
20225       maintainers = [ maintainers.sgo ];
20226     };
20227   };
20229   PDFAPI2 = buildPerlPackage {
20230     pname = "PDF-API2";
20231     version = "2.045";
20232     src = fetchurl {
20233       url = "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.045.tar.gz";
20234       hash = "sha256-tr204NDNZSYQP91YwXHgVgw2uEO3/jyk3cm7HkyDJAY=";
20235     };
20236     buildInputs = [ TestException TestMemoryCycle ];
20237     propagatedBuildInputs = [ FontTTF ];
20238     meta = {
20239       description = "Create, modify, and examine PDF files";
20240       license = with lib.licenses; [ lgpl21Plus ];
20241     };
20242   };
20244   PDFBuilder = buildPerlPackage {
20245     pname = "PDF-Builder";
20246     version = "3.025";
20247     src = fetchurl {
20248       url = "mirror://cpan/authors/id/P/PM/PMPERRY/PDF-Builder-3.025.tar.gz";
20249       hash = "sha256-qb6076DsKXWpFFzvBSEYsgmPRtnBUQ3WV4agPQ2j49U=";
20250     };
20251     nativeCheckInputs = [ TestException TestMemoryCycle ];
20252     propagatedBuildInputs = [ FontTTF ];
20253     meta = {
20254       description = "Facilitates the creation and modification of PDF files";
20255       homepage = "https://metacpan.org/pod/PDF::Builder";
20256       license = with lib.licenses; [ lgpl21Plus ];
20257     };
20258   };
20260   PDL = buildPerlPackage rec {
20261     pname = "PDL";
20262     version = "2.025";
20263     src = fetchurl {
20264       url = "mirror://cpan/authors/id/E/ET/ETJ/PDL-2.025.tar.gz";
20265       hash = "sha256-G1oWfq0ndy2V2tJ/jrfQlRnSkVbu1TxvwUQVGUtaitY=";
20266     };
20267     patchPhase = ''
20268       substituteInPlace perldl.conf \
20269         --replace 'POSIX_THREADS_LIBS => undef' 'POSIX_THREADS_LIBS => "-L${pkgs.glibc.dev}/lib"' \
20270         --replace 'POSIX_THREADS_INC  => undef' 'POSIX_THREADS_INC  => "-I${pkgs.glibc.dev}/include"' \
20271         --replace 'WITH_MINUIT => undef' 'WITH_MINUIT => 0' \
20272         --replace 'WITH_SLATEC => undef' 'WITH_SLATEC => 0' \
20273         --replace 'WITH_HDF => undef' 'WITH_HDF => 0' \
20274         --replace 'WITH_GD => undef' 'WITH_GD => 0' \
20275         --replace 'WITH_PROJ => undef' 'WITH_PROJ => 0'
20276     '';
20278     nativeBuildInputs = with pkgs; [ autoPatchelfHook libGL.dev glibc.dev mesa_glu.dev ];
20280     buildInputs = [ DevelChecklib TestDeep TestException TestWarn ] ++
20281                   (with pkgs; [ gsl freeglut xorg.libXmu xorg.libXi ]);
20283     propagatedBuildInputs = [
20284       AstroFITSHeader
20285       ConvertUU
20286       ExtUtilsF77
20287       FileMap
20288       Inline
20289       InlineC
20290       ListMoreUtils
20291       ModuleCompile
20292       OpenGL
20293       PodParser
20294       TermReadKey
20295     ];
20297     meta = {
20298       description = "Perl Data Language";
20299       homepage = "https://pdl.perl.org";
20300       license = with lib.licenses; [ artistic1 gpl1Plus ];
20301       mainProgram = "pdl2";
20302       platforms = lib.platforms.linux;
20303     };
20304   };
20306   Pegex = buildPerlPackage {
20307     pname = "Pegex";
20308     version = "0.75";
20309     src = fetchurl {
20310       url = "mirror://cpan/authors/id/I/IN/INGY/Pegex-0.75.tar.gz";
20311       hash = "sha256-TcjTNd6AslJHzbP5RvDRDZugs8NLDtfQAxb9Bo/QXtw=";
20312     };
20313     buildInputs = [ TestPod TieIxHash ];
20314     propagatedBuildInputs = [ FileShareDirInstall XXX ];
20315     meta = {
20316       description = "Acmeist PEG Parser Framework";
20317       homepage = "https://github.com/ingydotnet/pegex-pm";
20318       license = with lib.licenses; [ artistic1 gpl1Plus ];
20319     };
20320   };
20322   PerconaToolkit = callPackage ../development/perl-modules/Percona-Toolkit { };
20324   Perl5lib = buildPerlPackage {
20325     pname = "perl5lib";
20326     version = "1.02";
20327     src = fetchurl {
20328       url = "mirror://cpan/authors/id/N/NO/NOBULL/perl5lib-1.02.tar.gz";
20329       hash = "sha256-JLlpJYQBU8REJBOYs2/Il24IX9sNh5yRc0cJz5F+zqw=";
20330     };
20331     meta = {
20332       description = "Honour PERL5LIB even in taint mode";
20333       license = with lib.licenses; [ artistic1 gpl1Plus ];
20334     };
20335   };
20337   Perlosnames = buildPerlPackage {
20338     pname = "Perl-osnames";
20339     version = "0.122";
20340     src = fetchurl {
20341       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Perl-osnames-0.122.tar.gz";
20342       hash = "sha256-cHWTnXR+N1F40ANI0AxS/52yzrsYuudHPcsJ34JRGKA=";
20343     };
20344     meta = {
20345       description = "List possible $^O ($OSNAME) values, with description";
20346       homepage = "https://metacpan.org/release/Perl-osnames";
20347       license = with lib.licenses; [ artistic1 gpl1Plus ];
20348     };
20349   };
20351   PerlCritic = buildPerlModule {
20352     pname = "Perl-Critic";
20353     version = "1.150";
20354     src = fetchurl {
20355       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Perl-Critic-1.150.tar.gz";
20356       hash = "sha256-5c2V3j5DvOcHdRdidLqkBfMm/IdA3wBUu4FpdcyNNJs=";
20357     };
20358     buildInputs = [ TestDeep ];
20359     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
20360     propagatedBuildInputs = [ BKeywords ConfigTiny ExceptionClass FileWhich ListSomeUtils ModulePluggable PPI PPIxQuoteLike PPIxRegexp PPIxUtilities PPIxUtils PerlTidy PodSpell Readonly StringFormat ];
20361     postInstall = lib.optionalString stdenv.isDarwin ''
20362       shortenPerlShebang $out/bin/perlcritic
20363     '';
20364     meta = {
20365       description = "Critique Perl source code for best-practices";
20366       homepage = "http://perlcritic.com";
20367       license = with lib.licenses; [ artistic1 gpl1Plus ];
20368       mainProgram = "perlcritic";
20369     };
20370   };
20372   PerlCriticCommunity = buildPerlModule {
20373     pname = "Perl-Critic-Community";
20374     version = "1.0.3";
20375     src = fetchurl {
20376       url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-Critic-Community-v1.0.3.tar.gz";
20377       hash = "sha256-Ed3bt5F5/mIp8zPKOS+U/firXNmJzJfZk1IaidXEetU=";
20378     };
20379     buildInputs = [ ModuleBuildTiny ];
20380     propagatedBuildInputs = [ PPI PathTiny PerlCritic PerlCriticPolicyVariablesProhibitLoopOnHash PerlCriticPulp ];
20381     meta = {
20382       description = "Community-inspired Perl::Critic policies";
20383       homepage = "https://github.com/Grinnz/Perl-Critic-Community";
20384       license = with lib.licenses; [ artistic2 ];
20385     };
20386   };
20388   PerlCriticMoose = buildPerlPackage rec {
20389     pname = "Perl-Critic-Moose";
20390     version = "1.05";
20391     src = fetchurl {
20392       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Perl-Critic-Moose-${version}.tar.gz";
20393       hash = "sha256-UuuOIsQmQ/F/4peiFxQBfv254phsJOMzfgMPNlD5IgE=";
20394     };
20395     propagatedBuildInputs = [ PerlCritic Readonly namespaceautoclean ];
20396     meta = {
20397       description = "Policies for Perl::Critic concerned with using Moose";
20398       homepage = "https://metacpan.org/release/Perl-Critic-Moose";
20399       license = with lib.licenses; [ artistic1 ];
20400     };
20401   };
20403   PerlCriticPolicyVariablesProhibitLoopOnHash = buildPerlPackage {
20404     pname = "Perl-Critic-Policy-Variables-ProhibitLoopOnHash";
20405     version = "0.008";
20406     src = fetchurl {
20407       url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Perl-Critic-Policy-Variables-ProhibitLoopOnHash-0.008.tar.gz";
20408       hash = "sha256-EvXwvpbqG9x4KAWFd70cXGPKI8F/rJw3CUUrPf9bhOA=";
20409     };
20410     propagatedBuildInputs = [ PerlCritic ];
20411     meta = {
20412       description = "Don't write loops on hashes, only on keys and values of hashes";
20413       license = with lib.licenses; [ artistic1 gpl1Plus ];
20414     };
20415   };
20417   PerlCriticPulp = buildPerlPackage {
20418     pname = "Perl-Critic-Pulp";
20419     version = "99";
20420     src = fetchurl {
20421       url = "mirror://cpan/authors/id/K/KR/KRYDE/Perl-Critic-Pulp-99.tar.gz";
20422       hash = "sha256-uP2oQvy+100hAlfAooS23HsdBVSkej3l2X59VC4j5/4=";
20423     };
20424     propagatedBuildInputs = [ IOString ListMoreUtils PPI PerlCritic PodMinimumVersion ];
20425     meta = {
20426       description = "Some add-on policies for Perl::Critic";
20427       homepage = "https://user42.tuxfamily.org/perl-critic-pulp/index.html";
20428       license = with lib.licenses; [ gpl3Plus ];
20429     };
20430   };
20432   PerlDestructLevel = buildPerlPackage {
20433     pname = "Perl-Destruct-Level";
20434     version = "0.02";
20435     src = fetchurl {
20436       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz";
20437       hash = "sha256-QLSsCykrYM47h956o5vC+yWhnRDlyfaYZpYchLP20Ts=";
20438     };
20439     meta = {
20440       description = "Allow to change perl's destruction level";
20441       license = with lib.licenses; [ artistic1 gpl1Plus ];
20442     };
20443   };
20445   PerlIOLayers = buildPerlModule {
20446     pname = "PerlIO-Layers";
20447     version = "0.012";
20448     src = fetchurl {
20449       url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-Layers-0.012.tar.gz";
20450       hash = "sha256-VC2lQvo2uz/de4d24jDTzMAqpnRM6bd7Tu9MyufASt8=";
20451     };
20452     perlPreHook = "export LD=$CC";
20453     meta = {
20454       description = "Querying your filehandle's capabilities";
20455       license = with lib.licenses; [ artistic1 gpl1Plus ];
20456     };
20457   };
20459   PerlIOeol = buildPerlPackage {
20460     pname = "PerlIO-eol";
20461     version = "0.19";
20462     src = fetchurl {
20463       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/PerlIO-eol-0.19.tar.gz";
20464       hash = "sha256-/3O+xgRP2EepbEGZZPNw5Qn9Nv1XH3o7fDUXX1iviFk=";
20465     };
20466     meta = {
20467       description = "PerlIO layer for normalizing line endings";
20468       license = with lib.licenses; [ artistic1 gpl1Plus ];
20469     };
20470   };
20472   PerlIOgzip = buildPerlPackage {
20473     pname = "PerlIO-gzip";
20474     version = "0.20";
20475     src = fetchurl {
20476       url = "mirror://cpan/authors/id/N/NW/NWCLARK/PerlIO-gzip-0.20.tar.gz";
20477       hash = "sha256-SEhnmj8gHj87DF9vlSbmAq9Skj/6RxoqNlfbeGvTvcU=";
20478     };
20479     buildInputs = [ pkgs.zlib ];
20480     NIX_CFLAGS_LINK = "-L${pkgs.zlib.out}/lib -lz";
20481     meta = {
20482       description = "Perl extension to provide a PerlIO layer to gzip/gunzip";
20483       license = with lib.licenses; [ artistic1 gpl1Plus ];
20484     };
20485   };
20487   PerlIOutf8_strict = buildPerlPackage {
20488     pname = "PerlIO-utf8_strict";
20489     version = "0.010";
20490     src = fetchurl {
20491       url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.010.tar.gz";
20492       hash = "sha256-vNKEi3LfKQtemE+uixpsqW9tByADzyIjiajJ6OHFcM0=";
20493     };
20494     buildInputs = [ TestException ];
20495     meta = {
20496       description = "Fast and correct UTF-8 IO";
20497       license = with lib.licenses; [ artistic1 gpl1Plus ];
20498     };
20499   };
20501   PerlIOviadynamic = buildPerlPackage {
20502     pname = "PerlIO-via-dynamic";
20503     version = "0.14";
20504     src = fetchurl {
20505       url = "mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz";
20506       hash = "sha256-is169NivIdKLnBWuE3/nbNBk2tfSbrqKMLl+vG4fa0k=";
20507     };
20508     meta = {
20509       description = "Dynamic PerlIO layers";
20510       license = with lib.licenses; [ artistic1 gpl1Plus ];
20511     };
20512   };
20514   PerlIOviasymlink = buildPerlPackage {
20515     pname = "PerlIO-via-symlink";
20516     version = "0.05";
20517     src = fetchurl {
20518       url = "mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-symlink-0.05.tar.gz";
20519       hash = "sha256-QQfUw0pqNilFNEjCVpXZL4JSKv9k4ptxa1alr1hrLVI=";
20520     };
20522     buildInputs = [ ModuleInstall ];
20524     postPatch = ''
20525       # remove outdated inc::Module::Install included with module
20526       # causes build failure for perl5.18+
20527       rm -r  inc
20528     '';
20529     meta = {
20530       description = "PerlIO layers for create symlinks";
20531       license = with lib.licenses; [ artistic1 gpl1Plus ];
20532     };
20533   };
20535   PerlIOviaTimeout = buildPerlModule {
20536     pname = "PerlIO-via-Timeout";
20537     version = "0.32";
20538     src = fetchurl {
20539       url = "mirror://cpan/authors/id/D/DA/DAMS/PerlIO-via-Timeout-0.32.tar.gz";
20540       hash = "sha256-knj572aIUNkT2Y+kwNfn1mfP81AzkfSk6uc6JG8ueRY=";
20541     };
20542     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
20543     meta = {
20544       description = "A PerlIO layer that adds read & write timeout to a handle";
20545       license = with lib.licenses; [ artistic1 gpl1Plus ];
20546     };
20547   };
20549   PerlLanguageServer = buildPerlPackage {
20550     pname = "Perl-LanguageServer";
20551     version = "2.6.1";
20552     src = fetchurl {
20553       url = "mirror://cpan/authors/id/G/GR/GRICHTER/Perl-LanguageServer-2.6.1.tar.gz";
20554       hash = "sha256-IDM0uwsEXMeHAu9DA0CdCB87aN3XRoNEdGOIJ8NMsZg=";
20555     };
20556     propagatedBuildInputs = [ AnyEvent AnyEventAIO ClassRefresh CompilerLexer Coro DataDump HashSafeKeys IOAIO JSON Moose PadWalker ];
20557     meta = {
20558       description = "Language Server and Debug Protocol Adapter for Perl";
20559       license = lib.licenses.artistic2;
20560     };
20561   };
20563   perlldap = buildPerlPackage {
20564     pname = "perl-ldap";
20565     version = "0.68";
20566     src = fetchurl {
20567       url = "mirror://cpan/authors/id/M/MA/MARSCHAP/perl-ldap-0.68.tar.gz";
20568       hash = "sha256-4vOJ/j56nkthSIaSkZrXI7mPO0ebUoj2ENqownmVs1E=";
20569     };
20570     # ldapi socket location should match the one compiled into the openldap package
20571     postPatch = ''
20572       for f in lib/Net/LDAPI.pm lib/Net/LDAP/Util.pm lib/Net/LDAP.pod lib/Net/LDAP.pm; do
20573         sed -i 's:/var/run/ldapi:/run/openldap/ldapi:g' "$f"
20574       done
20575     '';
20576     buildInputs = [ TextSoundex ];
20577     propagatedBuildInputs = [ ConvertASN1 ];
20578     meta = {
20579       description = "LDAP client library";
20580       homepage = "https://ldap.perl.org";
20581       license = with lib.licenses; [ artistic1 gpl1Plus ];
20582       maintainers = teams.deshaw.members;
20583     };
20584   };
20586   PerlMagick = ImageMagick; # added 2021-08-02
20587   ImageMagick = buildPerlPackage rec {
20588     pname = "Image-Magick";
20589     version = "7.1.1-20";
20590     src = fetchurl {
20591       url = "mirror://cpan/authors/id/J/JC/JCRISTY/Image-Magick-${version}.tar.gz";
20592       hash = "sha256-oMAwXQBxuV2FgPHBhUi+toNFPVnRLNjZqdP2q+ki6jg=";
20593     };
20594     buildInputs = [ pkgs.imagemagick ];
20595     preConfigure =
20596       ''
20597         sed -i -e 's|my \$INC_magick = .*|my $INC_magick = "-I${pkgs.imagemagick.dev}/include/ImageMagick";|' Makefile.PL
20598       '';
20599     meta = {
20600       description = "Objected-oriented Perl interface to ImageMagick. Use it to read, manipulate, or write an image or image sequence from within a Perl script";
20601       license = with lib.licenses; [ imagemagick ];
20602     };
20603   };
20605   PerlTidy = buildPerlPackage rec {
20606     pname = "Perl-Tidy";
20607     version = "20230912";
20608     src = fetchurl {
20609       url = "mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20230912.tar.gz";
20610       hash = "sha256-DFeIjyBvmHd34WZA5yV0qgp3eEZxn44+0EE8NTJfVUA=";
20611     };
20612     meta = {
20613       description = "Indent and reformat perl scripts";
20614       license = with lib.licenses; [ gpl2Plus ];
20615       mainProgram = "perltidy";
20616     };
20617   };
20619   PHPSerialization = buildPerlPackage {
20620     pname = "PHP-Serialization";
20621     version = "0.34";
20622     src = fetchurl {
20623       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/PHP-Serialization-0.34.tar.gz";
20624       hash = "sha256-uRLUJumuulSRpeUC58XAOcXapXVCism9yCr/857G8Ho=";
20625     };
20626     meta = {
20627       description = "Simple flexible means of converting the output of PHP's serialize() into the equivalent Perl memory structure, and vice versa";
20628       license = with lib.licenses; [ artistic1 gpl1Plus ];
20629     };
20630   };
20632   PkgConfig = buildPerlPackage rec {
20633     pname = "PkgConfig";
20634     version = "0.25026";
20635     src = fetchurl {
20636       url = "mirror://cpan/authors/id/P/PL/PLICEASE/PkgConfig-0.25026.tar.gz";
20637       hash = "sha256-Tbpe08LWpoG5XF6/FLammVzmmRrkcZutfxqvOOmHwqA=";
20638     };
20639     # support cross-compilation by simplifying the way we get version during build
20640     postPatch = ''
20641       substituteInPlace Makefile.PL --replace \
20642         'do { require "./lib/PkgConfig.pm"; $PkgConfig::VERSION; }' \
20643         '"${version}"'
20644     '';
20645     meta = {
20646       description = "Pure-Perl Core-Only replacement for pkg-config";
20647       homepage = "https://metacpan.org/pod/PkgConfig";
20648       license = with lib.licenses; [ artistic1 gpl1Plus ];
20649       maintainers = teams.deshaw.members;
20650       mainProgram = "ppkg-config";
20651     };
20652   };
20654   Plack = buildPerlPackage {
20655     pname = "Plack";
20656     version = "1.0050";
20657     src = fetchurl {
20658       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0050.tar.gz";
20659       hash = "sha256-0mUa3oLrv/er4KOhifyTLa3Ed5GGzolGjlbQGJ6qbtQ=";
20660     };
20661     buildInputs = [ AuthenSimplePasswd CGIEmulatePSGI FileShareDirInstall HTTPRequestAsCGI HTTPServerSimplePSGI IOHandleUtil LWP LWPProtocolhttp10 LogDispatchArray MIMETypes TestMockTimeHiRes TestRequires TestSharedFork TestTCP ];
20662     propagatedBuildInputs = [ ApacheLogFormatCompiler CookieBaker DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPEntityParser HTTPHeadersFast HTTPMessage TryTiny ];
20663     patches = [
20664       ../development/perl-modules/Plack-test-replace-DES-hash-with-bcrypt.patch
20665     ];
20666     meta = {
20667       description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
20668       homepage = "https://github.com/plack/Plack";
20669       license = with lib.licenses; [ artistic1 gpl1Plus ];
20670       mainProgram = "plackup";
20671     };
20672   };
20674   PlackAppProxy = buildPerlPackage {
20675     pname = "Plack-App-Proxy";
20676     version = "0.29";
20677     src = fetchurl {
20678       url = "mirror://cpan/authors/id/L/LE/LEEDO/Plack-App-Proxy-0.29.tar.gz";
20679       hash = "sha256-BKqanbVKmpAn/nBLyjU/jl6fAr5AhytB0jX86c3ypg8=";
20680     };
20681     propagatedBuildInputs = [ AnyEventHTTP LWP Plack ];
20682     buildInputs = [ TestRequires TestSharedFork TestTCP ];
20683     meta = {
20684       description = "Proxy requests";
20685       license = with lib.licenses; [ artistic1 gpl1Plus ];
20686     };
20687   };
20689   PlackMiddlewareAuthDigest = buildPerlModule {
20690     pname = "Plack-Middleware-Auth-Digest";
20691     version = "0.05";
20692     src = fetchurl {
20693       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Auth-Digest-0.05.tar.gz";
20694       hash = "sha256-mr0/kpQ2zV7N+28/DX/foRuUB6OMfWAAYWpQ7eYQFes=";
20695     };
20696     propagatedBuildInputs = [ DigestHMAC Plack ];
20697     buildInputs = [ LWP ModuleBuildTiny TestSharedFork TestTCP ];
20698     meta = {
20699       description = "Digest authentication";
20700       homepage = "https://github.com/miyagawa/Plack-Middleware-Auth-Digest";
20701       license = with lib.licenses; [ artistic1 gpl1Plus ];
20702     };
20703   };
20705   PlackMiddlewareConsoleLogger = buildPerlModule {
20706     pname = "Plack-Middleware-ConsoleLogger";
20707     version = "0.05";
20708     src = fetchurl {
20709       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ConsoleLogger-0.05.tar.gz";
20710       hash = "sha256-VWc6ylBN4sw0AWpF8yyPft2k7k0oArctZ4TSxBuH+9k=";
20711     };
20712     propagatedBuildInputs = [ JavaScriptValueEscape Plack ];
20713     buildInputs = [ ModuleBuildTiny TestRequires ];
20714     meta = {
20715       description = "Write logs to Firebug or Webkit Inspector";
20716       homepage = "https://github.com/miyagawa/Plack-Middleware-ConsoleLogger";
20717       license = with lib.licenses; [ artistic1 gpl1Plus ];
20718     };
20719   };
20721   PlackMiddlewareDebug = buildPerlModule {
20722     pname = "Plack-Middleware-Debug";
20723     version = "0.18";
20724     src = fetchurl {
20725       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Debug-0.18.tar.gz";
20726       hash = "sha256-GS73nlIckMbv9vQUmtLkv8kR0sld94k1hV6Q1lnprJo=";
20727     };
20728     buildInputs = [ ModuleBuildTiny TestRequires ];
20729     propagatedBuildInputs = [ ClassMethodModifiers DataDump DataDumperConcise Plack TextMicroTemplate ];
20730     meta = {
20731       description = "Display information about the current request/response";
20732       homepage = "https://github.com/miyagawa/Plack-Middleware-Debug";
20733       license = with lib.licenses; [ artistic1 gpl1Plus ];
20734     };
20735   };
20737   PlackMiddlewareDeflater = buildPerlPackage {
20738     pname = "Plack-Middleware-Deflater";
20739     version = "0.12";
20740     src = fetchurl {
20741       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Plack-Middleware-Deflater-0.12.tar.gz";
20742       hash = "sha256-KNqV59pMi1WRrEVFCckhds0IQpYM4HT94w+aEHXcwnU=";
20743     };
20744     propagatedBuildInputs = [ Plack ];
20745     buildInputs = [ TestRequires TestSharedFork TestTCP ];
20746     meta = {
20747       description = "Compress response body with Gzip or Deflate";
20748       license = with lib.licenses; [ artistic1 gpl1Plus ];
20749     };
20750   };
20752   PlackMiddlewareFixMissingBodyInRedirect = buildPerlPackage {
20753     pname = "Plack-Middleware-FixMissingBodyInRedirect";
20754     version = "0.12";
20755     src = fetchurl {
20756       url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.12.tar.gz";
20757       hash = "sha256-bCLQafWlesIG1GWbKLiGm7knBkC7lV793UUdzFjNs5E=";
20758     };
20759     propagatedBuildInputs = [ HTMLParser Plack ];
20760     meta = {
20761       description = "Plack::Middleware which sets body for redirect response, if it's not already set";
20762       homepage = "https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect";
20763       license = with lib.licenses; [ artistic1 gpl1Plus ];
20764     };
20765   };
20767   PlackMiddlewareHeader = buildPerlPackage {
20768     pname = "Plack-Middleware-Header";
20769     version = "0.04";
20770     src = fetchurl {
20771       url = "mirror://cpan/authors/id/C/CH/CHIBA/Plack-Middleware-Header-0.04.tar.gz";
20772       hash = "sha256-Xra5/3Ly09VpUOI+K8AnFQqcXnVg1zo0GhZeGu3qXV4=";
20773     };
20774     propagatedBuildInputs = [ Plack ];
20775     meta = {
20776       description = "Modify HTTP response headers";
20777       license = with lib.licenses; [ artistic1 gpl1Plus ];
20778     };
20779   };
20781   PlackMiddlewareMethodOverride = buildPerlPackage {
20782     pname = "Plack-Middleware-MethodOverride";
20783     version = "0.20";
20784     src = fetchurl {
20785       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-MethodOverride-0.20.tar.gz";
20786       hash = "sha256-2/taLvtIv+sByzrh4cZ34VXce/4hDH5/IhuuPLaqtfE=";
20787     };
20788     propagatedBuildInputs = [ Plack ];
20789     meta = {
20790       description = "Override REST methods to Plack apps via POST";
20791       license = with lib.licenses; [ artistic1 gpl1Plus ];
20792     };
20793   };
20795   PlackMiddlewareRemoveRedundantBody = buildPerlPackage {
20796     pname = "Plack-Middleware-RemoveRedundantBody";
20797     version = "0.09";
20798     src = fetchurl {
20799       url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.09.tar.gz";
20800       hash = "sha256-gNRfk9a3KQsL2LPO3YSjf8UBRWzD3sAux6rYHAAYCH4=";
20801     };
20802     propagatedBuildInputs = [ Plack ];
20803     meta = {
20804       description = "Plack::Middleware which removes body for HTTP response if it's not required";
20805       homepage = "https://github.com/upasana-me/Plack-Middleware-RemoveRedundantBody";
20806       license = with lib.licenses; [ artistic1 gpl1Plus ];
20807     };
20808   };
20810   PlackMiddlewareReverseProxy = buildPerlPackage {
20811     pname = "Plack-Middleware-ReverseProxy";
20812     version = "0.16";
20813     src = fetchurl {
20814       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.16.tar.gz";
20815       hash = "sha256-h0kx030HZnug0PN5A7lFEQcfQZH+tz+kV2XaK4wVoSg=";
20816     };
20817     propagatedBuildInputs = [ Plack ];
20818     meta = {
20819       description = "Supports app to run as a reverse proxy backend";
20820       homepage = "https://github.com/lopnor/Plack-Middleware-ReverseProxy";
20821       license = with lib.licenses; [ artistic1 gpl1Plus ];
20822     };
20823   };
20825   PlackMiddlewareSession = buildPerlModule {
20826     pname = "Plack-Middleware-Session";
20827     version = "0.33";
20828     src = fetchurl {
20829       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.33.tar.gz";
20830       hash = "sha256-T/miydGK2ASbRd/ze5vdQSIeLC8eFrr7gb/tyIxRpO4=";
20831     };
20832     propagatedBuildInputs = [ DigestHMAC Plack ];
20833     buildInputs = [ HTTPCookies LWP ModuleBuildTiny TestFatal TestRequires TestSharedFork TestTCP ];
20834     meta = {
20835       description = "Middleware for session management";
20836       homepage = "https://github.com/plack/Plack-Middleware-Session";
20837       license = with lib.licenses; [ artistic1 gpl1Plus ];
20838     };
20839   };
20841   PlackTestExternalServer = buildPerlPackage {
20842     pname = "Plack-Test-ExternalServer";
20843     version = "0.02";
20844     src = fetchurl {
20845       url = "mirror://cpan/authors/id/E/ET/ETHER/Plack-Test-ExternalServer-0.02.tar.gz";
20846       hash = "sha256-W69cV/4MBkEt7snFq+eVKrigT4xHtLvY6emYImiQPtA=";
20847     };
20848     buildInputs = [ Plack TestSharedFork TestTCP ];
20849     propagatedBuildInputs = [ LWP ];
20850     meta = {
20851       description = "Run HTTP tests on external live servers";
20852       homepage = "https://github.com/perl-catalyst/Plack-Test-ExternalServer";
20853       license = with lib.licenses; [ artistic1 gpl1Plus ];
20854     };
20855   };
20857   PLS = buildPerlPackage {
20858     pname = "PLS";
20859     version = "0.905";
20860     src = fetchurl {
20861       url = "mirror://cpan/authors/id/M/MR/MREISNER/PLS-0.905.tar.gz";
20862       hash = "sha256-RVW1J5nBZBXDy/5eMB6gLKDrvDQhTH/lLx19ykUwLik=";
20863     };
20864     propagatedBuildInputs = [ Future FutureQueue IOAsync PPI PPR PathTiny PerlCritic PerlTidy PodMarkdown URI ];
20865     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
20866     postInstall = lib.optionalString stdenv.isDarwin ''
20867       shortenPerlShebang $out/bin/pls
20868     '';
20869     meta = {
20870       description = "Perl Language Server";
20871       homepage = "https://github.com/FractalBoy/perl-language-server";
20872       license = with lib.licenses; [ artistic1 gpl1Plus ];
20873       maintainers = [ maintainers.artturin ];
20874       mainProgram = "pls";
20875     };
20876   };
20878   Po4a = callPackage ../development/perl-modules/Po4a { };
20880   PodMinimumVersion = buildPerlPackage {
20881     pname = "Pod-MinimumVersion";
20882     version = "50";
20883     src = fetchurl {
20884       url = "mirror://cpan/authors/id/K/KR/KRYDE/Pod-MinimumVersion-50.tar.gz";
20885       hash = "sha256-C9KBLZqsvZm7cfoQOkuxKelVwTi6dZhzQgfcn7Z7Wm8=";
20886     };
20887     propagatedBuildInputs = [ IOString PodParser ];
20888     meta = {
20889       description = "Determine minimum Perl version of POD directives";
20890       homepage = "https://user42.tuxfamily.org/pod-minimumversion/index.html";
20891       license = with lib.licenses; [ gpl3Plus ];
20892       mainProgram = "pod-minimumversion";
20893     };
20894   };
20896   POE = buildPerlPackage {
20897     pname = "POE";
20898     version = "1.370";
20899     src = fetchurl {
20900       url = "mirror://cpan/authors/id/B/BI/BINGOS/POE-1.370.tar.gz";
20901       hash = "sha256-V94rY1sV+joxqeVd1REiFJ5UFOEVjugiNQYmNO4YppM=";
20902     };
20903     # N.B. removing TestPodLinkCheck from buildInputs because tests requiring
20904     # this module don't disable themselves when "run_network_tests" is
20905     # not present (see below).
20906     propagatedBuildInputs = [ pkgs.cacert IOPipely IOTty POETestLoops ];
20907     preCheck = ''
20908       set -x
20910       : Makefile.PL touches the following file as a "marker" to indicate
20911       : it should perform tests which use the network. Delete this file
20912       : for sandbox builds.
20913       rm -f run_network_tests
20915       : Certs are required if not running in a sandbox.
20916       export SSL_CERT_FILE=${pkgs.cacert.out}/etc/ssl/certs/ca-bundle.crt
20918       : The following flag enables extra tests not normally performed.
20919       export RELEASE_TESTING=1
20921       set +x
20922     '';
20923     meta = {
20924       description = "Portable, event-loop agnostic eventy networking and multitasking";
20925       homepage = "http://poe.perl.org";
20926       license = with lib.licenses; [ artistic1 gpl1Plus ];
20927       maintainers = teams.deshaw.members;
20928     };
20929   };
20931   POETestLoops = buildPerlPackage {
20932     pname = "POE-Test-Loops";
20933     version = "1.360";
20934     src = fetchurl {
20935       url = "mirror://cpan/authors/id/R/RC/RCAPUTO/POE-Test-Loops-1.360.tar.gz";
20936       hash = "sha256-vtDJb+kcmP035utZqASqrJzEqekoRQt21L9VJ6nmpHs=";
20937     };
20938     meta = {
20939       description = "Reusable tests for POE::Loop authors";
20940       homepage = "https://search.cpan.org/dist/POE-Test-Loops";
20941       license = with lib.licenses; [ artistic1 gpl1Plus ];
20942       maintainers = teams.deshaw.members;
20943       mainProgram = "poe-gen-tests";
20944     };
20945   };
20947   PPI = buildPerlPackage {
20948     pname = "PPI";
20949     version = "1.277";
20950     src = fetchurl {
20951       url = "mirror://cpan/authors/id/M/MI/MITHALDU/PPI-1.277.tar.gz";
20952       hash = "sha256-h8efg7aHbiBgUZZdUBnSUHxVH4GahnUAgOx+xDsuCvg=";
20953     };
20954     buildInputs = [ ClassInspector TestDeep TestNoWarnings TestObject TestSubCalls ];
20955     propagatedBuildInputs = [ Clone IOString ParamsUtil TaskWeaken ];
20957     # Remove test that fails due to unexpected shebang after
20958     # patchShebang.
20959     preCheck = "rm t/03_document.t";
20961     meta = {
20962       description = "Parse, Analyze and Manipulate Perl (without perl)";
20963       homepage = "https://github.com/Perl-Critic/PPI";
20964       license = with lib.licenses; [ artistic1 gpl1Plus ];
20965     };
20966   };
20968   PPIxQuoteLike = buildPerlModule {
20969     pname = "PPIx-QuoteLike";
20970     version = "0.023";
20971     src = fetchurl {
20972       url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.023.tar.gz";
20973       hash = "sha256-NXajFJ0sU+B+lze3iSvlz7hKSZpu8d8JC3E7BUQjTSE=";
20974     };
20975     propagatedBuildInputs = [ PPI Readonly ];
20976     meta = {
20977       description = "Parse Perl string literals and string-literal-like things";
20978       license = with lib.licenses; [ artistic1 gpl1Plus ];
20979     };
20980   };
20982   PPIxRegexp = buildPerlModule {
20983     pname = "PPIx-Regexp";
20984     version = "0.088";
20985     src = fetchurl {
20986       url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.088.tar.gz";
20987       hash = "sha256-iFQz+bEC+tT9NrIccyC7A2A2ERyvmYExv0FvfNXul2Q=";
20988     };
20989     propagatedBuildInputs = [ PPI ];
20990     meta = {
20991       description = "Parse regular expressions";
20992       license = with lib.licenses; [ artistic1 gpl1Plus ];
20993     };
20994   };
20996   PPIxUtilities = buildPerlModule {
20997     pname = "PPIx-Utilities";
20998     version = "1.001000";
20999     src = fetchurl {
21000       url = "mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz";
21001       hash = "sha256-A6SDOG/WosgI8Jd41E2wawLDFA+yS6S/EvhR9G07y5s=";
21002     };
21003     buildInputs = [ TestDeep ];
21004     propagatedBuildInputs = [ ExceptionClass PPI Readonly ];
21005     meta = {
21006       description = "Extensions to PPI|PPI";
21007       license = with lib.licenses; [ artistic1 gpl1Plus ];
21008     };
21009   };
21011   PPIxUtils = buildPerlPackage {
21012     pname = "PPIx-Utils";
21013     version = "0.003";
21014     src = fetchurl {
21015       url = "mirror://cpan/authors/id/D/DB/DBOOK/PPIx-Utils-0.003.tar.gz";
21016       hash = "sha256-KpvM/I6tA74BtnJI/o4VJSIED3mChvpO9EMrfy79uhE=";
21017     };
21018     propagatedBuildInputs = [ BKeywords PPI ];
21019     meta = {
21020       homepage = "https://github.com/Grinnz/PPIx-Utils";
21021       description = "Utility functions for PPI";
21022       license = with lib.licenses; [ artistic1 gpl1Plus ];
21023     };
21024   };
21026   PPR = buildPerlPackage {
21027     pname = "PPR";
21028     version = "0.001008";
21029     src = fetchurl {
21030       url = "mirror://cpan/authors/id/D/DC/DCONWAY/PPR-0.001008.tar.gz";
21031       hash = "sha256-EQ5xwF8uLJDrAfCgaU5VqdvpHIV+SBJeF0LRflzbHkk=";
21032     };
21033     meta = {
21034       description = "Pattern-based Perl Recognizer";
21035       license = with lib.licenses; [ artistic2 ];
21036       maintainers = [ maintainers.artturin ];
21037     };
21038   };
21040   ProcBackground = buildPerlPackage {
21041     pname = "Proc-Background";
21042     version = "1.32";
21043     src = fetchurl {
21044       url = "mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.32.tar.gz";
21045       hash = "sha256-Wxp4DduSnKQnJeuQtRgyFCX/d4tKE3+G+sldn7nNKWc=";
21046     };
21047     meta = {
21048       description = "Run asynchronous child processes under Unix or Windows";
21049       license = with lib.licenses; [ artistic1 gpl1Plus ];
21050       mainProgram = "timed-process";
21051     };
21052   };
21054   ProcProcessTable = buildPerlPackage {
21055     pname = "Proc-ProcessTable";
21056     version = "0.636";
21057     src = fetchurl {
21058       url = "mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.636.tar.gz";
21059       hash = "sha256-lEIk/7APwe81BpYzdwoK/ahiO1x1MtHkq0ip3zlIkP0=";
21060     };
21061     meta = {
21062       description = "Perl extension to access the unix process table";
21063       license = with lib.licenses; [ artistic2 ];
21064     };
21065   };
21067   ProcDaemon = buildPerlPackage {
21068     pname = "Proc-Daemon";
21069     version = "0.23";
21070     src = fetchurl {
21071       url = "mirror://cpan/authors/id/A/AK/AKREAL/Proc-Daemon-0.23.tar.gz";
21072       hash = "sha256-NMC4W3lItDHLq8l87lgINeUVzPQ7rb2DOesQlHQIm2k=";
21073     };
21074     buildInputs = [ ProcProcessTable ];
21075     meta = {
21076       description = "Run Perl program(s) as a daemon process";
21077       homepage = "https://github.com/akreal/Proc-Daemon";
21078       license = with lib.licenses; [ artistic1 gpl1Plus ];
21079     };
21080   };
21082   ProcPIDFile = buildPerlPackage {
21083     pname = "Proc-PID-File";
21084     version = "1.29";
21085     src = fetchurl {
21086       url = "mirror://cpan/authors/id/D/DM/DMITRI/Proc-PID-File-1.29.tar.gz";
21087       hash = "sha256-O87aSd8YLT2BaLcMKlGyBW8v1FlQptBCipmS/TVc1KQ=";
21088     };
21089     meta = {
21090       description = "Manage process id files";
21091       homepage = "https://github.com/dtikhonov/Proc-PID-File";
21092       license = with lib.licenses; [ artistic1 gpl1Plus ];
21093     };
21094   };
21096   ProcFind = buildPerlPackage {
21097     pname = "Proc-Find";
21098     version = "0.051";
21099     src = fetchurl {
21100       url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Proc-Find-0.051.tar.gz";
21101       hash = "sha256-ZNOQceyU17ZqfKtalQJG8P/wE7WiAKY9EXZDKYfloTU=";
21102     };
21103     propagatedBuildInputs = [ ProcProcessTable ];
21104     meta = {
21105       description = "Find processes by name, PID, or some other attributes";
21106       homepage = "https://metacpan.org/release/Proc-Find";
21107       license = with lib.licenses; [ artistic1 gpl1Plus ];
21108     };
21109   };
21111   ProcSafeExec = buildPerlPackage {
21112     pname = "Proc-SafeExec";
21113     version = "1.5";
21114     src = fetchurl {
21115       url = "mirror://cpan/authors/id/B/BI/BILBO/Proc-SafeExec-1.5.tar.gz";
21116       hash = "sha256-G00JCLysVj00p+W+YcXaPu6Y5KbH+mjCZwzFhEtaLXg=";
21117     };
21118     meta = {
21119       description = "Convenient utility for executing external commands in various ways";
21120       license = with lib.licenses; [ gpl1Only bsd2 ];
21121     };
21122   };
21124   ProcSimple = buildPerlPackage {
21125     pname = "Proc-Simple";
21126     version = "1.32";
21127     src = fetchurl {
21128       url = "mirror://cpan/authors/id/M/MS/MSCHILLI/Proc-Simple-1.32.tar.gz";
21129       hash = "sha256-TI8KkksZrXihPac/4PswbTKnudEKMyxSMIf8g6IJqMQ=";
21130     };
21131     meta = {
21132       description = "Launch and control background processes";
21133       license = with lib.licenses; [ artistic1 gpl1Plus ];
21134     };
21135   };
21137   ProcWait3 = buildPerlPackage {
21138     pname = "Proc-Wait3";
21139     version = "0.05";
21140     src = fetchurl {
21141       url = "mirror://cpan/authors/id/C/CT/CTILMES/Proc-Wait3-0.05.tar.gz";
21142       hash = "sha256-GpB/XbaTPcKTm7/v/hnurn7TnvG5eivJtyPy8l+ByvM=";
21143     };
21144     meta = {
21145       description = "Perl extension for wait3 system call";
21146       license = with lib.licenses; [ artistic1 gpl1Plus ];
21147     };
21148   };
21150   ProcWaitStat = buildPerlPackage {
21151     pname = "Proc-WaitStat";
21152     version = "1.00";
21153     src = fetchurl {
21154       url = "mirror://cpan/authors/id/R/RO/ROSCH/Proc-WaitStat-1.00.tar.gz";
21155       hash = "sha256-0HVj9eeHkJ0W5zkCQeh39Jq3ObHenQ4uoaQb0L9EdLw=";
21156     };
21157     propagatedBuildInputs = [ IPCSignal ];
21158     meta = {
21159       description = "Interpret and act on wait() status values";
21160       license = with lib.licenses; [ artistic1 gpl1Plus ];
21161     };
21162   };
21164   PrometheusTiny = buildPerlPackage {
21165     pname = "Prometheus-Tiny";
21166     version = "0.011";
21167     src = fetchurl {
21168       url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-0.011.tar.gz";
21169       hash = "sha256-jbFIDzyJ64bUFM9fR/7tjfMRKzjEY8uPZbTAZOILHhM=";
21170     };
21171     buildInputs = [ HTTPMessage Plack TestException TestWarn ];
21172     meta = {
21173       description = "A tiny Prometheus client";
21174       homepage = "https://github.com/robn/Prometheus-Tiny";
21175       license = with lib.licenses; [ artistic1 gpl1Plus ];
21176     };
21177   };
21179   PrometheusTinyShared = buildPerlPackage {
21180     pname = "Prometheus-Tiny-Shared";
21181     version = "0.027";
21182     src = fetchurl {
21183       url = "mirror://cpan/authors/id/R/RO/ROBN/Prometheus-Tiny-Shared-0.027.tar.gz";
21184       hash = "sha256-egULqhjKfA0gsoih1L0nJ3E6lFg/Qmskn5XcjUDty9E=";
21185     };
21186     buildInputs = [ DataRandom HTTPMessage Plack TestDifferences TestException TestWarn ];
21187     propagatedBuildInputs = [ HashSharedMem JSONXS PrometheusTiny ];
21188     meta = {
21189       description = "A tiny Prometheus client with a shared database behind it";
21190       homepage = "https://github.com/robn/Prometheus-Tiny-Shared";
21191       license = with lib.licenses; [ artistic1 gpl1Plus ];
21192     };
21193   };
21195   ProtocolRedis = buildPerlPackage {
21196     pname = "Protocol-Redis";
21197     version = "1.0011";
21198     src = fetchurl {
21199       url = "mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0011.tar.gz";
21200       hash = "sha256-fOtr2ABnyQRGXU/R8XFXJDiMm9w3xsLAA6IM5Wm39Og=";
21201     };
21202     meta = {
21203       description = "Redis protocol parser/encoder with asynchronous capabilities";
21204       homepage = "https://github.com/und3f/protocol-redis";
21205       license = with lib.licenses; [ artistic1 gpl1Plus ];
21206       maintainers = [ maintainers.sgo ];
21207     };
21208   };
21210   ProtocolRedisFaster = buildPerlPackage {
21211     pname = "Protocol-Redis-Faster";
21212     version = "0.003";
21213     src = fetchurl {
21214       url = "mirror://cpan/authors/id/D/DB/DBOOK/Protocol-Redis-Faster-0.003.tar.gz";
21215       hash = "sha256-a5r7PelOwczX20+eai6rolSld5AwHBe8sTuz7f4YULc=";
21216     };
21217     propagatedBuildInputs = [ ProtocolRedis ];
21218     meta = {
21219       description = "Optimized pure-perl Redis protocol parser/encoder";
21220       homepage = "https://github.com/Grinnz/Protocol-Redis-Faster";
21221       license = with lib.licenses; [ artistic2 ];
21222       maintainers = [ maintainers.sgo ];
21223     };
21224   };
21226   ProtocolWebSocket = buildPerlModule {
21227     pname = "Protocol-WebSocket";
21228     version = "0.26";
21229     src = fetchurl {
21230       url = "mirror://cpan/authors/id/V/VT/VTI/Protocol-WebSocket-0.26.tar.gz";
21231       hash = "sha256-WDfQNxGnoyVPCv7LfkCeiwk3YGDDiluClejumvdXVSI=";
21232     };
21233     buildInputs = [ ModuleBuildTiny ];
21234     meta = {
21235       description = "WebSocket protocol";
21236       license = with lib.licenses; [ artistic1 gpl1Plus ];
21237     };
21238   };
21240   ProtocolHTTP2 = buildPerlModule {
21241     pname = "Protocol-HTTP2";
21242     version = "1.10";
21244     src = fetchurl {
21245       url = "mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz";
21246       hash = "sha256-wmoAWPtK+ul+S/DbxkGJ9nEURRXERH89y1l+zQOWpko=";
21247     };
21248     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
21249     meta = {
21250       description = "HTTP/2 protocol implementation (RFC 7540)";
21251       license = with lib.licenses; [ artistic1 gpl1Plus ];
21252     };
21253   };
21255   PSGI = buildPerlPackage {
21256     pname = "PSGI";
21257     version = "1.102";
21258     src = fetchurl {
21259       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/PSGI-1.102.tar.gz";
21260       hash = "sha256-pWxEZ0CRfahpJcKfxmM7nfg5shz5j2onCGWY7ZDuH0c=";
21261     };
21262     meta = {
21263       description = "Perl Web Server Gateway Interface Specification";
21264       license = with lib.licenses; [ cc-by-sa-25 ];
21265     };
21266   };
21268   PadWalker = buildPerlPackage {
21269     pname = "PadWalker";
21270     version = "2.5";
21271     src = fetchurl {
21272       url = "mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-2.5.tar.gz";
21273       hash = "sha256-B7Jqu4QRRq8yByqNaMuQF2/7F2/ZJo5vL30Qb4F6DNA=";
21274     };
21275     meta = {
21276       description = "Play with other peoples' lexical variables";
21277       license = with lib.licenses; [ artistic1 gpl1Plus ];
21278     };
21279   };
21281   Perl6Junction = buildPerlPackage {
21282     pname = "Perl6-Junction";
21283     version = "1.60000";
21284     src = fetchurl {
21285       url = "mirror://cpan/authors/id/C/CF/CFRANKS/Perl6-Junction-1.60000.tar.gz";
21286       hash = "sha256-0CN16FGX6PkbTLLTM0rpqJ9gAi949c1gdtzU7G+ycWQ=";
21287     };
21288     meta = {
21289       description = "Perl6 style Junction operators in Perl5";
21290       license = with lib.licenses; [ artistic1 gpl1Plus ];
21291     };
21292   };
21294   PerlMinimumVersion = buildPerlPackage {
21295     pname = "Perl-MinimumVersion";
21296     version = "1.40";
21297     src = fetchurl {
21298       url = "mirror://cpan/authors/id/D/DB/DBOOK/Perl-MinimumVersion-1.40.tar.gz";
21299       hash = "sha256-dYmleMtg1wykdVw5WzWStECgzWobB05OzqyTsDGhvpA=";
21300     };
21301     buildInputs = [ TestScript ];
21302     propagatedBuildInputs = [ FileFindRulePerl PerlCritic ];
21303     meta = {
21304       description = "Find a minimum required version of perl for Perl code";
21305       homepage = "https://github.com/neilbowers/Perl-MinimumVersion";
21306       license = with lib.licenses; [ artistic1 gpl1Plus ];
21307       mainProgram = "perlver";
21308     };
21309   };
21311   PerlPrereqScanner = buildPerlPackage {
21312     pname = "Perl-PrereqScanner";
21313     version = "1.100";
21314     src = fetchurl {
21315       url = "mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.100.tar.gz";
21316       hash = "sha256-ARgdOKLnr/g40mISJWPFBja6SzZS7l0dT471uj9bGGs=";
21317     };
21318     buildInputs = [ TryTiny ];
21319     propagatedBuildInputs = [ GetoptLongDescriptive ModulePath Moo ParamsUtil PPI StringRewritePrefix TypeTiny namespaceautoclean ];
21320     meta = {
21321       description = "A tool to scan your Perl code for its prerequisites";
21322       homepage = "https://github.com/rjbs/Perl-PrereqScanner";
21323       license = with lib.licenses; [ artistic1 gpl1Plus ];
21324       mainProgram = "scan-perl-prereqs";
21325     };
21326   };
21328   PerlPrereqScannerNotQuiteLite = buildPerlPackage {
21329     pname = "Perl-PrereqScanner-NotQuiteLite";
21330     version = "0.9917";
21331     src = fetchurl {
21332       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9917.tar.gz";
21333       hash = "sha256-O6fuF9lfDJqNkqLkwYVLZKcH0cAihGIm3Q36Qvfeud0=";
21334     };
21335     propagatedBuildInputs = [ DataDump ModuleCPANfile ModuleFind RegexpTrie URIcpan ];
21336     buildInputs = [ ExtUtilsMakeMakerCPANfile ParseDistname TestFailWarnings TestUseAllModules ];
21337     meta = {
21338       description = "A tool to scan your Perl code for its prerequisites";
21339       license = with lib.licenses; [ artistic1 gpl1Plus ];
21340       mainProgram = "scan-perl-prereqs-nqlite";
21341     };
21342   };
21344   PerlVersion = buildPerlPackage {
21345     pname = "Perl-Version";
21346     version = "1.013";
21347     src = fetchurl {
21348       url = "mirror://cpan/authors/id/B/BD/BDFOY/Perl-Version-1.013.tar.gz";
21349       hash = "sha256-GIdBTRyGidhkyEARQQHgQ+mdfdW5zKaTaaYOgh460Pc=";
21350     };
21351     propagatedBuildInputs = [ FileSlurpTiny ];
21352     meta = {
21353       description = "Parse and manipulate Perl version strings";
21354       license = with lib.licenses; [ artistic1 gpl1Plus ];
21355       mainProgram = "perl-reversion";
21356     };
21357   };
21359   PodAbstract = buildPerlPackage {
21360     pname = "Pod-Abstract";
21361     version = "0.20";
21362     src = fetchurl {
21363       url = "mirror://cpan/authors/id/B/BL/BLILBURNE/Pod-Abstract-0.20.tar.gz";
21364       hash = "sha256-lW73u4hMVUVuL7bn8in5qH3VCmHXAFAMc4248ronf4c=";
21365     };
21366     propagatedBuildInputs = [ IOString TaskWeaken PodParser ];
21367     meta = {
21368       description = "An abstract, tree-based interface to perl POD documents";
21369       license = with lib.licenses; [ artistic1 gpl1Plus ];
21370       mainProgram = "paf";
21371     };
21372   };
21374   PodChecker = buildPerlPackage {
21375     pname = "Pod-Checker";
21376     version = "1.75";
21377     src = fetchurl {
21378       url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.75.tar.gz";
21379       hash = "sha256-82O1dOxmCvbtvT5dTJ/8UVodRsvxx8ytmkbO0oh5wiE=";
21380     };
21381     meta = {
21382       description = "Verifies POD documentation contents for compliance with the POD format specifications";
21383       license = with lib.licenses; [ artistic1 gpl1Plus ];
21384       mainProgram = "podchecker";
21385     };
21386   };
21388   PodCoverage = buildPerlPackage {
21389     pname = "Pod-Coverage";
21390     version = "0.23";
21391     src = fetchurl {
21392       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz";
21393       hash = "sha256-MLegsMlC9Ep1UsDTTpsfLgugtnlVxh47FYnsNpB0sQc=";
21394     };
21395     propagatedBuildInputs = [ DevelSymdump PodParser ];
21396     meta = {
21397       description = "Checks if the documentation of a module is comprehensive";
21398       license = with lib.licenses; [ artistic1 gpl1Plus ];
21399       mainProgram = "pod_cover";
21400     };
21401   };
21403   PodCoverageTrustPod = buildPerlPackage {
21404     pname = "Pod-Coverage-TrustPod";
21405     version = "0.100006";
21406     src = fetchurl {
21407       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100006.tar.gz";
21408       hash = "sha256-NYrcJQTwOetpCYqpm93mrp3JNTZKjhRPZAXoKTs6fKM=";
21409     };
21410     propagatedBuildInputs = [ PodCoverage PodEventual ];
21411     meta = {
21412       description = "Allow a module's pod to contain Pod::Coverage hints";
21413       homepage = "https://github.com/rjbs/Pod-Coverage-TrustPod";
21414       license = with lib.licenses; [ artistic1 gpl1Plus ];
21415     };
21416   };
21418   PodElemental = buildPerlPackage {
21419     pname = "Pod-Elemental";
21420     version = "0.103006";
21421     src = fetchurl {
21422       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103006.tar.gz";
21423       hash = "sha256-dQw6edjhgkdYpu99LdB33N3KUDVCuMNOzNWsu3edxCM=";
21424     };
21425     buildInputs = [ TestDeep TestDifferences ];
21426     propagatedBuildInputs = [ MooseXTypes PodEventual StringRewritePrefix StringTruncate ];
21427     meta = {
21428       description = "Work with nestable Pod elements";
21429       homepage = "https://github.com/rjbs/Pod-Elemental";
21430       license = with lib.licenses; [ artistic1 gpl1Plus ];
21431     };
21432   };
21434   PodElementalPerlMunger = buildPerlPackage {
21435     pname = "Pod-Elemental-PerlMunger";
21436     version = "0.200007";
21437     src = fetchurl {
21438       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-PerlMunger-0.200007.tar.gz";
21439       hash = "sha256-UYleTEGgeere+fJPXcSOMkWlwG40BO15yF+lzv63lak=";
21440     };
21441     buildInputs = [ TestDifferences ];
21442     propagatedBuildInputs = [ PPI PodElemental ];
21443     meta = {
21444       description = "A thing that takes a string of Perl and rewrites its documentation";
21445       homepage = "https://github.com/rjbs/Pod-Elemental-PerlMunger";
21446       license = with lib.licenses; [ artistic1 gpl1Plus ];
21447     };
21448   };
21450   PodEventual = buildPerlPackage {
21451     pname = "Pod-Eventual";
21452     version = "0.094003";
21453     src = fetchurl {
21454       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.094003.tar.gz";
21455       hash = "sha256-fwYMw00RZWzgadsGHj1g7cDKvI+JpKLcfqrpXayFbS0=";
21456     };
21457     propagatedBuildInputs = [ MixinLinewise ];
21458     buildInputs = [ TestDeep ];
21459     meta = {
21460       description = "Read a POD document as a series of trivial events";
21461       homepage = "https://github.com/rjbs/Pod-Eventual";
21462       license = with lib.licenses; [ artistic1 gpl1Plus ];
21463     };
21464   };
21466   PodParser = buildPerlPackage {
21467     pname = "Pod-Parser";
21468     version = "1.66";
21469     src = fetchurl {
21470       url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-1.66.tar.gz";
21471       hash = "sha256-IpKKe//mG0UsBbu7j1IW1LnPn+KoSbd2wlUA0k0g33w=";
21472     };
21473     meta = {
21474       description = "Modules for parsing/translating POD format documents";
21475       license = with lib.licenses; [ artistic1 ];
21476       mainProgram = "podselect";
21477     };
21478   };
21480   PodPOM = buildPerlPackage {
21481     pname = "Pod-POM";
21482     version = "2.01";
21483     src = fetchurl {
21484       url = "mirror://cpan/authors/id/N/NE/NEILB/Pod-POM-2.01.tar.gz";
21485       hash = "sha256-G1D7qbvd4+rRkr7roOrd0MYU46+xdD+m//gF9XxW9/Q=";
21486     };
21487     buildInputs = [ FileSlurper TestDifferences TextDiff ];
21488     meta = {
21489       description = "POD Object Model";
21490       homepage = "https://github.com/neilb/Pod-POM";
21491       license = with lib.licenses; [ artistic1 gpl1Plus ];
21492       mainProgram = "pom2";
21493     };
21494   };
21496   PodPOMViewTOC = buildPerlPackage {
21497     pname = "Pod-POM-View-TOC";
21498     version = "0.02";
21499     src = fetchurl {
21500       url = "mirror://cpan/authors/id/P/PE/PERLER/Pod-POM-View-TOC-0.02.tar.gz";
21501       hash = "sha256-zLQicsdQM3nLETE5RiDuUCdtcoRODoDrSwB6nVj4diM=";
21502     };
21503     propagatedBuildInputs = [ PodPOM ];
21504     meta = {
21505       description = "Generate the TOC of a POD with Pod::POM";
21506       license = with lib.licenses; [ artistic1 gpl1Plus ];
21507     };
21508   };
21510   PodSection = buildPerlModule {
21511     pname = "Pod-Section";
21512     version = "0.02";
21513     src = fetchurl {
21514       url = "mirror://cpan/authors/id/K/KT/KTAT/Pod-Section-0.02.tar.gz";
21515       hash = "sha256-ydHXUpLzIYgRhOxWmDwW9Aj9LTEtWnIPj7DSyvpykjg=";
21516     };
21517     propagatedBuildInputs = [ PodAbstract ];
21518     meta = {
21519       description = "Select specified section from Module's POD";
21520       homepage = "https://github.com/ktat/Pod-Section";
21521       license = with lib.licenses; [ artistic1 gpl1Plus ];
21522       mainProgram = "podsection";
21523     };
21524   };
21526   PodLaTeX = buildPerlModule {
21527     pname = "Pod-LaTeX";
21528     version = "0.61";
21529     src = fetchurl {
21530       url = "mirror://cpan/authors/id/T/TJ/TJENNESS/Pod-LaTeX-0.61.tar.gz";
21531       hash = "sha256-FahA6hyKds08hl+78v7DOwNhXA2qUPnIAMVODPBlnUY=";
21532     };
21533     propagatedBuildInputs = [ PodParser ];
21534     meta = {
21535       description = "Convert Pod data to formatted Latex";
21536       homepage = "https://github.com/timj/perl-Pod-LaTeX/tree/master";
21537       license = with lib.licenses; [ artistic1 gpl1Plus ];
21538       mainProgram = "pod2latex";
21539     };
21540   };
21542   podlators = buildPerlPackage {
21543     pname = "podlators";
21544     version = "5.01";
21545     src = fetchurl {
21546       url = "mirror://cpan/authors/id/R/RR/RRA/podlators-5.01.tar.gz";
21547       hash = "sha256-zP0d+fGkfwlbzm1xj61a9A94ziSR8scjlibhW3AgvHE=";
21548     };
21549     preCheck = ''
21550       # remove failing spdx check
21551       rm t/docs/spdx-license.t
21552     '';
21553     meta = {
21554       description = "Convert POD data to various other formats";
21555       homepage = "https://www.eyrie.org/~eagle/software/podlators";
21556       license = with lib.licenses; [ artistic1 gpl1Plus ];
21557     };
21558   };
21560   podlinkcheck = buildPerlPackage {
21561     pname = "podlinkcheck";
21562     version = "15";
21563     src = fetchurl {
21564       url = "mirror://cpan/authors/id/K/KR/KRYDE/podlinkcheck-15.tar.gz";
21565       hash = "sha256-Tjvr7Bv4Lb+FCpSuJqJTZEz1gG7EGvx05D4XEKNzIds=";
21566     };
21567     propagatedBuildInputs = [ FileFindIterator FileHomeDir IPCRun PodParser constant-defer libintl-perl ];
21568     meta = {
21569       description = "Check POD L<> link references";
21570       homepage = "https://user42.tuxfamily.org/podlinkcheck/index.html";
21571       license = with lib.licenses; [ gpl3Plus ];
21572     };
21573   };
21575   prefork = buildPerlPackage {
21576     pname = "prefork";
21577     version = "1.05";
21578     src = fetchurl {
21579       url = "mirror://cpan/authors/id/E/ET/ETHER/prefork-1.05.tar.gz";
21580       hash = "sha256-bYe836Y7KM78+ocIA6UZtlkOPqGcMA+YzssOGQuxkwU=";
21581     };
21582     meta = {
21583       description = "Optimized module loading for forking or non-forking processes";
21584       homepage = "https://github.com/karenetheridge/prefork";
21585       license = with lib.licenses; [ artistic1 gpl1Plus ];
21586     };
21587   };
21589   PodPerldoc = buildPerlPackage {
21590     pname = "Pod-Perldoc";
21591     version = "3.28";
21592     src = fetchurl {
21593       url = "mirror://cpan/authors/id/M/MA/MALLEN/Pod-Perldoc-3.28.tar.gz";
21594       hash = "sha256-zEHmBbjhPECo7mUE/0Y0e1un+9kiA7O7BVQiBRvvxk0=";
21595     };
21596     meta = {
21597       description = "Look up Perl documentation in Pod format";
21598       license = with lib.licenses; [ artistic1 gpl1Plus ];
21599       mainProgram = "perldoc";
21600     };
21601   };
21603   PodPlainer = buildPerlPackage {
21604     pname = "Pod-Plainer";
21605     version = "1.04";
21606     src = fetchurl {
21607       url = "mirror://cpan/authors/id/R/RM/RMBARKER/Pod-Plainer-1.04.tar.gz";
21608       hash = "sha256-G7+/fR1IceWoO6shN+ItCJB4IGgVGQ6x1cEmCjSZRW8=";
21609     };
21610     propagatedBuildInputs = [ PodParser ];
21611     meta = {
21612       description = "Perl extension for converting Pod to old-style Pod";
21613       license = with lib.licenses; [ artistic1 gpl1Plus ];
21614     };
21615   };
21617   PodMarkdown = buildPerlPackage {
21618     pname = "Pod-Markdown";
21619     version = "3.300";
21620     src = fetchurl {
21621       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.300.tar.gz";
21622       hash = "sha256-7HnpkIo2BXScT+tQVHY+toEt0ztUzoWlEzmqfPmZG3k=";
21623     };
21624     buildInputs = [ TestDifferences ];
21625     propagatedBuildInputs = [ URI ];
21626     meta = {
21627       description = "Convert POD to Markdown";
21628       homepage = "https://github.com/rwstauner/Pod-Markdown";
21629       license = with lib.licenses; [ artistic1 gpl1Plus ];
21630       mainProgram = "pod2markdown";
21631     };
21632   };
21634   PodMarkdownGithub = buildPerlPackage {
21635     pname = "Pod-Markdown-Github";
21636     version = "0.04";
21637     src = fetchurl {
21638       url = "mirror://cpan/authors/id/M/MI/MINIMAL/Pod-Markdown-Github-0.04.tar.gz";
21639       hash = "sha256-s34vAJxMzkkk+yPuQxRuUGcilxvqa87S2sFdCAo7xhM=";
21640     };
21641     propagatedBuildInputs = [ PodMarkdown ];
21642     buildInputs = [ TestDifferences ];
21643     meta = {
21644       description = "Convert POD to Github's specific markdown";
21645       license = with lib.licenses; [ artistic1 gpl1Plus ];
21646       mainProgram = "pod2github";
21647     };
21648   };
21650   PodSimple = buildPerlPackage {
21651     pname = "Pod-Simple";
21652     version = "3.45";
21653     src = fetchurl {
21654       url = "mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.45.tar.gz";
21655       hash = "sha256-hIO7lc0+QwfWbe8JKjd5+EOvdySCv9wCTj4A0MTbDPo=";
21656     };
21657     meta = {
21658       description = "Framework for parsing Pod";
21659       license = with lib.licenses; [ artistic1 gpl1Plus ];
21660     };
21661   };
21663   PodSpell = buildPerlPackage {
21664     pname = "Pod-Spell";
21665     version = "1.26";
21666     src = fetchurl {
21667       url = "mirror://cpan/authors/id/H/HA/HAARG/Pod-Spell-1.26.tar.gz";
21668       hash = "sha256-LwW/yc+wS5b8v6LIVE0eaukIWW02lsRuDiZVa3UK+78=";
21669     };
21670     propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny PodParser ];
21671     buildInputs = [ FileShareDirInstall TestDeep ];
21672     meta = {
21673       description = "A formatter for spellchecking Pod";
21674       homepage = "https://github.com/perl-pod/Pod-Spell";
21675       license = with lib.licenses; [ artistic2 ];
21676       mainProgram = "podspell";
21677     };
21678   };
21680   PodStrip = buildPerlModule {
21681     pname = "Pod-Strip";
21682     version = "1.100";
21683     src = fetchurl {
21684       url = "mirror://cpan/authors/id/D/DO/DOMM/Pod-Strip-1.100.tar.gz";
21685       hash = "sha256-Z1BqZh+pyuzv57pPQvC8FbCm8JZ8eWB3QPbLaXSu1M0=";
21686     };
21687     meta = {
21688       description = "Remove POD from Perl code";
21689       homepage = "https://github.com/domm/Pod-Strip";
21690       license = with lib.licenses; [ artistic1 gpl1Plus ];
21691     };
21692   };
21694   PodTidy = buildPerlModule {
21695     pname = "Pod-Tidy";
21696     version = "0.10";
21697     src = fetchurl {
21698       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/Pod-Tidy-0.10.tar.gz";
21699       hash = "sha256-iG7hQ+p81Tm0O+16KHmJ0Wc211y/ofheLMzq+eiVnb0=";
21700     };
21701     propagatedBuildInputs = [ EncodeNewlines IOString PodWrap TextGlob ];
21702     buildInputs = [ TestCmd ];
21703     meta = {
21704       description = "A reformatting Pod Processor";
21705       license = with lib.licenses; [ artistic1 gpl1Plus ];
21706       mainProgram = "podtidy";
21707     };
21708   };
21710   PodWeaver = buildPerlPackage {
21711     pname = "Pod-Weaver";
21712     version = "4.019";
21713     src = fetchurl {
21714       url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.019.tar.gz";
21715       hash = "sha256-aUatHwTq+aoR8kzFRJTh1Xli9Y4FkS82S3T5WT595/c=";
21716     };
21717     buildInputs = [ PPI SoftwareLicense TestDifferences ];
21718     propagatedBuildInputs = [ ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli PodElemental ];
21719     meta = {
21720       description = "Weave together a Pod document from an outline";
21721       homepage = "https://github.com/rjbs/Pod-Weaver";
21722       license = with lib.licenses; [ artistic1 gpl1Plus ];
21723     };
21724   };
21726   PodWrap = buildPerlModule {
21727     pname = "Pod-Wrap";
21728     version = "0.01";
21729     src = fetchurl {
21730       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Pod-Wrap-0.01.tar.gz";
21731       hash = "sha256-UMrL4v/7tccNG6XpQn1cit7mGENuxz+W7QU5Iy4si2M=";
21732     };
21733     propagatedBuildInputs = [ PodParser ];
21734     meta = {
21735       description = "Wrap pod paragraphs, leaving verbatim text and code alone";
21736       license = with lib.licenses; [ artistic1 gpl1Plus ];
21737       mainProgram = "podwrap";
21738     };
21739   };
21741   ProbePerl = buildPerlPackage {
21742     pname = "Probe-Perl";
21743     version = "0.03";
21744     src = fetchurl {
21745       url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Probe-Perl-0.03.tar.gz";
21746       hash = "sha256-2eTSHi53Y4VZBF+gkEaxtv/2xAO5SZKdshPjCr6KPDE=";
21747     };
21748     meta = {
21749       description = "Information about the currently running perl";
21750       license = with lib.licenses; [ artistic1 gpl1Plus ];
21751     };
21752   };
21754   POSIXAtFork = buildPerlPackage {
21755     pname = "POSIX-AtFork";
21756     version = "0.04";
21757     src = fetchurl {
21758       url = "mirror://cpan/authors//id/N/NI/NIKOLAS/POSIX-AtFork-0.04.tar.gz";
21759       hash = "sha256-wuIpOobUhxRLyPe6COfEt2sRsOTf3EGAmEXTDvoH5g4=";
21760     };
21761     buildInputs = [ TestSharedFork ];
21762     meta = {
21763       description = "Hook registrations at fork(2)";
21764       license = with lib.licenses; [ artistic1 gpl1Plus ];
21765     };
21766   };
21768   POSIXstrftimeCompiler = buildPerlModule {
21769     pname = "POSIX-strftime-Compiler";
21770     version = "0.44";
21771     src = fetchurl {
21772       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/POSIX-strftime-Compiler-0.44.tar.gz";
21773       hash = "sha256-39PJc5jc/lHII2uF49woA1Znt2Ux96oKZTXzqlQFs1o=";
21774     };
21775     # We cannot change timezones on the fly.
21776     prePatch = "rm t/04_tzset.t";
21777     buildInputs = [ ModuleBuildTiny ];
21778     meta = {
21779       description = "GNU C library compatible strftime for loggers and servers";
21780       homepage = "https://github.com/kazeburo/POSIX-strftime-Compiler";
21781       license = with lib.licenses; [ artistic1 gpl1Plus ];
21782       broken = stdenv.hostPlatform.isMusl; # Broken for Musl at 2023-01-14, reports:
21783                # Nixpkgs: https://github.com/NixOS/nixpkgs/issues/210749
21784                # Upstream: https://github.com/kazeburo/POSIX-strftime-Compiler/issues/8
21785     };
21786   };
21788   Apprainbarf = buildPerlModule {
21789     pname = "App-rainbarf";
21790     version = "1.4";
21791     src = fetchurl {
21792       url = "mirror://cpan/authors/id/S/SY/SYP/App-rainbarf-1.4.tar.gz";
21793       hash = "sha256-TxOa01+q8t4GI9wLsd2J+lpDHlSL/sh97hlM8OJcyX0=";
21794     };
21795     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
21796     postInstall = lib.optionalString stdenv.isDarwin ''
21797       shortenPerlShebang $out/bin/rainbarf
21798     '';
21799     meta = {
21800       description = "CPU/RAM/battery stats chart bar for tmux (and GNU screen)";
21801       homepage = "https://github.com/creaktive/rainbarf";
21802       license = with lib.licenses; [ artistic1 gpl1Plus ];
21803       mainProgram = "rainbarf";
21804     };
21805   };
21807   Razor2ClientAgent = buildPerlPackage {
21808     pname = "Razor2-Client-Agent";
21809     version = "2.86";
21810     src = fetchurl {
21811       url = "mirror://cpan/authors/id/T/TO/TODDR/Razor2-Client-Agent-2.86.tar.gz";
21812       hash = "sha256-XgYuAuu2XiS3COfu+lMAxD1vZXvyDQj+xMqKCjuUhF8=";
21813     };
21814     propagatedBuildInputs = [ DigestSHA1 URI ];
21815     meta = {
21816       description = "Collaborative, content-based spam filtering network agent";
21817       homepage = "https://razor.sourceforge.net/";
21818       license = with lib.licenses; [ artistic1 gpl1Plus ];
21819     };
21820   };
21823   Readonly = buildPerlModule {
21824     pname = "Readonly";
21825     version = "2.05";
21826     src = fetchurl {
21827       url = "mirror://cpan/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz";
21828       hash = "sha256-SyNUJJGvAQ1EpcfIYSRHOKzHSrq65riDjTVN+xlGK14=";
21829     };
21830     buildInputs = [ ModuleBuildTiny ];
21831     meta = {
21832       description = "Facility for creating read-only scalars, arrays, hashes";
21833       homepage = "https://github.com/sanko/readonly";
21834       license = with lib.licenses; [ artistic2 ];
21835     };
21836   };
21838   ReadonlyX = buildPerlModule {
21839     pname = "ReadonlyX";
21840     version = "1.04";
21841     src = fetchurl {
21842       url = "mirror://cpan/authors/id/S/SA/SANKO/ReadonlyX-1.04.tar.gz";
21843       hash = "sha256-gbuX26k6xrXMvOBKQsNZDrBFV9dQGHc+4Y1aMPz0gYg=";
21844     };
21845     buildInputs = [ ModuleBuildTiny TestFatal ];
21846     meta = {
21847       description = "Faster facility for creating read-only scalars, arrays, hashes";
21848       homepage = "https://github.com/sanko/readonly";
21849       license = with lib.licenses; [ artistic2 ];
21850     };
21851   };
21853   ReadonlyXS = buildPerlPackage {
21854     pname = "Readonly-XS";
21855     version = "1.05";
21856     src = fetchurl {
21857       url = "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-1.05.tar.gz";
21858       hash = "sha256-iuXE6FKZ5ci93RsZby7qOPAHCeDcDLYEVNyRFK4//w0=";
21859     };
21860     propagatedBuildInputs = [ Readonly ];
21861     meta = {
21862       description = "Companion module for Readonly.pm, to speed up read-only scalar variables";
21863       license = with lib.licenses; [ artistic1 gpl1Plus ];
21864     };
21865   };
21867   Redis = buildPerlModule {
21868     pname = "Redis";
21869     version = "2.000";
21870     src = fetchurl {
21871       url = "mirror://cpan/authors/id/D/DA/DAMS/Redis-2.000.tar.gz";
21872       hash = "sha256-FMuJl5chJhW06T+Rbcva+0jQHF6qsgOP5ssXm/lcb+s=";
21873     };
21874     buildInputs = [ IOString ModuleBuildTiny TestDeep TestFatal TestSharedFork TestTCP ];
21875     propagatedBuildInputs = [ IOSocketTimeout TryTiny ];
21876     meta = {
21877       description = "Perl binding for Redis database";
21878       homepage = "https://github.com/PerlRedis/perl-redis";
21879       license = with lib.licenses; [ artistic2 ];
21880     };
21881   };
21883   RefUtil = buildPerlPackage {
21884     pname = "Ref-Util";
21885     version = "0.204";
21886     src = fetchurl {
21887       url = "mirror://cpan/authors/id/A/AR/ARC/Ref-Util-0.204.tar.gz";
21888       hash = "sha256-QV+nPbrPRPPV15wUiIzJlFYnIKtGjm9x+RzR92nxBeE=";
21889     };
21890     meta = {
21891       description = "Utility functions for checking references";
21892       license = with lib.licenses; [ mit ];
21893     };
21894   };
21896   RegexpAssemble = buildPerlPackage {
21897     pname = "Regexp-Assemble";
21898     version = "0.38";
21899     src = fetchurl {
21900       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Regexp-Assemble-0.38.tgz";
21901       hash = "sha256-oGvn+a4bc8m/1bZmKxQcDXBGnpwZu0QTpu5W+Cra5EI=";
21902     };
21903     meta = {
21904       description = "Assemble multiple Regular Expressions into a single RE";
21905       license = with lib.licenses; [ artistic1 gpl1Plus ];
21906     };
21907   };
21909   RegexpCommon = buildPerlPackage {
21910     pname = "Regexp-Common";
21911     version = "2017060201";
21912     src = fetchurl {
21913       url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz";
21914       hash = "sha256-7geFOu4G8xDgQLa/GgGZoY2BiW0yGbmzXJYw0OtpCJs=";
21915     };
21916     meta = {
21917       description = "Provide commonly requested regular expressions";
21918       license = with lib.licenses; [ mit ];
21919     };
21920   };
21922   RegexpCommonnetCIDR = buildPerlPackage {
21923     pname = "Regexp-Common-net-CIDR";
21924     version = "0.03";
21925     src = fetchurl {
21926       url = "mirror://cpan/authors/id/B/BP/BPS/Regexp-Common-net-CIDR-0.03.tar.gz";
21927       hash = "sha256-OWBqV6qyDU9EaDAPLsP6KrVX/MnLeIDsfG4H2AFi2jM=";
21928     };
21929     propagatedBuildInputs = [ RegexpCommon ];
21930     meta = {
21931       description = "Provide patterns for CIDR blocks";
21932       license = with lib.licenses; [ artistic1 gpl1Plus ];
21933     };
21934   };
21936   RegexpCommontime = buildPerlPackage {
21937     pname = "Regexp-Common-time";
21938     version = "0.16";
21939     src = fetchurl {
21940       url = "mirror://cpan/authors/id/M/MA/MANWAR/Regexp-Common-time-0.16.tar.gz";
21941       hash = "sha256-HIEHpQq1XHK/ePsRbJGIxM3xYsGGwVhsH5qu5V/xSso=";
21942     };
21943     propagatedBuildInputs = [ RegexpCommon ];
21944     meta = {
21945       description = "Date and time regexps";
21946       homepage = "https://github.com/manwar/Regexp-Common-time";
21947       license = with lib.licenses; [ artistic2 mit bsd3 ];
21948       maintainers = [ maintainers.artturin ];
21949     };
21950   };
21952   RegexpGrammars = buildPerlModule {
21953     pname = "Regexp-Grammars";
21954     version = "1.058";
21955     src = fetchurl {
21956       url = "mirror://cpan/authors/id/D/DC/DCONWAY/Regexp-Grammars-1.058.tar.gz";
21957       hash = "sha256-6ojVjiUWdPrjm0n007U0LqzLj8tVhWzTBKoaX/PUHJI=";
21958     };
21959     meta = {
21960       description = "Add grammatical parsing features to Perl 5.10 regexes";
21961       license = with lib.licenses; [ artistic1 gpl1Plus ];
21962     };
21963   };
21965   RegexpIPv6 = buildPerlPackage {
21966     pname = "Regexp-IPv6";
21967     version = "0.03";
21968     src = fetchurl {
21969       url = "mirror://cpan/authors/id/S/SA/SALVA/Regexp-IPv6-0.03.tar.gz";
21970       hash = "sha256-1ULRfXXOk2Md6LohVtoOC1inVcQJzUoNJ6OHOiZxLOI=";
21971     };
21972     meta = {
21973       description = "Regular expression for IPv6 addresses";
21974       license = with lib.licenses; [ artistic1 gpl1Plus ];
21975     };
21976   };
21978   RegexpParser = buildPerlPackage {
21979     pname = "Regexp-Parser";
21980     version = "0.23";
21981     src = fetchurl {
21982       url = "mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.23.tar.gz";
21983       hash = "sha256-9znauN8rBqrlxI+ZcSUbc3BEZKMtB9jQJfPA+GlUTok=";
21984     };
21985     meta = {
21986       description = "Base class for parsing regexes";
21987       homepage = "https://wiki.github.com/toddr/Regexp-Parser";
21988       license = with lib.licenses; [ artistic1 gpl1Plus ];
21989     };
21990   };
21992   RegexpTrie = buildPerlPackage {
21993     pname = "Regexp-Trie";
21994     version = "0.02";
21995     src = fetchurl {
21996       url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Regexp-Trie-0.02.tar.gz";
21997       hash = "sha256-+yv5TtjbwfSpXZ/I9xDLZ7P3lsbvycS7TCz6Prqhxfo=";
21998     };
21999     meta = {
22000       description = "Builds trie-ized regexp";
22001       license = with lib.licenses; [ artistic1 gpl1Plus ];
22002     };
22003   };
22005   RESTClient = buildPerlPackage {
22006     pname = "REST-Client";
22007     version = "281";
22008     src = fetchurl {
22009       url = "mirror://cpan/authors/id/A/AK/AKHUETTEL/REST-Client-281.tar.gz";
22010       hash = "sha256-+hDSGgA35oJgHv5mc4p1j/dSEJSqASKek8iIpnmyyPY=";
22011     };
22012     propagatedBuildInputs = [ LWPProtocolHttps ];
22013     meta = {
22014       description = "A simple client for interacting with RESTful http/https resources";
22015       homepage = "https://github.com/milescrawford/cpan-rest-client";
22016       license = with lib.licenses; [ artistic1 gpl1Plus ];
22017     };
22018   };
22020   RESTUtils = buildPerlModule {
22021     pname = "REST-Utils";
22022     version = "0.6";
22023     src = fetchurl {
22024       url = "mirror://cpan/authors/id/J/JA/JALDHAR/REST-Utils-0.6.tar.gz";
22025       hash = "sha256-1OlK3YetMf71h8RxFceIx88+EiyS85YyWuLmEsZwuf0=";
22026     };
22027     buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
22028     meta = {
22029       description = "Utility functions for REST applications";
22030       homepage = "https://jaldhar.github.com/REST-Utils";
22031       license = with lib.licenses; [ artistic1 gpl1Plus ];
22032     };
22033   };
22035   RpcXML = buildPerlPackage {
22036     pname = "RPC-XML";
22037     version = "0.82";
22038     src = fetchurl {
22039       url = "mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.82.tar.gz";
22040       hash = "sha256-UnnrDRNsUz/4l/aTTDqtbyBQS5l/smBuUsXbvZJ1jnM=";
22041     };
22042     propagatedBuildInputs = [ XMLParser ];
22043     doCheck = false;
22044     meta = {
22045       description = "Data, client and server classes for XML-RPC";
22046       homepage = "https://github.com/rjray/rpc-xml";
22047       license = with lib.licenses; [ artistic1 gpl1Plus ];
22048       mainProgram = "make_method";
22049     };
22050   };
22052   ReturnValue = buildPerlPackage {
22053     pname = "Return-Value";
22054     version = "1.666005";
22055     src = fetchurl {
22056       url = "mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666005.tar.gz";
22057       hash = "sha256-jiJgqWUx6TaGIAuciFDr4AXYjONp/2vHD/GnQFt1UKw=";
22058     };
22059     meta = {
22060       description = "Create context-sensitive return values";
22061       license = with lib.licenses; [ artistic1 gpl1Plus ];
22062     };
22063   };
22065   RoleBasic = buildPerlModule {
22066     pname = "Role-Basic";
22067     version = "0.13";
22068     src = fetchurl {
22069       url = "mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz";
22070       hash = "sha256-OKCVnvnxk/925ywyWp6SEbxIaGib0OKwBXePU/i282o=";
22071     };
22072     meta = {
22073       description = "Just roles. Nothing else";
22074       license = with lib.licenses; [ artistic1 gpl1Plus ];
22075     };
22076   };
22078   RoleHasMessage = buildPerlPackage {
22079     pname = "Role-HasMessage";
22080     version = "0.007";
22081     src = fetchurl {
22082       url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.007.tar.gz";
22083       hash = "sha256-XiZ6TXYgs2hIEgTIjqIES4sqWP+LBVd/JxeydUwEFM4=";
22084     };
22085     propagatedBuildInputs = [ MooseXRoleParameterized StringErrf ];
22086     meta = {
22087       description = "A thing with a message method";
22088       homepage = "https://github.com/rjbs/Role-HasMessage";
22089       license = with lib.licenses; [ artistic1 gpl1Plus ];
22090     };
22091   };
22093   RoleHooks = buildPerlPackage {
22094     pname = "Role-Hooks";
22095     version = "0.008";
22096     src = fetchurl {
22097       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Role-Hooks-0.008.tar.gz";
22098       hash = "sha256-KNZuoKjcMGt22oP/CHlJPYCPcxhbz5xO03LzlG+1Q+w=";
22099     };
22100     buildInputs = [ TestRequires ];
22101     propagatedBuildInputs = [ ClassMethodModifiers ];
22102     meta = {
22103       homepage = "https://metacpan.org/release/Role-Hooks";
22104       description = "Role callbacks";
22105       license = with lib.licenses; [ artistic1 gpl1Plus ];
22106     };
22107   };
22109   RoleIdentifiable = buildPerlPackage {
22110     pname = "Role-Identifiable";
22111     version = "0.009";
22112     src = fetchurl {
22113       url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.009.tar.gz";
22114       hash = "sha256-WnNen3F3+euuBH63uuKbfsKewCCuN2N66lNQ0wwIe3Y=";
22115     };
22116     propagatedBuildInputs = [ Moose ];
22117     meta = {
22118       description = "A thing you can identify somehow";
22119       homepage = "https://github.com/rjbs/Role-Identifiable";
22120       license = with lib.licenses; [ artistic1 gpl1Plus ];
22121     };
22122   };
22124   RoleTiny = buildPerlPackage {
22125     pname = "Role-Tiny";
22126     version = "2.002004";
22127     src = fetchurl {
22128       url = "mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.002004.tar.gz";
22129       hash = "sha256-173unhOKT4OqUtCpgWJWRL2of/FmQt+oRdy0TZokK0U=";
22130     };
22131     meta = {
22132       description = "Roles: a nouvelle cuisine portion size slice of Moose";
22133       license = with lib.licenses; [ artistic1 gpl1Plus ];
22134     };
22135   };
22137   RPCEPCService = buildPerlModule {
22138     pname = "RPC-EPC-Service";
22139     version = "0.0.11";
22140     src = fetchurl {
22141       url = "mirror://cpan/authors/id/K/KI/KIWANAMI/RPC-EPC-Service-v0.0.11.tar.gz";
22142       hash = "sha256-l19BNDZSWPtH+pIZGQU1E625EB8r1CD87+NF8gkSi+M=";
22143     };
22144     propagatedBuildInputs = [ AnyEvent DataSExpression ];
22145     meta = {
22146       description = "An Asynchronous Remote Procedure Stack";
22147       license = with lib.licenses; [ artistic1 gpl1Plus ];
22148     };
22149   };
22151     RPM2 = buildPerlModule {
22152     pname = "RPM2";
22153     version = "1.4";
22154     src = fetchurl {
22155       url = "mirror://cpan/authors/id/L/LK/LKUNDRAK/RPM2-1.4.tar.gz";
22156       hash = "sha256-XstCqmkyTm9AiKv64HMTkG5aq/L0bxIE8/HeWRVbtjY=";
22157     };
22158     nativeBuildInputs = [ pkgs.pkg-config ];
22159     buildInputs = [ pkgs.rpm ];
22160     doCheck = false; # Tries to open /var/lib/rpm
22161     meta = {
22162       description = "Perl bindings for the RPM Package Manager API";
22163       license = with lib.licenses; [ artistic1 gpl1Plus ];
22164       platforms = lib.platforms.linux;
22165     };
22166   };
22168   RSSParserLite = buildPerlPackage {
22169     pname = "RSS-Parser-Lite";
22170     version = "0.12";
22171     src = fetchurl {
22172       url = "mirror://cpan/authors/id/T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz";
22173       hash = "sha256-idw0vKixqp/uC8QK7d5eLBYCL8eYssOryH3gczG5lbk=";
22174     };
22175     propagatedBuildInputs = [ locallib ];
22176     doCheck = false; /* creates files in HOME */
22177     meta = {
22178       description = "A simple pure perl RSS parser";
22179       license = with lib.licenses; [ artistic1 gpl1Plus ];
22180     };
22181   };
22183   RTClientREST = buildPerlModule {
22184     pname = "RT-Client-REST";
22185     version = "0.72";
22186     src = fetchurl {
22187       url = "mirror://cpan/authors/id/D/DJ/DJZORT/RT-Client-REST-0.72.tar.gz";
22188       hash = "sha256-KPIBWKD3sfNLdM423lvdVimeuUAUBHLISXyVNYIm/bM=";
22189     };
22190     buildInputs = [ CGI HTTPServerSimple TestException ];
22191     propagatedBuildInputs = [ DateTimeFormatDateParse Error LWP ParamsValidate ];
22192     meta = {
22193       description = "Client for RT using REST API";
22194       homepage = "https://github.com/RT-Client-REST/RT-Client-REST";
22195       license = with lib.licenses; [ artistic1 gpl1Plus ];
22196     };
22197   };
22199   SafeIsa = buildPerlPackage {
22200     pname = "Safe-Isa";
22201     version = "1.000010";
22202     src = fetchurl {
22203       url = "mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000010.tar.gz";
22204       hash = "sha256-h/QUiqD/HV5lJyMyLqt9r6OAHJZ9b5GskUejxGe4pmo=";
22205     };
22206     meta = {
22207       description = "Call isa, can, does and DOES safely on things that may not be objects";
22208       license = with lib.licenses; [ artistic1 gpl1Plus ];
22209     };
22210   };
22212   ScalarListUtils = buildPerlPackage {
22213     pname = "Scalar-List-Utils";
22214     version = "1.63";
22215     src = fetchurl {
22216       url = "mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.63.tar.gz";
22217       hash = "sha256-yvvfIS9oJ9yaDdO1e27lDoYFhtcZgiijMmLVXFWesqk=";
22218     };
22219     meta = {
22220       description = "Common Scalar and List utility subroutines";
22221       license = with lib.licenses; [ artistic1 gpl1Plus ];
22222     };
22223   };
22225   ScalarString = buildPerlModule {
22226     pname = "Scalar-String";
22227     version = "0.003";
22228     src = fetchurl {
22229       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-0.003.tar.gz";
22230       hash = "sha256-9UoXybeHE7AsxDrfrfYLSUZ+djTTExfouenpfCbWi1I=";
22231     };
22232     meta = {
22233       description = "String aspects of scalars";
22234       license = with lib.licenses; [ artistic1 gpl1Plus ];
22235     };
22236   };
22238   ScalarType = buildPerlPackage {
22239     pname = "Scalar-Type";
22240     version = "0.3.2";
22241     src = fetchurl {
22242       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Scalar-Type-0.3.2.tar.gz";
22243       hash = "sha256-WQyv6gz1RZmSoEiFYsDb1vnfdYtfAH8OQ6uhMLRe7oY=";
22244     };
22245     propagatedBuildInputs = [ CaptureTiny TestException ];
22246     meta = {
22247       description = "Figure out what type a scalar is";
22248       license = with lib.licenses; [ artistic1 gpl2Only ];
22249     };
22250   };
22252   SCGI = buildPerlModule {
22253     pname = "SCGI";
22254     version = "0.6";
22255     src = fetchurl {
22256       url = "mirror://cpan/authors/id/V/VI/VIPERCODE/SCGI-0.6.tar.gz";
22257       hash = "sha256-WLeMWvTuReQ38Hro87DZRckf0sAlFW7pFtgRWA+R2aQ=";
22258     };
22259     preConfigure = "export HOME=$(mktemp -d)";
22260     meta = {
22261       description = "This module is for implementing an SCGI interface for an application server";
22262       license = with lib.licenses; [ artistic1 gpl1Plus ];
22263     };
22264   };
22266   ScopeGuard = buildPerlPackage {
22267     pname = "Scope-Guard";
22268     version = "0.21";
22269     src = fetchurl {
22270       url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz";
22271       hash = "sha256-jJsb6lxWRI4sP63GXQW+nkaQo4I6gPOdLxD92Pd30ng=";
22272     };
22273     meta = {
22274       description = "Lexically-scoped resource management";
22275       license = with lib.licenses; [ artistic1 gpl1Plus ];
22276     };
22277   };
22279   ScopeUpper = buildPerlPackage {
22280     pname = "Scope-Upper";
22281     version = "0.34";
22282     src = fetchurl {
22283       url = "mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.34.tar.gz";
22284       hash = "sha256-WB2LxRDevQxFal/HlSy3E4rmZ78486d+ltdz3DGWpB4=";
22285     };
22286     meta = {
22287       description = "Act on upper scopes";
22288       homepage = "https://search.cpan.org/dist/Scope-Upper";
22289       license = with lib.licenses; [ artistic1 gpl1Plus ];
22290     };
22291   };
22293   SDL = buildPerlModule {
22294     pname = "SDL";
22295     version = "2.548";
22296     src = fetchurl {
22297       url = "mirror://cpan/authors/id/F/FR/FROGGS/SDL-2.548.tar.gz";
22298       hash = "sha256-JSoZK/qcIHCkiDcH0TnDpF2cRRjM1moeaZtbeVm9T7U=";
22299     };
22300     patches = [
22301       # https://github.com/PerlGameDev/SDL/pull/304
22302       ../development/perl-modules/sdl-modern-perl.patch
22303     ];
22304     perlPreHook = "export LD=$CC";
22305     preCheck = "rm t/core_audiospec.t";
22306     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 ];
22307     propagatedBuildInputs = [ FileShareDir TieSimple ];
22308     meta = {
22309       description = "SDL bindings to Perl";
22310       license = with lib.licenses; [ lgpl21Plus ];
22311     };
22312   };
22314   SearchXapian = buildPerlPackage rec {
22315     pname = "Search-Xapian";
22316     version = "1.2.25.5";
22317     src = fetchurl {
22318       url = "mirror://cpan/authors/id/O/OL/OLLY/Search-Xapian-1.2.25.5.tar.gz";
22319       hash = "sha256-IE+9xxLWcR/6tmjB9M/AB7Y5qftkrX4ZyyD8EKkQuos=";
22320     };
22321     buildInputs = [ pkgs.xapian DevelLeak ];
22322     meta = {
22323       description = "Perl XS frontend to the Xapian C++ search library";
22324       homepage = "https://xapian.org";
22325       license = with lib.licenses; [ artistic1 gpl1Plus ];
22326     };
22327   };
22329   SerealDecoder = buildPerlPackage {
22330     pname = "Sereal-Decoder";
22331     version = "5.004";
22332     src = fetchurl {
22333       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Decoder-5.004.tar.gz";
22334       hash = "sha256-aO8DFNh9Gm5guw9m/PQ+ssrN6xdUQy9eJeeE450+Z4Q=";
22335     };
22336     buildInputs = [ TestDeep TestDifferences TestLongString TestWarn ];
22337     preBuild = "ls";
22338     meta = {
22339       description = "Fast, compact, powerful binary deserialization";
22340       homepage = "https://github.com/Sereal/Sereal";
22341       license = with lib.licenses; [ artistic1 gpl1Plus ];
22342       maintainers = [ maintainers.thoughtpolice ];
22343     };
22344   };
22346   SerealEncoder = buildPerlPackage {
22347     pname = "Sereal-Encoder";
22348     version = "5.004";
22349     src = fetchurl {
22350       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Encoder-5.004.tar.gz";
22351       hash = "sha256-XlqGzNMtrjTtgJMuy+XGjil1K13g6bCnk6t+sspVyxs=";
22352     };
22353     buildInputs = [ SerealDecoder TestDeep TestDifferences TestLongString TestWarn ];
22354     meta = {
22355       description = "Fast, compact, powerful binary serialization";
22356       homepage = "https://github.com/Sereal/Sereal";
22357       license = with lib.licenses; [ artistic1 gpl1Plus ];
22358       maintainers = [ maintainers.thoughtpolice ];
22359     };
22360   };
22362   Sereal = buildPerlPackage {
22363     pname = "Sereal";
22364     version = "5.004";
22365     src = fetchurl {
22366       url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-5.004.tar.gz";
22367       hash = "sha256-nCW7euS9c20ksa0dk9dzlbDGXKh0HiZr/Ay+VCJh128=";
22368     };
22369     buildInputs = [ TestDeep TestLongString TestWarn ];
22370     propagatedBuildInputs = [ SerealDecoder SerealEncoder ];
22371     meta = {
22372       description = "Fast, compact, powerful binary (de-)serialization";
22373       license = with lib.licenses; [ artistic1 gpl1Plus ];
22374       maintainers = [ maintainers.thoughtpolice ];
22375     };
22376   };
22378   DeviceSerialPort = buildPerlPackage rec {
22379     pname = "Device-SerialPort";
22380     version = "1.04";
22381     src = fetchurl {
22382       url = "mirror://cpan/authors/id/C/CO/COOK/Device-SerialPort-1.04.tar.gz";
22383       hash = "sha256-05JWfLObTqYGwOCsr9jtcjIDEbmVM27OX878+bFQ6dc=";
22384     };
22385     meta = {
22386       description = "Linux/POSIX emulation of Win32::SerialPort functions.";
22387       license = with lib.licenses; [ artistic1 gpl1Plus ];
22388       mainProgram = "modemtest";
22389     };
22390   };
22392   ServerStarter = buildPerlModule {
22393     pname = "Server-Starter";
22394     version = "0.35";
22395     src = fetchurl {
22396       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.35.tar.gz";
22397       hash = "sha256-Z23A1s/0ZIU4Myxjwy+4itCe2GghPqnmLj8Z+tQbnEA=";
22398     };
22399     buildInputs = [ TestRequires TestSharedFork TestTCP ];
22400     doCheck = false; # Tests are slow and unstable
22401     meta = {
22402       description = "A superdaemon for hot-deploying server programs";
22403       homepage = "https://github.com/kazuho/p5-Server-Starter";
22404       license = with lib.licenses; [ artistic1 gpl1Plus ];
22405       mainProgram = "start_server";
22406     };
22407   };
22409   SessionToken = buildPerlPackage rec {
22410     pname = "Session-Token";
22411     version = "1.503";
22412     src = fetchurl {
22413       url = "mirror://cpan/authors/id/F/FR/FRACTAL/Session-Token-1.503.tar.gz";
22414       hash = "sha256-MsPflu9FXHGHA2Os2VDdxPvISMWU9LxVshtEz5efeaE=";
22415     };
22416     patches = [
22417       # Add final null-byte to tokens. https://github.com/hoytech/Session-Token/pull/3
22418       (fetchpatch {
22419         url = "https://github.com/hoytech/Session-Token/commit/cd64e7b69986054bb715755290811308159b7959.patch";
22420         hash = "sha256-nMQmdvVQW8cQYO0+bLJcdVfSOLVIsongk+71fQ7fQdU=";
22421       })
22422     ];
22423     meta = {
22424       description = "Secure, efficient, simple random session token generation";
22425       homepage = "https://github.com/hoytech/Session-Token";
22426       license = with lib.licenses; [ artistic1 gpl1Plus ];
22427       maintainers = [ maintainers.sgo ];
22428     };
22429   };
22431   SetInfinite = buildPerlPackage {
22432     pname = "Set-Infinite";
22433     version = "0.65";
22434     src = fetchurl {
22435       url = "mirror://cpan/authors/id/F/FG/FGLOCK/Set-Infinite-0.65.tar.gz";
22436       hash = "sha256-B7yIBzRJLeQLSjqLWjMXYvZOabRikCn9mp01eyW4fh8=";
22437     };
22438     meta = {
22439       description = "Infinite Sets math";
22440       license = with lib.licenses; [ artistic1 gpl1Plus ];
22441     };
22442   };
22444   SetIntSpan = buildPerlPackage {
22445     pname = "Set-IntSpan";
22446     version = "1.19";
22447     src = fetchurl {
22448       url = "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz";
22449       hash = "sha256-EbdUmxPsXYfMaV3Ux3fNApg91f6YZgEod/tTD0iz39A=";
22450     };
22452     meta = {
22453       description = "Manages sets of integers, newsrc style";
22454       license = with lib.licenses; [ artistic1 gpl1Plus ];
22455     };
22456   };
22458   SetObject = buildPerlPackage {
22459     pname = "Set-Object";
22460     version = "1.42";
22461     src = fetchurl {
22462       url = "mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.42.tar.gz";
22463       hash = "sha256-0YxaiiM+q70CBs89pbAPzdezf+vxKpPcw9HAJub97EU=";
22464     };
22465     meta = {
22466       description = "Unordered collections (sets) of Perl Objects";
22467       license = with lib.licenses; [ artistic2 ];
22468     };
22469   };
22471   SetScalar = buildPerlPackage {
22472     pname = "Set-Scalar";
22473     version = "1.29";
22474     src = fetchurl {
22475       url = "mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz";
22476       hash = "sha256-o9wVJvPd5y08ZOoAAHuGzmCM3Nk1Z89ubkLcEP3EUR0=";
22477     };
22478     meta = {
22479       description = "Basic set operations";
22480       license = with lib.licenses; [ artistic1 gpl1Plus ];
22481     };
22482   };
22484   SmartComments = buildPerlPackage rec {
22485     pname = "Smart-Comments";
22486     version = "1.06";
22487     src = fetchurl {
22488       url = "mirror://cpan/authors/id/N/NE/NEILB/Smart-Comments-1.06.tar.gz";
22489       hash = "sha256-3PijEhNKfGuCkmoBFdk7aSRypmLSjNw6m98omEranuM=";
22490     };
22491     meta = {
22492       description = "Comments that do more than just sit there";
22493       homepage = "https://github.com/neilb/Smart-Comments";
22494       license = with lib.licenses; [ artistic1 gpl1Plus ];
22495       maintainers = [ maintainers.sgo ];
22496     };
22497   };
22499   SGMLSpm = buildPerlModule {
22500     pname = "SGMLSpm";
22501     version = "1.1";
22502     src = fetchurl {
22503       url = "mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz";
22504       hash = "sha256-VQySRSkcjfIkL36I95IaD2NsfuySxkRBjn2Jz+pwsr0=";
22505     };
22506     meta = {
22507       description = "Library for parsing the output from SGMLS and NSGMLS parsers";
22508       license = with lib.licenses; [ gpl2Plus ];
22509       mainProgram = "sgmlspl.pl";
22510     };
22511   };
22513   SignalMask = buildPerlPackage {
22514     pname = "Signal-Mask";
22515     version = "0.008";
22516     src = fetchurl {
22517       url = "mirror://cpan/authors/id/L/LE/LEONT/Signal-Mask-0.008.tar.gz";
22518       hash = "sha256-BD2ZW2sknZ68BMRn2zG7fdwuVfqgjohb2wULHyM2tz8=";
22519     };
22520     propagatedBuildInputs = [ IPCSignal ];
22521     meta = {
22522       description = "Signal masks made easy";
22523       license = with lib.licenses; [ artistic1 gpl1Plus ];
22524     };
22525   };
22527   SnowballNorwegian = buildPerlModule {
22528     pname = "Snowball-Norwegian";
22529     version = "1.2";
22530     src = fetchurl {
22531       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz";
22532       hash = "sha256-Hc+NfyazdSCgENzVGXAU4KWDhe5muDtP3gfqtQrZ5Rg=";
22533     };
22534     meta = {
22535       description = "Porters stemming algorithm for norwegian";
22536       license = with lib.licenses; [ artistic1 gpl1Plus ];
22537       mainProgram = "stemmer-no.pl";
22538     };
22539   };
22541   SnowballSwedish = buildPerlModule {
22542     pname = "Snowball-Swedish";
22543     version = "1.2";
22544     src = fetchurl {
22545       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz";
22546       hash = "sha256-76qSNVhZj06IjZelEtYPvMRIHB+cXn3tUnWWKUVg/Ck=";
22547     };
22548     meta = {
22549       description = "Porters stemming algorithm for swedish";
22550       license = with lib.licenses; [ artistic1 gpl1Plus ];
22551       mainProgram = "stemmer-se.pl";
22552     };
22553   };
22555   SOAPLite = buildPerlPackage {
22556     pname = "SOAP-Lite";
22557     version = "1.27";
22558     src = fetchurl {
22559       url = "mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.27.tar.gz";
22560       hash = "sha256-41kQa6saRaFgRKTC+ASfrQNOXe0VF5kLybX42G3d0wE=";
22561     };
22562     propagatedBuildInputs = [ ClassInspector IOSessionData LWPProtocolHttps TaskWeaken XMLParser ];
22563     buildInputs = [ TestWarn XMLParserLite ];
22564     nativeCheckInputs = [ HTTPDaemon ];
22565     meta = {
22566       description = "Perl's Web Services Toolkit";
22567       license = with lib.licenses; [ artistic1 gpl1Plus ];
22568     };
22569   };
22571   Socket6 = buildPerlPackage {
22572     pname = "Socket6";
22573     version = "0.29";
22574     src = fetchurl {
22575       url = "mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-0.29.tar.gz";
22576       hash = "sha256-RokV+joE3PZXT8lX7/SVkV4kVpQ0lwyR7o5OFFn8kRQ=";
22577     };
22578     setOutputFlags = false;
22579     buildInputs = [ pkgs.which ];
22580     patches = [ ../development/perl-modules/Socket6-sv_undef.patch ];
22581     meta = {
22582       description = "IPv6 related part of the C socket.h defines and structure manipulators";
22583       license = with lib.licenses; [ bsd3 ];
22584     };
22585   };
22587   SoftwareLicense = buildPerlPackage {
22588     pname = "Software-License";
22589     version = "0.104004";
22590     src = fetchurl {
22591       url = "mirror://cpan/authors/id/L/LE/LEONT/Software-License-0.104004.tar.gz";
22592       hash = "sha256-of2iTsh3UhmAlzgPuTAMFLV0gmJwzFgNr3UONYX8Jww=";
22593     };
22594     buildInputs = [ TryTiny ];
22595     propagatedBuildInputs = [ DataSection TextTemplate ];
22596     meta = {
22597       description = "Packages that provide templated software licenses";
22598       homepage = "https://github.com/Perl-Toolchain-Gang/Software-License";
22599       license = with lib.licenses; [ artistic1 gpl1Plus ];
22600     };
22601   };
22603   SoftwareLicenseCCpack = buildPerlPackage {
22604     pname = "Software-License-CCpack";
22605     version = "1.11";
22606     src = fetchurl {
22607       url = "mirror://cpan/authors/id/B/BB/BBYRD/Software-License-CCpack-1.11.tar.gz";
22608       hash = "sha256-WU9carwhbJXNRYd8Qd7FbSvDDh0DFq04VbCiqo5dU7E=";
22609     };
22610     propagatedBuildInputs = [ SoftwareLicense ];
22611     buildInputs = [ TestCheckDeps ];
22612     meta = {
22613       description = "Software::License pack for Creative Commons' licenses";
22614       homepage = "https://github.com/SineSwiper/Software-License-CCpack";
22615       license = with lib.licenses; [ lgpl3Plus ];
22616     };
22617   };
22619   SortKey = buildPerlPackage {
22620     pname = "Sort-Key";
22621     version = "1.33";
22622     src = fetchurl {
22623       url = "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz";
22624       hash = "sha256-7WpMz6sJTJzRZPVkAk6YvSHZT0MSzKxNYkbSKzQIGs8=";
22625     };
22626     meta = {
22627       description = "The fastest way to sort anything in Perl";
22628       license = with lib.licenses; [ artistic1 gpl1Plus ];
22629     };
22630   };
22632   SortVersions = buildPerlPackage {
22633     pname = "Sort-Versions";
22634     version = "1.62";
22635     src = fetchurl {
22636       url = "mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.62.tar.gz";
22637       hash = "sha256-v18zB0BuviWBI38CWYLoyE9vZiXdd05FfAP4mU79Lqo=";
22638     };
22639     meta = {
22640       description = "A perl 5 module for sorting of revision-like numbers";
22641       license = with lib.licenses; [ artistic1 gpl1Plus ];
22642     };
22643   };
22645   Specio = buildPerlPackage {
22646     pname = "Specio";
22647     version = "0.48";
22648     src = fetchurl {
22649       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.48.tar.gz";
22650       hash = "sha256-DIV5NYDxJ07wgXMHkTHRAfd7IqzOp6+oJVIC8IEWgrI=";
22651     };
22652     propagatedBuildInputs = [ DevelStackTrace EvalClosure MROCompat ModuleRuntime RoleTiny SubQuote TryTiny ];
22653     buildInputs = [ TestFatal TestNeeds ];
22654     meta = {
22655       description = "Type constraints and coercions for Perl";
22656       homepage = "https://metacpan.org/release/Specio";
22657       license = with lib.licenses; [ artistic2 ];
22658     };
22659   };
22661   SpecioLibraryPathTiny = buildPerlPackage {
22662     pname = "Specio-Library-Path-Tiny";
22663     version = "0.05";
22664     src = fetchurl {
22665       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-Library-Path-Tiny-0.05.tar.gz";
22666       hash = "sha256-YN8Lubza6yxmoHi/bfmVTqT5Qz1stoCImULlQsfCelE=";
22667     };
22668     propagatedBuildInputs = [ PathTiny Specio ];
22669     buildInputs = [ Filepushd TestFatal ];
22670     meta = {
22671       description = "Path::Tiny types and coercions for Specio";
22672       homepage = "https://metacpan.org/release/Specio-Library-Path-Tiny";
22673       license = with lib.licenses; [ asl20 ];
22674     };
22675   };
22677   Spiffy = buildPerlPackage {
22678     pname = "Spiffy";
22679     version = "0.46";
22680     src = fetchurl {
22681       url = "mirror://cpan/authors/id/I/IN/INGY/Spiffy-0.46.tar.gz";
22682       hash = "sha256-j1hiCoQgJVxJtsQ8X/WAK9JeTwkkDFHlvysCKDPUHaM=";
22683     };
22684     meta = {
22685       description = "Spiffy Perl Interface Framework For You";
22686       license = with lib.licenses; [ artistic1 gpl1Plus ];
22687     };
22688   };
22690   SpreadsheetCSV = buildPerlPackage {
22691     pname = "Spreadsheet-CSV";
22692     version = "0.20";
22693     src = fetchurl {
22694       url = "mirror://cpan/authors/id/D/DD/DDICK/Spreadsheet-CSV-0.20.tar.gz";
22695       hash = "sha256-BwuyUqj+i5OKHOT8kFJfgz1OYZttRnOwrgojQI1RSrY=";
22696     };
22697     nativeBuildInputs = [ CGI ];
22698     propagatedBuildInputs = [ ArchiveZip SpreadsheetParseExcel TextCSV_XS XMLParser ];
22699     meta = {
22700       description = "Drop-in replacement for Text::CSV_XS with spreadsheet support";
22701       license = with lib.licenses; [ artistic1 gpl1Plus ];
22702     };
22703   };
22705   SpreadsheetParseExcel = buildPerlPackage {
22706     pname = "Spreadsheet-ParseExcel";
22707     version = "0.66";
22708     src = fetchurl {
22709       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-ParseExcel-0.66.tar.gz";
22710       hash = "sha256-v9dqz7qYhgHcBRvac7S7JfaDmgBt2WC2p0AcJJJF9ls=";
22711     };
22712     propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOStringy OLEStorage_Lite ];
22713     meta = {
22714       description = "Read information from an Excel file";
22715       homepage = "https://github.com/runrig/spreadsheet-parseexcel";
22716       license = with lib.licenses; [ artistic1 gpl1Plus ];
22717     };
22718   };
22720   SpreadsheetWriteExcel = buildPerlPackage {
22721     pname = "Spreadsheet-WriteExcel";
22722     version = "2.40";
22723     src = fetchurl {
22724       url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz";
22725       hash = "sha256-41aq1oZs8TVzEmjuDpeaGXRDwVoEh46c8+gNAirWwH4=";
22726     };
22727     propagatedBuildInputs = [ OLEStorage_Lite ParseRecDescent ];
22728     meta = {
22729       description = "Write to a cross platform Excel binary file";
22730       license = with lib.licenses; [ artistic1 gpl1Plus ];
22731       mainProgram = "chartex";
22732     };
22733   };
22735   SpreadsheetXLSX = buildPerlPackage {
22736     pname = "Spreadsheet-XLSX";
22737     version = "0.17";
22738     src = fetchurl {
22739       url = "mirror://cpan/authors/id/A/AS/ASB/Spreadsheet-XLSX-0.17.tar.gz";
22740       hash = "sha256-M7d4knz/FjCQZbdOuMRpawNxZg0szf5FvkYFCSrO6XY=";
22741     };
22742     buildInputs = [ TestNoWarnings TestWarnings ];
22743     propagatedBuildInputs = [ ArchiveZip SpreadsheetParseExcel ];
22744     meta = {
22745       homepage = "https://github.com/asb-capfan/Spreadsheet-XLSX";
22746       description = "Perl extension for reading MS Excel 2007 files;";
22747       license = with lib.licenses; [ artistic1 gpl1Plus ];
22748     };
22749   };
22751   SQLAbstract = buildPerlPackage {
22752     pname = "SQL-Abstract";
22753     version = "2.000001";
22754     src = fetchurl {
22755       url = "mirror://cpan/authors/id/M/MS/MSTROUT/SQL-Abstract-2.000001.tar.gz";
22756       hash = "sha256-NaZCZiw0lCDUS+bg732HZep0PrEq0UOZqjojK7lObpo=";
22757     };
22758     buildInputs = [ DataDumperConcise TestDeep TestException TestWarn ];
22759     propagatedBuildInputs = [ HashMerge MROCompat Moo ];
22760     meta = {
22761       description = "Generate SQL from Perl data structures";
22762       license = with lib.licenses; [ artistic1 gpl1Plus ];
22763     };
22764   };
22766   SQLAbstractClassic = buildPerlPackage {
22767     pname = "SQL-Abstract-Classic";
22768     version = "1.91";
22769     src = fetchurl {
22770       url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/SQL-Abstract-Classic-1.91.tar.gz";
22771       hash = "sha256-Tj0d/QlbISMmhYa7BrhpKepXE4jU6UGszL3NoeEI7yg=";
22772     };
22773     buildInputs = [ TestDeep TestException TestWarn ];
22774     propagatedBuildInputs = [ SQLAbstract ];
22775     meta = {
22776       description = "Generate SQL from Perl data structures";
22777       license = with lib.licenses; [ artistic1 gpl1Plus ];
22778     };
22779   };
22781   SQLAbstractLimit = buildPerlPackage {
22782     pname = "SQL-Abstract-Limit";
22783     version = "0.143";
22784     src = fetchurl {
22785       url = "mirror://cpan/authors/id/A/AS/ASB/SQL-Abstract-Limit-0.143.tar.gz";
22786       hash = "sha256-0Yr9eIk72DC6JGXArmozQlRgFZADhk3tO1rc9RGJyuk=";
22787     };
22788     propagatedBuildInputs = [ DBI SQLAbstract ];
22789     buildInputs = [ TestDeep TestException ];
22790     meta = {
22791       description = "Portable LIMIT emulation";
22792       license = with lib.licenses; [ artistic1 gpl1Plus ];
22793     };
22794   };
22796   SQLAbstractPg = buildPerlPackage {
22797     pname = "SQL-Abstract-Pg";
22798     version = "1.0";
22799     src = fetchurl {
22800       url = "mirror://cpan/authors/id/S/SR/SRI/SQL-Abstract-Pg-1.0.tar.gz";
22801       hash = "sha256-Pic2DfN7jYjzxS2smwNJP5vT7v9sjYj5sIbScRVT9Uc=";
22802     };
22803     buildInputs = [ TestDeep ];
22804     propagatedBuildInputs = [ SQLAbstract ];
22805     meta = {
22806       description = "PostgreSQL features for SQL::Abstract";
22807       homepage = "https://mojolicious.org";
22808       license = with lib.licenses; [ artistic2 ];
22809     };
22810   };
22812   SQLSplitStatement = buildPerlPackage {
22813     pname = "SQL-SplitStatement";
22814     version = "1.00023";
22815     src = fetchurl {
22816       url = "mirror://cpan/authors/id/V/VE/VEESH/SQL-SplitStatement-1.00023.tar.gz";
22817       hash = "sha256-GnSEIM0q00HCUk7xGFt273Fylp8XqeS6tvQ3bw3p814=";
22818     };
22819     buildInputs = [ TestDifferences TestException ];
22820     propagatedBuildInputs = [ ClassAccessor ListMoreUtils RegexpCommon ];
22821     meta = {
22822       description = "Split any SQL code into atomic statements";
22823       license = with lib.licenses; [ artistic1 gpl1Plus ];
22824       mainProgram = "sql-split";
22825     };
22826   };
22828   SQLStatement = buildPerlPackage {
22829     pname = "SQL-Statement";
22830     version = "1.414";
22831     src = fetchurl {
22832       url = "mirror://cpan/authors/id/R/RE/REHSACK/SQL-Statement-1.414.tar.gz";
22833       hash = "sha256-3ei9z6ahNu7doGUZug8++uwIXDnbDfnEctwOxs14Gkk=";
22834     };
22835     buildInputs = [ MathBaseConvert TestDeep TextSoundex ];
22836     propagatedBuildInputs = [ Clone ModuleRuntime ParamsUtil ];
22837     meta = {
22838       description = "SQL parsing and processing engine";
22839       license = with lib.licenses; [ artistic1 gpl1Plus ];
22840     };
22841   };
22843   SQLTokenizer = buildPerlPackage {
22844     pname = "SQL-Tokenizer";
22845     version = "0.24";
22846     src = fetchurl {
22847       url = "mirror://cpan/authors/id/I/IZ/IZUT/SQL-Tokenizer-0.24.tar.gz";
22848       hash = "sha256-+qhpvEJlc2QVNqCfU1AuVA1ePjrWp6oaxiXT9pdrQuE=";
22849     };
22850     meta = {
22851       description = "A simple SQL tokenizer";
22852       license = with lib.licenses; [ artistic1 gpl1Plus ];
22853     };
22854   };
22856   SQLTranslator = buildPerlPackage {
22857     pname = "SQL-Translator";
22858     version = "1.63";
22859     src = fetchurl {
22860       url = "mirror://cpan/authors/id/V/VE/VEESH/SQL-Translator-1.63.tar.gz";
22861       hash = "sha256-WIWwTJNJi+MqGX3JcjlHUdXeYJNBiTqWZW3oikJgMTM=";
22862     };
22863     buildInputs = [ FileShareDirInstall JSONMaybeXS TestDifferences TestException XMLWriter YAML ];
22864     propagatedBuildInputs = [ CarpClan DBI FileShareDir Moo PackageVariant ParseRecDescent TryTiny GraphViz GD ];
22866     postPatch = ''
22867       patchShebangs script
22868     '';
22870     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
22871     postInstall = lib.optionalString stdenv.isDarwin ''
22872       for file in $out/bin/*; do
22873         shortenPerlShebang $file
22874       done
22875     '';
22877     meta = {
22878       description = "SQL DDL transformations and more";
22879       license = with lib.licenses; [ artistic1 gpl1Plus ];
22880       mainProgram = "sqlt";
22881     };
22882   };
22884   PackageVariant = buildPerlPackage {
22885     pname = "Package-Variant";
22886     version = "1.003002";
22887     src = fetchurl {
22888       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-1.003002.tar.gz";
22889       hash = "sha256-su2EnS9M3WZGdRLao/FDJm1t+BDF+ukXWyUsV7wVNtw=";
22890     };
22891     buildInputs = [ TestFatal ];
22892     propagatedBuildInputs = [ ImportInto strictures ];
22893     meta = {
22894       description = "Parameterizable packages";
22895       license = with lib.licenses; [ artistic1 gpl1Plus ];
22896     };
22897   };
22899   SortNaturally = buildPerlPackage {
22900     pname = "Sort-Naturally";
22901     version = "1.03";
22902     src = fetchurl {
22903       url = "mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-1.03.tar.gz";
22904       hash = "sha256-6qscXIdXWngmCJMEqx+P+n8Y5s2LOTdiPpmOhl7B50Y=";
22905     };
22906     meta = {
22907       description = "Sort lexically, but sort numeral parts numerically";
22908       license = with lib.licenses; [ artistic1 gpl1Plus ];
22909     };
22910   };
22912   Starlet = buildPerlPackage {
22913     pname = "Starlet";
22914     version = "0.31";
22915     src = fetchurl {
22916       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.31.tar.gz";
22917       hash = "sha256-uWA7jmKIDLRYL2p5Oer+xl5u/T2QDyx900Ll9MaNYtg=";
22918     };
22919     buildInputs = [ LWP TestSharedFork TestTCP ];
22920     propagatedBuildInputs = [ ParallelPrefork Plack ServerStarter ];
22921     doCheck = !stdenv.isDarwin;
22922     meta = {
22923       description = "A simple, high-performance PSGI/Plack HTTP server";
22924       license = with lib.licenses; [ artistic1 gpl1Plus ];
22925     };
22926   };
22928   Starman = buildPerlModule {
22929     pname = "Starman";
22930     version = "0.4017";
22931     src = fetchurl {
22932       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4017.tar.gz";
22933       hash = "sha256-b/q5FfMj9gCJ4+v4Urm5cH1pFyZt+K/XNw+sBL/f7k4=";
22934     };
22935     buildInputs = [ LWP ModuleBuildTiny TestRequires TestTCP ];
22936     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
22937     propagatedBuildInputs = [ DataDump HTTPParserXS NetServer Plack NetServerSSPrefork IOSocketINET6 ];
22938     postInstall = lib.optionalString stdenv.isDarwin ''
22939       shortenPerlShebang $out/bin/starman
22940     '';
22942     doCheck = false; # binds to various TCP ports
22943     meta = {
22944       description = "High-performance preforking PSGI/Plack web server";
22945       homepage = "https://github.com/miyagawa/Starman";
22946       license = with lib.licenses; [ artistic1 gpl1Plus ];
22947       mainProgram = "starman";
22948     };
22949   };
22951   StatisticsBasic = buildPerlPackage {
22952     pname = "Statistics-Basic";
22953     version = "1.6611";
22954     src = fetchurl {
22955       url = "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz";
22956       hash = "sha256-aFXOVhX9Phr0z8RRqb9E/ymjFAtOcTADTx8K8lEalPs=";
22957     };
22958     propagatedBuildInputs = [ NumberFormat ];
22959     meta = {
22960       description = "A collection of very basic statistics modules";
22961       license = with lib.licenses; [ lgpl2Only ];
22962     };
22963   };
22965   StatisticsCaseResampling = buildPerlPackage {
22966     pname = "Statistics-CaseResampling";
22967     version = "0.15";
22968     src = fetchurl {
22969       url = "mirror://cpan/authors/id/S/SM/SMUELLER/Statistics-CaseResampling-0.15.tar.gz";
22970       hash = "sha256-hRxDvW8Q0yKJUipQxqIJw7JGz9PrVmdz5oYe2gSkkIc=";
22971     };
22972     meta = {
22973       description = "Efficient resampling and calculation of medians with confidence intervals";
22974       license = with lib.licenses; [ artistic1 gpl1Plus ];
22975     };
22976   };
22978   StatisticsChiSquare = buildPerlPackage rec {
22979     pname = "Statistics-ChiSquare";
22980     version = "1.0000";
22981     src = fetchurl {
22982       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Statistics-ChiSquare-1.0000.tar.gz";
22983       hash = "sha256-JVpaODNtBI3bkHciJpHgAJhOkHquCaTqaVqc/Umh3dA=";
22984     };
22985     meta = {
22986       description = "Implements the Chi Squared test, using pre-computed tables";
22987       license = with lib.licenses; [ artistic1 gpl1Plus ];
22988     };
22989   };
22991   StatisticsDescriptive = buildPerlModule {
22992     pname = "Statistics-Descriptive";
22993     version = "3.0801";
22994     src = fetchurl {
22995       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0801.tar.gz";
22996       hash = "sha256-BHtwpj/cqpFhaOD/LVjhVeDrvGjtTMvXOnIT3KMCj2U=";
22997     };
22998     propagatedBuildInputs = [ ListMoreUtils ];
22999     meta = {
23000       description = "Module of basic descriptive statistical functions";
23001       homepage = "https://metacpan.org/release/Statistics-Descriptive";
23002       license = with lib.licenses; [ artistic1 gpl1Plus ];
23003     };
23004   };
23006   StatisticsDistributions = buildPerlPackage {
23007     pname = "Statistics-Distributions";
23008     version = "1.02";
23009     src = fetchurl {
23010       url = "mirror://cpan/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz";
23011       hash = "sha256-+Z85ar+EyjeqLOoxrUXXOq7kh1LJmRNsS5E4lCjXM8g=";
23012     };
23013     meta = {
23014       description = "Perl module for calculating critical values and upper probabilities of common statistical distributions";
23015       license = with lib.licenses; [ artistic1 gpl1Plus ];
23016     };
23017   };
23019   StatisticsTTest = buildPerlPackage {
23020     pname = "Statistics-TTest";
23021     version = "1.1.0";
23022     src = fetchurl {
23023       url = "mirror://cpan/authors/id/Y/YU/YUNFANG/Statistics-TTest-1.1.0.tar.gz";
23024       hash = "sha256-stlZ0ljHKEebfYYu4BRuWtjuqYm+JWN8vFdlUv9zcWY=";
23025     };
23026     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
23027     meta = {
23028       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";
23029       license = with lib.licenses; [ artistic1 gpl1Plus ];
23030     };
23031   };
23033   StreamBuffered = buildPerlPackage {
23034     pname = "Stream-Buffered";
23035     version = "0.03";
23036     src = fetchurl {
23037       url = "mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.03.tar.gz";
23038       hash = "sha256-my1DkLXeawz0VY5K0EMXpzxeE90ZrykUnE5Hw3+yQjs=";
23039     };
23040     meta = {
23041       description = "Temporary buffer to save bytes";
23042       homepage = "https://github.com/plack/Stream-Buffered";
23043       license = with lib.licenses; [ artistic1 gpl1Plus ];
23044     };
23045   };
23047   strictures = buildPerlPackage {
23048     pname = "strictures";
23049     version = "2.000006";
23050     src = fetchurl {
23051       url = "mirror://cpan/authors/id/H/HA/HAARG/strictures-2.000006.tar.gz";
23052       hash = "sha256-CdV5dKbRsjgMgChw/tRxEI9RFw2oFFjidRhZ8nFPjVc=";
23053     };
23054     meta = {
23055       description = "Turn on strict and make most warnings fatal";
23056       homepage = "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git";
23057       license = with lib.licenses; [ artistic1 gpl1Plus ];
23058     };
23059   };
23061   StringApprox = buildPerlPackage {
23062     pname = "String-Approx";
23063     version = "3.28";
23064     src = fetchurl {
23065       url = "mirror://cpan/authors/id/J/JH/JHI/String-Approx-3.28.tar.gz";
23066       hash = "sha256-QyAedi2GmcsKwsB2SlRUvcIwbAdxAU1sj7qCFIBjE0I=";
23067     };
23068     meta = {
23069       description = "Perl extension for approximate matching (fuzzy matching)";
23070       license = with lib.licenses; [ artistic2 gpl2Only ];
23071     };
23072   };
23074   StringBinaryInterpolation = buildPerlPackage {
23075     pname = "String-Binary-Interpolation";
23076     version = "1.0.0";
23077     src = fetchurl {
23078       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/String-Binary-Interpolation-1.0.0.tar.gz";
23079       hash = "sha256-2lXYmCTBrdniqpWP8OpILyaCLkJI7TOo1rT7vXdYivE=";
23080     };
23081     meta = {
23082       description = "Make it easier to interpolate binary bytes into a string";
23083       license = with lib.licenses; [ artistic2 gpl2Only ];
23084     };
23085   };
23087   StringCamelCase = buildPerlPackage {
23088     pname = "String-CamelCase";
23089     version = "0.04";
23090     src = fetchurl {
23091       url = "mirror://cpan/authors/id/H/HI/HIO/String-CamelCase-0.04.tar.gz";
23092       hash = "sha256-icPevO7Orodk9F10Aj+Pvu4tiDma9nVB29qgsr8nEak=";
23093     };
23094     meta = {
23095       description = "Camelcase, de-camelcase";
23096       license = with lib.licenses; [ artistic1 gpl1Plus ];
23097     };
23098   };
23100   StringCompareConstantTime = buildPerlPackage {
23101     pname = "String-Compare-ConstantTime";
23102     version = "0.321";
23103     src = fetchurl {
23104       url = "mirror://cpan/authors/id/F/FR/FRACTAL/String-Compare-ConstantTime-0.321.tar.gz";
23105       hash = "sha256-Cya6KxIdgARCXUSF0dRvWQAcg3Y6omYk3/YiDXc11/c=";
23106     };
23107     meta = {
23108       description = "Timing side-channel protected string compare";
23109       license = with lib.licenses; [ artistic1 gpl1Plus ];
23110     };
23111   };
23113   StringCRC32 = buildPerlPackage {
23114     pname = "String-CRC32";
23115     version = "2.100";
23116     src = fetchurl {
23117       url = "mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-2.100.tar.gz";
23118       hash = "sha256-lwYJOy0Gi2cV01tMWPUVWON5YAgyAhKfuwClfhmnRxM=";
23119     };
23120     meta = {
23121       description = "Perl interface for cyclic redundancy check generation";
23122       license = with lib.licenses; [ publicDomain ];
23123     };
23124   };
23126   StringDiff = buildPerlModule {
23127     pname = "String-Diff";
23128     version = "0.07";
23129     src = fetchurl {
23130       url = "mirror://cpan/authors/id/Y/YA/YAPPO/String-Diff-0.07.tar.gz";
23131       hash = "sha256-chW2fLwyJuLQ4Ys47FjJO+C/YJAnhpi++VU0iCbNCvM=";
23132     };
23133     patches = [
23134       (fetchpatch {
23135         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";
23136         hash = "sha256-RcYsn0jVa9sSF8iYPuaFTWx00LrF3m7hH9e6fC7j72U=";
23137       })
23138     ];
23139     buildInputs = [ TestBase ModuleBuildTiny ModuleInstallGithubMeta ModuleInstallRepository ModuleInstallReadmeFromPod ModuleInstallReadmeMarkdownFromPod YAML ];
23140     propagatedBuildInputs = [ AlgorithmDiff ];
23141     meta = {
23142       description = "Simple diff to String";
23143       homepage = "https://github.com/yappo/p5-String-Diff";
23144       license = with lib.licenses; [ artistic1 gpl1Plus ];
23145       maintainers = [ maintainers.sgo ];
23146     };
23147   };
23149   StringErrf = buildPerlPackage {
23150     pname = "String-Errf";
23151     version = "0.009";
23152     src = fetchurl {
23153       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.009.tar.gz";
23154       hash = "sha256-4f7b+bT9ZLZOqBA43bdqTGzYX12xW8IfEGVqKYNJ3B8=";
23155     };
23156     buildInputs = [ JSONMaybeXS TimeDate ];
23157     propagatedBuildInputs = [ StringFormatter ];
23158     meta = {
23159       description = "A simple sprintf-like dialect";
23160       homepage = "https://github.com/rjbs/String-Errf";
23161       license = with lib.licenses; [ artistic1 gpl1Plus ];
23162     };
23163   };
23165   StringEscape = buildPerlPackage {
23166     pname = "String-Escape";
23167     version = "2010.002";
23168     src = fetchurl {
23169       url = "mirror://cpan/authors/id/E/EV/EVO/String-Escape-2010.002.tar.gz";
23170       hash = "sha256-/WRfizNiJNIKha5/saOEV26sMp963DkjwyQego47moo=";
23171     };
23172     meta = {
23173       description = "Backslash escapes, quoted phrase, word elision, etc";
23174       license = with lib.licenses; [ artistic1 gpl1Plus ];
23175     };
23176   };
23178   StringFlogger = buildPerlPackage {
23179     pname = "String-Flogger";
23180     version = "1.101246";
23181     src = fetchurl {
23182       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101246.tar.gz";
23183       hash = "sha256-FfhJHgeBi7PPqfa9Oqv2QwuptOMJ8YEUNYvj2Bv/Og8=";
23184     };
23185     propagatedBuildInputs = [ JSONMaybeXS SubExporter ];
23186     meta = {
23187       description = "String munging for loggers";
23188       homepage = "https://github.com/rjbs/String-Flogger";
23189       license = with lib.licenses; [ artistic1 gpl1Plus ];
23190     };
23191   };
23193   StringFormat = buildPerlPackage {
23194     pname = "String-Format";
23195     version = "1.18";
23196     src = fetchurl {
23197       url = "mirror://cpan/authors/id/S/SR/SREZIC/String-Format-1.18.tar.gz";
23198       hash = "sha256-nkF6j42epiO+6i0TpHwNWmlvyGAsBQm4Js1F+Xt253g=";
23199     };
23200     meta = {
23201       description = "sprintf-like string formatting capabilities with arbitrary format definitions";
23202       license = with lib.licenses; [ gpl2Only ];
23203     };
23204   };
23206   StringFormatter = buildPerlPackage {
23207     pname = "String-Formatter";
23208     version = "1.235";
23209     src = fetchurl {
23210       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-1.235.tar.gz";
23211       hash = "sha256-CCNqkTuRHOZSzwhZjnwH0t8/Np/Ee/QBpIWlBKFmB4M=";
23212     };
23213     propagatedBuildInputs = [ SubExporter ];
23214     meta = {
23215       description = "Build sprintf-like functions of your own";
23216       license = with lib.licenses; [ gpl2Only ];
23217     };
23218   };
23220   StringInterpolate = buildPerlPackage {
23221     pname = "String-Interpolate";
23222     version = "0.33";
23223     src = fetchurl {
23224       url = "mirror://cpan/authors/id/N/NE/NEILB/String-Interpolate-0.33.tar.gz";
23225       hash = "sha256-qH7Qk4kH0xr32qltc6BjL1xko40d4N6HxLRCWDEpxBM=";
23226     };
23227     meta = {
23228       # https://metacpan.org/pod/String::Interpolate
23229       description = "String::Interpolate - Wrapper for builtin the Perl interpolation engine.";
23230       license = with lib.licenses; [ gpl1Plus ];
23231     };
23232     propagatedBuildInputs = [ PadWalker SafeHole ];
23233   };
23235   StringInterpolateNamed = buildPerlPackage {
23236     pname = "String-Interpolate-Named";
23237     version = "1.03";
23238     src = fetchurl {
23239       url = "mirror://cpan/authors/id/J/JV/JV/String-Interpolate-Named-1.03.tar.gz";
23240       hash = "sha256-on13VgcnX2jtkqQT85SsAJLn3hzZPWJHnUf7pwF6Jtw=";
23241     };
23242     meta = {
23243       description = "Interpolated named arguments in string";
23244       license = with lib.licenses; [ artistic1 gpl1Plus ];
23245     };
23246   };
23248   StringMkPasswd = buildPerlPackage {
23249     pname = "String-MkPasswd";
23250     version = "0.05";
23251     src = fetchurl {
23252       url = "mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz";
23253       hash = "sha256-UxD4NGAEVHUHFma1Qj2y8KqC1mhcgC7Hq+bCxBBjm5Y=";
23254     };
23255     meta = {
23256       description = "Random password generator";
23257       homepage = "https://github.com/sirhc/string-mkpasswd";
23258       license = with lib.licenses; [ artistic1 gpl1Plus ];
23259       mainProgram = "mkpasswd.pl";
23260     };
23261   };
23263   StringRandom = buildPerlModule {
23264     pname = "String-Random";
23265     version = "0.32";
23266     src = fetchurl {
23267       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/String-Random-0.32.tar.gz";
23268       hash = "sha256-nZPGeaNP+ibTtPoIN8rtHNLmfXZXKBi5HpfepzRwUkY=";
23269     };
23270     meta = {
23271       description = "Perl module to generate random strings based on a pattern";
23272       license = with lib.licenses; [ artistic1 gpl1Plus ];
23273     };
23274   };
23276   StringRewritePrefix = buildPerlPackage {
23277     pname = "String-RewritePrefix";
23278     version = "0.009";
23279     src = fetchurl {
23280       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.009.tar.gz";
23281       hash = "sha256-RJGL7JalSvjKN8qJfkNnCewoSgeyhRbvPM5GZoaWRtU=";
23282     };
23283     propagatedBuildInputs = [ SubExporter ];
23284     meta = {
23285       description = "Rewrite strings based on a set of known prefixes";
23286       homepage = "https://github.com/rjbs/String-RewritePrefix";
23287       license = with lib.licenses; [ artistic1 gpl1Plus ];
23288     };
23289   };
23291   StringShellQuote = buildPerlPackage {
23292     pname = "String-ShellQuote";
23293     version = "1.04";
23294     src = fetchurl {
23295       url = "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz";
23296       hash = "sha256-5gY2UDjOINZG0lXIBe/90y+GR18Y1DynVFWwDk2G3TU=";
23297     };
23298     doCheck = !stdenv.isDarwin;
23299     meta = {
23300       description = "Quote strings for passing through the shell";
23301       license = with lib.licenses; [ artistic1 gpl1Plus ];
23302       mainProgram = "shell-quote";
23303     };
23304   };
23306   StringSimilarity = buildPerlPackage {
23307     pname = "String-Similarity";
23308     version = "1.04";
23309     src = fetchurl {
23310       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/String-Similarity-1.04.tar.gz";
23311       hash = "sha256-H47aIpC7y3Ia7wzhsL/hOwEgHdPaphijN/LwLikcMkU=";
23312     };
23313     doCheck = true;
23314     meta = {
23315       description = "Calculate the similarity of two strings";
23316       license = with lib.licenses; [ gpl2Only ];
23317     };
23318   };
23320   ShellCommand = buildPerlPackage {
23321     pname = "Shell-Command";
23322     version = "0.06";
23323     src = fetchurl {
23324       url = "mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz";
23325       hash = "sha256-8+Te71d5RL5G+nr1rBGKwoKJEXiLAbx2p0SVNVYW7NE=";
23326     };
23327     meta = {
23328       description = "Cross-platform functions emulating common shell commands";
23329       license = with lib.licenses; [ artistic1 gpl1Plus ];
23330     };
23331   };
23333   ShellConfigGenerate = buildPerlPackage {
23334     pname = "Shell-Config-Generate";
23335     version = "0.34";
23336     src = fetchurl {
23337       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Shell-Config-Generate-0.34.tar.gz";
23338       hash = "sha256-hPRR8iIV3WjpwYqj992wOoIAfRZs+toAPQ8Wb1ceBWI=";
23339     };
23340     buildInputs = [ Test2Suite ];
23341     propagatedBuildInputs = [ ShellGuess ];
23342     meta = {
23343       description = "Portably generate config for any shell";
23344       homepage = "https://metacpan.org/pod/Shell::Config::Generate";
23345       license = with lib.licenses; [ artistic1 gpl1Plus ];
23346     };
23347   };
23349   ShellGuess = buildPerlPackage {
23350     pname = "Shell-Guess";
23351     version = "0.09";
23352     src = fetchurl {
23353       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Shell-Guess-0.09.tar.gz";
23354       hash = "sha256-QGn6JjfkQxGO2VbXECMdFmgj0jsqZOuHuKRocuhloSs=";
23355     };
23356     meta = {
23357       description = "Make an educated guess about the shell in use";
23358       homepage = "https://metacpan.org/pod/Shell::Guess";
23359       license = with lib.licenses; [ artistic1 gpl1Plus ];
23360     };
23361   };
23363   StringToIdentifierEN = buildPerlPackage {
23364     pname = "String-ToIdentifier-EN";
23365     version = "0.12";
23366     src = fetchurl {
23367       url = "mirror://cpan/authors/id/R/RK/RKITOVER/String-ToIdentifier-EN-0.12.tar.gz";
23368       hash = "sha256-OvuEIykwuaxbGto4PI3VkHrk4jrsWrsBb3D56AU83Io=";
23369     };
23370     propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
23371     meta = {
23372       description = "Convert Strings to English Program Identifiers";
23373       license = with lib.licenses; [ artistic1 gpl1Plus ];
23374     };
23375   };
23377   StringTruncate = buildPerlPackage {
23378     pname = "String-Truncate";
23379     version = "1.100603";
23380     src = fetchurl {
23381       url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100603.tar.gz";
23382       hash = "sha256-q0VgLM4t2VFe37sublzeGc3VSY1hojr9jEbB8R+O7GI=";
23383     };
23384     propagatedBuildInputs = [ SubExporter ];
23385     meta = {
23386       description = "A module for when strings are too long to be displayed in...";
23387       homepage = "https://github.com/rjbs/String-Truncate";
23388       license = with lib.licenses; [ artistic1 gpl1Plus ];
23389     };
23390   };
23392   StringTT = buildPerlPackage {
23393     pname = "String-TT";
23394     version = "0.03";
23395     src = fetchurl {
23396       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz";
23397       hash = "sha256-92BfCgT5+hI9Ot9PNFeaFMkLfai5O2XS5IkyzNPJUqs=";
23398     };
23399     buildInputs = [ TestException TestSimple13 TestTableDriven ];
23400     propagatedBuildInputs = [ PadWalker SubExporter TemplateToolkit ];
23401     meta = {
23402       description = "Use TT to interpolate lexical variables";
23403       license = with lib.licenses; [ artistic1 gpl1Plus ];
23404     };
23405   };
23407   StringUtil = buildPerlModule {
23408     pname = "String-Util";
23409     version = "1.34";
23410     src = fetchurl {
23411       url = "mirror://cpan/authors/id/B/BA/BAKERSCOT/String-Util-1.34.tar.gz";
23412       hash = "sha256-MZzozWZTQeVlIfoVXZYqGTKOkNn3A2dlklzN4mclxGk=";
23413     };
23414     buildInputs = [ ModuleBuildTiny ];
23415     meta = {
23416       description = "String processing utility functions";
23417       homepage = "https://github.com/scottchiefbaker/String-Util";
23418       license = with lib.licenses; [ artistic1 gpl1Plus ];
23419     };
23420   };
23422   strip-nondeterminism = callPackage ../development/perl-modules/strip-nondeterminism { };
23424   StructDumb = buildPerlModule {
23425     pname = "Struct-Dumb";
23426     version = "0.14";
23427     src = fetchurl {
23428       url = "mirror://cpan/authors/id/P/PE/PEVANS/Struct-Dumb-0.14.tar.gz";
23429       hash = "sha256-E8FIU2sQ4oxuC04TLynkym5ptXSQWcRBV6J+hKVFlDY=";
23430     };
23431     buildInputs = [ Test2Suite ];
23432     meta = {
23433       description = "Make simple lightweight record-like structures";
23434       license = with lib.licenses; [ artistic1 gpl1Plus ];
23435     };
23436   };
23438   SubExporter = buildPerlPackage {
23439     pname = "Sub-Exporter";
23440     version = "0.990";
23441     src = fetchurl {
23442       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.990.tar.gz";
23443       hash = "sha256-vGTsWgaGX5zGdiFcBqlEizoMizl0/7I6JPjirQkFRPw=";
23444     };
23445     propagatedBuildInputs = [ DataOptList ];
23446     meta = {
23447       description = "A sophisticated exporter for custom-built routines";
23448       homepage = "https://github.com/rjbs/Sub-Exporter";
23449       license = with lib.licenses; [ artistic1 gpl1Plus ];
23450     };
23451   };
23453   SubExporterForMethods = buildPerlPackage {
23454     pname = "Sub-Exporter-ForMethods";
23455     version = "0.100055";
23456     src = fetchurl {
23457       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100055.tar.gz";
23458       hash = "sha256-eR9CA7p8D32DgLwBvsICFffIvHDX7QPlUu7kRUGr6U4=";
23459     };
23460     buildInputs = [ namespaceautoclean ];
23461     propagatedBuildInputs = [ SubExporter SubName ];
23462     meta = {
23463       description = "Helper routines for using Sub::Exporter to build methods";
23464       homepage = "https://github.com/rjbs/Sub-Exporter-ForMethods";
23465       license = with lib.licenses; [ artistic1 gpl1Plus ];
23466     };
23467   };
23469   SubExporterGlobExporter = buildPerlPackage {
23470     pname = "Sub-Exporter-GlobExporter";
23471     version = "0.006";
23472     src = fetchurl {
23473       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.006.tar.gz";
23474       hash = "sha256-3nQ/CAJnAcKmoiKotBxM3CVLGkr+fvmJh806ukzlJpY=";
23475     };
23476     propagatedBuildInputs = [ SubExporter ];
23477     meta = {
23478       description = "Export shared globs with Sub::Exporter collectors";
23479       homepage = "https://github.com/rjbs/Sub-Exporter-GlobExporter";
23480       license = with lib.licenses; [ artistic1 gpl1Plus ];
23481     };
23482   };
23484   SubExporterProgressive = buildPerlPackage {
23485     pname = "Sub-Exporter-Progressive";
23486     version = "0.001013";
23487     src = fetchurl {
23488       url = "mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz";
23489       hash = "sha256-1TW3lU1k2hrBMFsfrfmCAnaeNZk3aFSyztkMOCvqwFY=";
23490     };
23491     meta = {
23492       description = "Only use Sub::Exporter if you need it";
23493       homepage = "https://github.com/frioux/Sub-Exporter-Progressive";
23494       license = with lib.licenses; [ artistic1 gpl1Plus ];
23495     };
23496   };
23498   SubHandlesVia = buildPerlPackage {
23499     pname = "Sub-HandlesVia";
23500     version = "0.050000";
23501     src = fetchurl {
23502       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Sub-HandlesVia-0.050000.tar.gz";
23503       hash = "sha256-Lfk0k+L56VvleblQtuGf9ST5TIBhOq3AOohhHf91eU8=";
23504     };
23505     propagatedBuildInputs = [ ClassMethodModifiers RoleHooks RoleTiny TypeTiny ];
23506     buildInputs = [ TestFatal TestRequires TryTiny ];
23507     meta = {
23508       description = "Alternative handles_via implementation";
23509       homepage = "https://metacpan.org/release/Sub-HandlesVia";
23510       license = with lib.licenses; [ artistic1 gpl1Plus ];
23511     };
23512   };
23514   SubIdentify = buildPerlPackage {
23515     pname = "Sub-Identify";
23516     version = "0.14";
23517     src = fetchurl {
23518       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz";
23519       hash = "sha256-Bo0nIIZRTdHoQrakCxvtuv7mOQDlsIiQ72cAA53vrW8=";
23520     };
23521     meta = {
23522       description = "Retrieve names of code references";
23523       license = with lib.licenses; [ artistic1 gpl1Plus ];
23524     };
23525   };
23527   SubInfo = buildPerlPackage {
23528     pname = "Sub-Info";
23529     version = "0.002";
23530     src = fetchurl {
23531       url = "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz";
23532       hash = "sha256-6jBW1pa97/IamdNA1VcIh9OajMR7/yOt/ILfZ1jN0Oo=";
23533     };
23534     propagatedBuildInputs = [ Importer ];
23535     meta = {
23536       description = "Tool for inspecting subroutines";
23537       license = with lib.licenses; [ artistic1 gpl1Plus ];
23538     };
23539   };
23541   SubInstall = buildPerlPackage {
23542     pname = "Sub-Install";
23543     version = "0.929";
23544     src = fetchurl {
23545       url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.929.tar.gz";
23546       hash = "sha256-gLHigdjNOysx2scR9cihZXqHzYC75przkkvL605dsHc=";
23547     };
23548     meta = {
23549       description = "Install subroutines into packages easily";
23550       homepage = "https://github.com/rjbs/Sub-Install";
23551       license = with lib.licenses; [ artistic1 gpl1Plus ];
23552     };
23553   };
23555   SubName = buildPerlPackage {
23556     pname = "Sub-Name";
23557     version = "0.27";
23558     src = fetchurl {
23559       url = "mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.27.tar.gz";
23560       hash = "sha256-7PNvuhxHypPh2qOUlo7TnEGGhnRZ2c0XPEIeK5cgQ+g=";
23561     };
23562     buildInputs = [ BC DevelCheckBin ];
23563     meta = {
23564       description = "(Re)name a sub";
23565       homepage = "https://github.com/p5sagit/Sub-Name";
23566       license = with lib.licenses; [ artistic1 gpl1Plus ];
23567     };
23568   };
23570   SubOverride = buildPerlPackage {
23571     pname = "Sub-Override";
23572     version = "0.09";
23573     src = fetchurl {
23574       url = "mirror://cpan/authors/id/O/OV/OVID/Sub-Override-0.09.tar.gz";
23575       hash = "sha256-k5pnwfcplo4MyBt0lY23UOG9t8AgvuGiYzMvQiwuJbU=";
23576     };
23577     buildInputs = [ TestFatal ];
23578     meta = {
23579       description = "Perl extension for easily overriding subroutines";
23580       license = with lib.licenses; [ artistic1 gpl1Plus ];
23581     };
23582   };
23584   SubQuote = buildPerlPackage {
23585     pname = "Sub-Quote";
23586     version = "2.006008";
23587     src = fetchurl {
23588       url = "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006008.tar.gz";
23589       hash = "sha256-lL69UAr1V2LoPqLyvFlNh6+CgHI3DHEQxgwjioANFbI=";
23590     };
23591     buildInputs = [ TestFatal ];
23592     meta = {
23593       description = "Efficient generation of subroutines via string eval";
23594       license = with lib.licenses; [ artistic1 gpl1Plus ];
23595     };
23596   };
23598   SubStrictDecl = buildPerlModule {
23599     pname = "Sub-StrictDecl";
23600     version = "0.005";
23601     src = fetchurl {
23602       url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Sub-StrictDecl-0.005.tar.gz";
23603       hash = "sha256-oSfa52RcGpVwzZopcMbcST1SL/BzGKNKOeQJCY9pESU=";
23604     };
23605     propagatedBuildInputs = [ LexicalSealRequireHints ];
23606     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
23607     meta = {
23608       description = "Detect undeclared subroutines in compilation";
23609       license = with lib.licenses; [ artistic1 gpl1Plus ];
23610     };
23611   };
23613   SubUplevel = buildPerlPackage {
23614     pname = "Sub-Uplevel";
23615     version = "0.2800";
23616     src = fetchurl {
23617       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz";
23618       hash = "sha256-tPP2O4D2gKQhMy2IUd2+Wo5y/Kp01dHZjzyMxKPs4pM=";
23619     };
23620     meta = {
23621       description = "Apparently run a function in a higher stack frame";
23622       homepage = "https://github.com/Perl-Toolchain-Gang/Sub-Uplevel";
23623       license = with lib.licenses; [ artistic1 gpl1Plus ];
23624     };
23625   };
23627   SVNSimple = buildPerlPackage {
23628     pname = "SVN-Simple";
23629     version = "0.28";
23630     src = fetchurl {
23631       url = "mirror://cpan/authors/id/C/CL/CLKAO/SVN-Simple-0.28.tar.gz";
23632       hash = "sha256-1jzBaeQ2m+mKU5q+nMFhG/zCs2lmplF+Z2aI/tGIT/s=";
23633     };
23634     propagatedBuildInputs = [ (pkgs.subversionClient.override { inherit perl; }) ];
23635     meta = {
23636       description = "A simple interface to subversion's editor interface";
23637       license = with lib.licenses; [ artistic1 gpl1Plus ];
23638     };
23639   };
23641   SafeHole = buildPerlModule {
23642     pname = "Safe-Hole";
23643     version = "0.14";
23644     src = fetchurl {
23645       url = "mirror://cpan/authors/id/T/TO/TODDR/Safe-Hole-0.14.tar.gz";
23646       hash = "sha256-9PVui70GxP5K4G2xIYbeyt+6wep3XqGMbAKJSB0V7AU=";
23647     };
23648     meta = {
23649       description = "Lib/Safe/Hole.pm";
23650       homepage = "https://github.com/toddr/Safe-Hole";
23651       license = with lib.licenses; [ artistic1 gpl1Plus ];
23652       broken = stdenv.isDarwin;
23653     };
23654   };
23656   Swim = buildPerlPackage {
23657     pname = "Swim";
23658     version = "0.1.48";
23659     src = fetchurl {
23660       url = "mirror://cpan/authors/id/I/IN/INGY/Swim-0.1.48.tar.gz";
23661       hash = "sha256-pfcv0vIpF/orSsuy7iw9MpA9l+5bDkSbDzhwGMd/Tww=";
23662     };
23663     propagatedBuildInputs = [ HTMLEscape HashMerge IPCRun Pegex TextAutoformat YAMLLibYAML ];
23664     meta = {
23665       description = "See What I Mean?!";
23666       homepage = "https://github.com/ingydotnet/swim-pm";
23667       license = with lib.licenses; [ artistic1 gpl1Plus ];
23668       mainProgram = "swin";
23669     };
23670   };
23672   Switch = buildPerlPackage {
23673     pname = "Switch";
23674     version = "2.17";
23675     src = fetchurl {
23676       url = "mirror://cpan/authors/id/C/CH/CHORNY/Switch-2.17.tar.gz";
23677       hash = "sha256-MTVJdRQP5iNawTChCUlkka0z3UL5xiGJ4j9J91+TbXU=";
23678     };
23679     doCheck = false;                             # FIXME: 2/293 test failures
23680     meta = {
23681       description = "A switch statement for Perl, do not use if you can use given/when";
23682       license = with lib.licenses; [ artistic1 gpl1Plus ];
23683     };
23684   };
23686   SymbolGet = buildPerlPackage {
23687     pname = "Symbol-Get";
23688     version = "0.10";
23689     src = fetchurl {
23690       url = "mirror://cpan/authors/id/F/FE/FELIPE/Symbol-Get-0.10.tar.gz";
23691       hash = "sha256-DuVWjFrjVzyodOCeTQUkRmz8Gtmiwk0LyR1MewbyHZw=";
23692     };
23693     buildInputs = [ TestDeep TestException ];
23694     propagatedBuildInputs = [ CallContext ];
23695     meta = {
23696       description = "Read Perl's symbol table programmatically";
23697       license = with lib.licenses; [ artistic1 gpl1Plus ];
23698       maintainers = [ maintainers.sgo ];
23699     };
23700   };
23702   SymbolGlobalName = buildPerlPackage {
23703     pname = "Symbol-Global-Name";
23704     version = "0.05";
23705     src = fetchurl {
23706       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Symbol-Global-Name-0.05.tar.gz";
23707       hash = "sha256-D3Yj6dckdgqmQEAiLaHYLxGIWGeRMpJhzGDa0dYNapI=";
23708     };
23709     meta = {
23710       description = "Finds name and type of a global variable";
23711       license = with lib.licenses; [ artistic1 gpl1Plus ];
23712     };
23713   };
23715   SymbolUtil = buildPerlModule {
23716     pname = "Symbol-Util";
23717     version = "0.0203";
23718     src = fetchurl {
23719       url = "mirror://cpan/authors/id/D/DE/DEXTER/Symbol-Util-0.0203.tar.gz";
23720       hash = "sha256-VbZh3SL5zpub5afgo/UomsAM0lTCHj2GAyiaVlrm3DI=";
23721     };
23722     meta = {
23723       description = "Additional utils for Perl symbols manipulation";
23724       license = with lib.licenses; [ artistic1 gpl1Plus ];
23725     };
23726   };
23728   syntax = buildPerlPackage {
23729     pname = "syntax";
23730     version = "0.004";
23731     src = fetchurl {
23732       url = "mirror://cpan/authors/id/P/PH/PHAYLON/syntax-0.004.tar.gz";
23733       hash = "sha256-/hm22oqPQ6WqLuVxRBvA4zn7FW0AgcFXoaJOmBLH02U=";
23734     };
23735     propagatedBuildInputs = [ DataOptList namespaceclean ];
23736     meta = {
23737       description = "Activate syntax extensions";
23738       homepage = "https://github.com/phaylon/syntax/wiki";
23739       license = with lib.licenses; [ artistic1 gpl1Plus ];
23740     };
23741   };
23743   SyntaxKeywordJunction = buildPerlPackage {
23744     pname = "Syntax-Keyword-Junction";
23745     version = "0.003008";
23746     src = fetchurl {
23747       url = "mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003008.tar.gz";
23748       hash = "sha256-i0l18hsZkqfmwt9dzJKyVMYZJVle3c368LFJhxeqle8=";
23749     };
23750     buildInputs = [ TestRequires ];
23751     propagatedBuildInputs = [ syntax ];
23752     meta = {
23753       description = "Perl6 style Junction operators in Perl5";
23754       homepage = "https://github.com/frioux/Syntax-Keyword-Junction";
23755       license = with lib.licenses; [ artistic1 gpl1Plus ];
23756     };
23757   };
23759   SyntaxKeywordTry = buildPerlModule {
23760     pname = "Syntax-Keyword-Try";
23761     version = "0.29";
23762     src = fetchurl {
23763       url = "mirror://cpan/authors/id/P/PE/PEVANS/Syntax-Keyword-Try-0.29.tar.gz";
23764       hash = "sha256-zDIHGdNgjaqVFHQ6Q9rCvpnLjM2Ymx/vooUpDLHVnY8=";
23765     };
23766     buildInputs = [ Test2Suite ];
23767     propagatedBuildInputs = [ XSParseKeyword ];
23768     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
23769     meta = {
23770       description = "A try/catch/finally syntax for perl";
23771       license = with lib.licenses; [ artistic1 gpl1Plus ];
23772       maintainers = [ maintainers.zakame ];
23773     };
23774   };
23776   SysMmap = buildPerlPackage {
23777     pname = "Sys-Mmap";
23778     version = "0.20";
23779     src = fetchurl {
23780       url = "mirror://cpan/authors/id/T/TO/TODDR/Sys-Mmap-0.20.tar.gz";
23781       hash = "sha256-GCDOLInxq3NXZE+NsPSfFC9UUmJQ+x4jXbEKqA8V4s8=";
23782     };
23783     meta = {
23784       description = "Use mmap to map in a file as a Perl variable";
23785       maintainers = with maintainers; [ peterhoeg ];
23786       license = with lib.licenses; [ gpl2Plus ];
23787     };
23788   };
23790   SysMemInfo = buildPerlPackage {
23791     pname = "Sys-MemInfo";
23792     version = "0.99";
23793     src = fetchurl {
23794       url = "mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-0.99.tar.gz";
23795       hash = "sha256-B4YxnTo6i65dcnk5JEvxfhQLcU9Sc01en2JyA+TPPjs=";
23796     };
23797     meta = {
23798       description = "Memory information";
23799       license = with lib.licenses; [ gpl2Plus ];
23800       maintainers = [ maintainers.pSub ];
23801     };
23802   };
23804   SysCPU = buildPerlPackage {
23805     pname = "Sys-CPU";
23806     version = "0.61";
23807     src = fetchurl {
23808       url = "mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz";
23809       hash = "sha256-JQqGt5wjEAHErnHS9mQoCSpPuyBwlxrK/UcapJc5yeQ=";
23810     };
23811     patches = [
23812       # Bug #95400 for Sys-CPU: Tests fail on ARM and AArch64 Linux
23813       # https://rt.cpan.org/Public/Bug/Display.html?id=95400
23814       (fetchpatch {
23815         url = "https://rt.cpan.org/Ticket/Attachment/1359669/721669/0001-Add-support-for-cpu_type-on-ARM-and-AArch64-Linux-pl.patch";
23816         hash = "sha256-oIJQX+Fz/CPmJNPuJyHVpJxJB2K5IQibnvaT4dv/qmY=";
23817       })
23818       (fetchpatch {
23819         url = "https://rt.cpan.org/Ticket/Attachment/1388036/737125/0002-cpu_clock-can-be-undefined-on-an-ARM.patch";
23820         hash = "sha256-nCypGyi6bZDEXqdb7wlGGzk9cFzmYkWGP1slBpXDfHw=";
23821       })
23822     ];
23823     buildInputs = lib.optional stdenv.isDarwin pkgs.darwin.apple_sdk.frameworks.Carbon;
23824     doCheck = !stdenv.isAarch64;
23825     meta = {
23826       description = "Perl extension for getting CPU information. Currently only number of CPU's supported.";
23827       license = with lib.licenses; [ artistic1 gpl1Plus ];
23828     };
23829   };
23831   SysCpuAffinity = buildPerlModule {
23832     pname = "Sys-CpuAffinity";
23833     version = "1.12";
23834     src = fetchurl {
23835       url = "mirror://cpan/authors/id/M/MO/MOB/Sys-CpuAffinity-1.12.tar.gz";
23836       hash = "sha256-/jLAXz6wWXCMZH8ruFslBFhZHyupBR2Nhm9Uajh+6Eg=";
23837     };
23838     doCheck = false; # Would run checks for all supported systems
23839     meta = {
23840       description = "Set CPU affinity for processes";
23841       license = with lib.licenses; [ artistic1 gpl1Plus ];
23842       maintainers = with maintainers; [ tomasajt ];
23843     };
23844   };
23846   SysHostnameLong = buildPerlPackage {
23847     pname = "Sys-Hostname-Long";
23848     version = "1.5";
23849     src = fetchurl {
23850       url = "mirror://cpan/authors/id/S/SC/SCOTT/Sys-Hostname-Long-1.5.tar.gz";
23851       hash = "sha256-6Rht83Bqh379YUnyxxHWz4fdbPcvark1uoEhsiWyZcs=";
23852     };
23853     doCheck = false; # no `hostname' in stdenv
23854     meta = {
23855       description = "Try every conceivable way to get full hostname";
23856       license = with lib.licenses; [ artistic1 gpl1Plus ];
23857     };
23858   };
23860   SysSigAction = buildPerlPackage {
23861     pname = "Sys-SigAction";
23862     version = "0.23";
23863     src = fetchurl {
23864       url = "mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz";
23865       hash = "sha256-xO9sk0VTQDH8u+Ktw0f8cZTUevyUXnpE+sfpVjCV01M=";
23866     };
23867     doCheck = !stdenv.isAarch64; # it hangs on Aarch64
23868     meta = {
23869       description = "Perl extension for Consistent Signal Handling";
23870       license = with lib.licenses; [ artistic1 gpl1Plus ];
23871     };
23872   };
23874   SysSyslog = buildPerlPackage {
23875     pname = "Sys-Syslog";
23876     version = "0.36";
23877     src = fetchurl {
23878       url = "mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz";
23879       hash = "sha256-7UKp5boErUhWzAy1040onDxdN2RUPsBO+vxK9+M3jfg=";
23880     };
23881     meta = {
23882       description = "Perl interface to the UNIX syslog(3) calls";
23883       license = with lib.licenses; [ artistic1 gpl1Plus ];
23884     };
23885   };
23887   SystemCommand = buildPerlPackage {
23888     pname = "System-Command";
23889     version = "1.122";
23890     src = fetchurl {
23891       url = "mirror://cpan/authors/id/B/BO/BOOK/System-Command-1.122.tar.gz";
23892       hash = "sha256-2bgjsmYZqmn3oGFmUKeBDolajfBi3p0iQNZdvlz+dHo=";
23893     };
23894     propagatedBuildInputs = [ IPCRun ];
23895     buildInputs = [ PodCoverageTrustPod TestCPANMeta TestPod TestPodCoverage ];
23896     meta = {
23897       description = "Object for running system commands";
23898       license = with lib.licenses; [ artistic1 gpl1Plus ];
23899     };
23900   };
23902   SysVirt = buildPerlModule rec {
23903     pname = "Sys-Virt";
23904     version = "10.0.0";
23905     src = fetchFromGitLab {
23906       owner = "libvirt";
23907       repo = "libvirt-perl";
23908       rev = "v${version}";
23909       hash = "sha256-FK2SaerA/GB0ZAg/QXG9Ig1Cvpg6v9lh1sKPjYU52M8=";
23910     };
23911     nativeBuildInputs = [ pkgs.pkg-config ];
23912     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
23913     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
23914     meta = {
23915       description = "Libvirt Perl API";
23916       homepage = "https://libvirt.org";
23917       license = with lib.licenses; [ gpl2Plus artistic1 ];
23918       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.SysVirt.x86_64-darwin
23919     };
23920   };
23922   TAPParserSourceHandlerpgTAP = buildPerlModule {
23923     pname = "TAP-Parser-SourceHandler-pgTAP";
23924     version = "3.36";
23925     src = fetchurl {
23926       url = "mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.36.tar.gz";
23927       hash = "sha256-B75RUy4GPqxu2OWBUFRw7ryB1VBkQa8tzzK8Dr7pjGc=";
23928     };
23929     doCheck = !stdenv.isDarwin;
23930     meta = {
23931       description = "Stream TAP from pgTAP test scripts";
23932       homepage = "https://search.cpan.org/dist/Tap-Parser-Sourcehandler-pgTAP";
23933       license = with lib.licenses; [ artistic1 gpl1Plus ];
23934     };
23935   };
23937   TaskCatalystTutorial = buildPerlPackage {
23938     pname = "Task-Catalyst-Tutorial";
23939     version = "0.06";
23940     src = fetchurl {
23941       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Task-Catalyst-Tutorial-0.06.tar.gz";
23942       hash = "sha256-dbGy2WFVZHhCWHFGzv0N4wlDuFGV6OPspR4PC4ZC1h4=";
23943     };
23944     propagatedBuildInputs = [ CatalystAuthenticationStoreDBIxClass CatalystControllerHTMLFormFu CatalystDevel CatalystManual CatalystPluginAuthorizationACL CatalystPluginAuthorizationRoles CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginStackTrace CatalystViewTT ];
23945     doCheck = false; /* fails with 'open3: exec of .. perl .. failed: Argument list too long at .../TAP/Parser/Iterator/Process.pm line 165.' */
23946     meta = {
23947       description = "Everything you need to follow the Catalyst Tutorial";
23948       license = with lib.licenses; [ artistic1 gpl1Plus ];
23949     };
23950   };
23952   TaskFreecellSolverTesting = buildPerlModule {
23953     pname = "Task-FreecellSolver-Testing";
23954     version = "0.0.12";
23955     src = fetchurl {
23956       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-FreecellSolver-Testing-0.0.12.tar.gz";
23957       hash = "sha256-PRkQt64SVBfG4HeUeOtK8/yc+J4iGVhfiiBBFGP5k6c=";
23958     };
23959     buildInputs = [ CodeTidyAll TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace TestTrap ];
23960     propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify InlineC ListMoreUtils MooX StringShellQuote TaskTestRunAllPlugins TemplateToolkit YAMLLibYAML ];
23961     meta = {
23962       description = "Install the CPAN dependencies of the Freecell Solver test suite";
23963       homepage = "https://metacpan.org/release/Task-FreecellSolver-Testing";
23964       license = with lib.licenses; [ mit ];
23965     };
23966   };
23968   TaskPlack = buildPerlModule {
23969     pname = "Task-Plack";
23970     version = "0.28";
23971     src = fetchurl {
23972       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Task-Plack-0.28.tar.gz";
23973       hash = "sha256-edUriAZUjz+Vro1qyRW6Q524SJ/mOxOdCsFym7KfXCo=";
23974     };
23975     propagatedBuildInputs = [ CGICompile CGIEmulatePSGI CGIPSGI Corona FCGI FCGIClient FCGIProcManager HTTPServerSimplePSGI IOHandleUtil NetFastCGI PSGI PlackAppProxy PlackMiddlewareAuthDigest PlackMiddlewareConsoleLogger PlackMiddlewareDebug PlackMiddlewareDeflater PlackMiddlewareHeader PlackMiddlewareReverseProxy PlackMiddlewareSession Starlet Starman Twiggy ];
23976     buildInputs = [ ModuleBuildTiny TestSharedFork ];
23977     meta = {
23978       description = "Plack bundle";
23979       license = with lib.licenses; [ artistic1 gpl1Plus ];
23980     };
23981   };
23983   TaskTestRunAllPlugins = buildPerlModule {
23984     pname = "Task-Test-Run-AllPlugins";
23985     version = "0.0106";
23986     src = fetchurl {
23987       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-Test-Run-AllPlugins-0.0106.tar.gz";
23988       hash = "sha256-G40L8IhYBmWbwpiBDw1VCq/2gEWtwjepSaymshp9zng=";
23989     };
23990     buildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
23991     meta = {
23992       description = "Specifications for installing all the Test::Run";
23993       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
23994       license = with lib.licenses; [ mit ];
23995     };
23996   };
23998   TaskWeaken = buildPerlPackage {
23999     pname = "Task-Weaken";
24000     version = "1.06";
24001     src = fetchurl {
24002       url = "mirror://cpan/authors/id/E/ET/ETHER/Task-Weaken-1.06.tar.gz";
24003       hash = "sha256-I4P+252672RkaOqCSvv3yAEHZyDPug3yp6B0cm3NZr4=";
24004     };
24005     meta = {
24006       description = "Ensure that a platform has weaken support";
24007       homepage = "https://github.com/karenetheridge/Task-Weaken";
24008       license = with lib.licenses; [ artistic1 gpl1Plus ];
24009     };
24010   };
24012   Tcl = buildPerlPackage {
24013     pname = "Tcl";
24014     version = "1.27";
24015     src = fetchurl {
24016       url = "mirror://cpan/authors/id/V/VK/VKON/Tcl-1.27.tar.gz";
24017       hash = "sha256-+DhYd6Sp7Z89OQPS0PfNcPrDzmgyxg9gCmghzuP7WHI=";
24018     };
24019     propagatedBuildInputs = [
24020       pkgs.bwidget
24021       pkgs.tcl
24022       pkgs.tix
24023       pkgs.tk
24024     ] ++ lib.optionals stdenv.isDarwin [
24025       darwin.apple_sdk.frameworks.CoreServices ];
24026     makeMakerFlags = lib.optionals stdenv.isLinux
24027       [ "--tclsh=${pkgs.tcl}/bin/tclsh" "--nousestubs" ];
24028     meta = {
24029       description = "Tcl extension module for Perl";
24030       license = with lib.licenses; [ artistic1 gpl1Plus ];
24031     };
24032   };
24034   TclpTk = buildPerlPackage {
24035     pname = "Tcl-pTk";
24036     version = "1.11";
24037     src = fetchurl {
24038       url = "mirror://cpan/authors/id/C/CA/CAC/Tcl-pTk-1.11.tar.gz";
24039       hash = "sha256-05PxKxzN7I8ZbN27WJHZSEx5qpQQWmN22f+cRg2CDN0=";
24040     };
24041     propagatedBuildInputs = [
24042       ClassISA
24043       SubName
24044       Tcl
24045       TestDeep
24046     ];
24047     buildPhase = ''
24048       perl Makefile.PL --tclsh "${pkgs.tk.tcl}/bin/tclsh" INSTALL_BASE=$out --no-test-for-tk
24049     '';
24050     postInstall = ''
24051       mkdir -p $out/lib/perl5/site_perl
24052       mv $out/lib/perl5/Tcl $out/lib/perl5/site_perl/
24053       mv $out/lib/perl5/auto $out/lib/perl5/site_perl/
24054     '' + lib.optionalString stdenv.isDarwin ''
24055       mv $out/lib/perl5/darwin-thread-multi-2level $out/lib/perl5/site_perl/
24056     '';
24057     meta = {
24058       description = "Interface to Tcl/Tk with Perl/Tk compatible syntax";
24059       license = with lib.licenses; [ artistic1 gpl1Plus ];
24060     };
24061   };
24063   TemplatePluginAutoformat = buildPerlPackage {
24064     pname = "Template-Plugin-Autoformat";
24065     version = "2.77";
24066     src = fetchurl {
24067       url = "mirror://cpan/authors/id/K/KA/KARMAN/Template-Plugin-Autoformat-2.77.tar.gz";
24068       hash = "sha256-vd+0kZ8Kuyor56lmUzPg1OCYAy8OOD268ExNiWx0hu0=";
24069     };
24070     propagatedBuildInputs = [ TemplateToolkit TextAutoformat ];
24071     meta = {
24072       description = "TT plugin for Text::Autoformat";
24073       homepage = "https://github.com/karpet/template-plugin-autoformat";
24074       license = with lib.licenses; [ artistic1 gpl1Plus ];
24075     };
24076   };
24078   TemplatePluginClass = buildPerlPackage {
24079     pname = "Template-Plugin-Class";
24080     version = "0.14";
24081     src = fetchurl {
24082       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Template-Plugin-Class-0.14.tar.gz";
24083       hash = "sha256-BgT+iue/OtlnnmTZsa1MnpAUwXeqgOg11SqG942XB8M=";
24084     };
24085     propagatedBuildInputs = [ TemplateToolkit ];
24086     meta = {
24087       description = "Allow calling of class methods on arbitrary classes";
24088       license = with lib.licenses; [ artistic1 gpl1Plus ];
24089     };
24090   };
24092   TemplatePluginIOAll = buildPerlPackage {
24093     pname = "Template-Plugin-IO-All";
24094     version = "0.01";
24095     src = fetchurl {
24096       url = "mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz";
24097       hash = "sha256-H3RFQiohky4Ju++TV2bgr2t8zrCI6djgMM16hLzcXuQ=";
24098     };
24099     propagatedBuildInputs = [ IOAll TemplateToolkit ];
24100     meta = {
24101       description = "Perl Template Toolkit Plugin for IO::All";
24102       license = with lib.licenses; [ artistic1 gpl1Plus ];
24103       maintainers = with maintainers; [ eelco ];
24104     };
24105   };
24107   TemplatePluginJavaScript = buildPerlPackage {
24108     pname = "Template-Plugin-JavaScript";
24109     version = "0.02";
24110     src = fetchurl {
24111       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Template-Plugin-JavaScript-0.02.tar.gz";
24112       hash = "sha256-6iDYBq1lIoLQNTSY4oYN+BJcgLZJFjDCXSY72IDGGNc=";
24113     };
24114     propagatedBuildInputs = [ TemplateToolkit ];
24115     meta = {
24116       description = "Encodes text to be safe in JavaScript";
24117       license = with lib.licenses; [ artistic1 gpl1Plus ];
24118     };
24119   };
24121   TemplatePluginJSONEscape = buildPerlPackage {
24122     pname = "Template-Plugin-JSON-Escape";
24123     version = "0.02";
24124     src = fetchurl {
24125       url = "mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz";
24126       hash = "sha256-BRqLHTvGAdWPxR4kYGfTZFDP6XAnigRW6KthlA8TzYY=";
24127     };
24128     propagatedBuildInputs = [ JSON TemplateToolkit ];
24129     meta = {
24130       description = "Adds a .json vmethod and a json filter";
24131       license = with lib.licenses; [ bsd0 ];
24132     };
24133   };
24135   TemplateTimer = buildPerlPackage {
24136     pname = "Template-Timer";
24137     version = "1.00";
24138     src = fetchurl {
24139       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz";
24140       hash = "sha256-tzFMs2UgnZNVe4BU4DEa6MPLXRydIo0es+P8GTpbd7Q=";
24141     };
24142     propagatedBuildInputs = [ TemplateToolkit ];
24143     meta = {
24144       description = "Rudimentary profiling for Template Toolkit";
24145       license = with lib.licenses; [ artistic2 gpl3Only ];
24146     };
24147   };
24149   TemplateTiny = buildPerlPackage {
24150     pname = "Template-Tiny";
24151     version = "1.14";
24152     src = fetchurl {
24153       url = "mirror://cpan/authors/id/E/ET/ETHER/Template-Tiny-1.14.tar.gz";
24154       hash = "sha256-gZz6tgREg8/ijOsof938MXaiAlsbbw6YCy3MJtImm0w=";
24155     };
24156     meta = {
24157       description = "Template Toolkit reimplemented in as little code as possible";
24158       homepage = "https://github.com/karenetheridge/Template-Tiny";
24159       license = with lib.licenses; [ artistic1 gpl1Plus ];
24160     };
24161   };
24163   TemplateToolkit = buildPerlPackage {
24164     pname = "Template-Toolkit";
24165     version = "3.101";
24166     src = fetchurl {
24167       url = "mirror://cpan/authors/id/A/AB/ABW/Template-Toolkit-3.101.tar.gz";
24168       hash = "sha256-0qMt1sIeSzfGqT34CHyp6IDPrmE6Pl766jB7C9yu21g=";
24169     };
24170     doCheck = !stdenv.isDarwin;
24171     propagatedBuildInputs = [ AppConfig ];
24172     buildInputs = [ CGI TestLeakTrace ];
24173     meta = {
24174       description = "Comprehensive template processing system";
24175       homepage = "http://www.template-toolkit.org";
24176       license = with lib.licenses; [ artistic1 gpl1Plus ];
24177     };
24178   };
24180   TemplateGD = buildPerlPackage {
24181     pname = "Template-GD";
24182     version = "2.66";
24183     src = fetchurl {
24184       url = "mirror://cpan/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz";
24185       hash = "sha256-mFI8gZLy6BhAQuWi4XK9dnrCid0uSA819oDc4yFgkFs=";
24186     };
24187     propagatedBuildInputs = [ GD TemplateToolkit ];
24188     meta = {
24189       description = "GD plugin(s) for the Template Toolkit";
24190       license = with lib.licenses; [ artistic1 gpl1Plus ];
24191     };
24192   };
24194   TermEncoding = buildPerlPackage {
24195     pname = "Term-Encoding";
24196     version = "0.03";
24197     src = fetchurl {
24198       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Term-Encoding-0.03.tar.gz";
24199       hash = "sha256-lbqWh9c10lo8vmRQjXiU8AnH+ioXJsPnhuniHaIlHQs=";
24200     };
24201     meta = {
24202       description = "Detect encoding of the current terminal";
24203       homepage = "https://github.com/miyagawa/Term-Encoding";
24204       license = with lib.licenses; [ artistic1 gpl1Plus ];
24205     };
24206   };
24208   TermProgressBar = buildPerlPackage {
24209     pname = "Term-ProgressBar";
24210     version = "2.23";
24211     src = fetchurl {
24212       url = "mirror://cpan/authors/id/M/MA/MANWAR/Term-ProgressBar-2.23.tar.gz";
24213       hash = "sha256-3vwD+59KwcnfE1nTEr/zwIZd3vvzq6ZM1CppqGIV1J0=";
24214     };
24215     buildInputs = [ CaptureTiny TestException TestWarnings ];
24216     propagatedBuildInputs = [ ClassMethodMaker TermReadKey ];
24217     meta = {
24218       description = "Provide a progress meter on a standard terminal";
24219       license = with lib.licenses; [ artistic1 gpl1Plus ];
24220     };
24221   };
24223   TermProgressBarQuiet = buildPerlPackage {
24224     pname = "Term-ProgressBar-Quiet";
24225     version = "0.31";
24226     src = fetchurl {
24227       url = "mirror://cpan/authors/id/L/LB/LBROCARD/Term-ProgressBar-Quiet-0.31.tar.gz";
24228       hash = "sha256-JWdSkvWIvCnTLnEM82Z9qaKhdR4TmAF3Cp/bGM0hhKY=";
24229     };
24230     propagatedBuildInputs = [ IOInteractive TermProgressBar ];
24231     buildInputs = [ TestMockObject ];
24232     meta = {
24233       description = "Provide a progress meter if run interactively";
24234       license = with lib.licenses; [ artistic1 gpl1Plus ];
24235     };
24236   };
24238   TermProgressBarSimple = buildPerlPackage {
24239     pname = "Term-ProgressBar-Simple";
24240     version = "0.03";
24241     src = fetchurl {
24242       url = "mirror://cpan/authors/id/E/EV/EVDB/Term-ProgressBar-Simple-0.03.tar.gz";
24243       hash = "sha256-og2zxn1b39DB+rOSxtHCaICn7oQ69gKvT5tTpwQ1eaY=";
24244     };
24245     propagatedBuildInputs = [ TermProgressBarQuiet ];
24246     buildInputs = [ TestMockObject ];
24247     meta = {
24248       description = "Simpler progress bars";
24249       license = with lib.licenses; [ artistic1 gpl1Plus ];
24250     };
24251   };
24253   TermReadKey = let
24254     cross = stdenv.hostPlatform != stdenv.buildPlatform;
24255   in buildPerlPackage {
24256     pname = "TermReadKey";
24257     version = "2.38";
24258     src = fetchurl {
24259       url = "mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.38.tar.gz";
24260       hash = "sha256-WmRYeNxXCsM2YVgfuwkP8k684X1D6lP9IuEFqFakcpA=";
24261     };
24263     # use native libraries from the host when running build commands
24264     postConfigure = lib.optionalString cross (let
24265       host_perl = perl.perlOnBuild;
24266       host_self = perl.perlOnBuild.pkgs.TermReadKey;
24267       perl_lib = "${host_perl}/lib/perl5/${host_perl.version}";
24268       self_lib = "${host_self}/lib/perl5/site_perl/${host_perl.version}";
24269     in ''
24270       sed -ie 's|"-I$(INST_ARCHLIB)"|"-I${perl_lib}" "-I${self_lib}"|g' Makefile
24271     '');
24273     # TermReadKey uses itself in the build process
24274     nativeBuildInputs = lib.optionals cross [
24275       perl.perlOnBuild.pkgs.TermReadKey
24276     ];
24277     meta = {
24278       description = "A perl module for simple terminal control";
24279       license = with lib.licenses; [ artistic1 gpl1Plus ];
24280     };
24281   };
24283   TermReadLineGnu = buildPerlPackage {
24284     pname = "Term-ReadLine-Gnu";
24285     version = "1.46";
24286     src = fetchurl {
24287       url = "mirror://cpan/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.46.tar.gz";
24288       hash = "sha256-sTgyEy5QNmw0/qwSzoKDfAqds0ylMK5dJ9uXz5yWTHs=";
24289     };
24290     buildInputs = [ pkgs.readline pkgs.ncurses ];
24291     NIX_CFLAGS_LINK = "-lreadline -lncursesw";
24293     # For some crazy reason Makefile.PL doesn't generate a Makefile if
24294     # AUTOMATED_TESTING is set.
24295     env.AUTOMATED_TESTING = false;
24297     # Makefile.PL looks for ncurses in Glibc's prefix.
24298     preConfigure =
24299       ''
24300         substituteInPlace Makefile.PL --replace '$Config{libpth}' \
24301           "'${pkgs.ncurses.out}/lib'"
24302       '';
24304     # Tests don't work because they require /dev/tty.
24305     doCheck = false;
24307     meta = {
24308       description = "Perl extension for the GNU Readline/History Library";
24309       homepage = "https://github.com/hirooih/perl-trg";
24310       license = with lib.licenses; [ artistic1 gpl1Plus ];
24311       mainProgram = "perlsh";
24312     };
24313   };
24315   TermReadLineTTYtter = buildPerlPackage {
24316     pname = "Term-ReadLine-TTYtter";
24317     version = "1.4";
24318     src = fetchurl {
24319       url = "mirror://cpan/authors/id/C/CK/CKAISER/Term-ReadLine-TTYtter-1.4.tar.gz";
24320       hash = "sha256-rDcxM87hshIqgnP+e0JEYT0O7O/oi2aL2Y/nHR7ErJM=";
24321     };
24323     outputs = [ "out" ];
24325     meta = {
24326       description = "A Term::ReadLine driver based on Term::ReadLine::Perl, with special features for microblogging and the TTYtter client (q.v)";
24327       homepage = "https://www.floodgap.com/software/ttytter";
24328       license = with lib.licenses; [ artistic1 gpl1Plus ];
24329     };
24330   };
24332   TermReadPassword = buildPerlPackage rec {
24333     pname = "Term-ReadPassword";
24334     version = "0.11";
24335     src = fetchurl {
24336       url = "mirror://cpan/authors/id/P/PH/PHOENIX/${pname}-${version}.tar.gz";
24337       hash = "sha256-4ahmNFs1+f/vfQA34T1tTLKAMQCJ+YwgcTiAvHD7QyM=";
24338     };
24340     outputs = [ "out" ];
24342     meta = {
24343       description = "This module lets you ask the user for a password in the traditional way, from the keyboard, without echoing";
24344       license = with lib.licenses; [ artistic1 gpl1Plus ];
24345     };
24346   };
24348   TermShell = buildPerlModule {
24349     pname = "Term-Shell";
24350     version = "0.13";
24351     src = fetchurl {
24352       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Term-Shell-0.13.tar.gz";
24353       hash = "sha256-U6C9smVokcUIpHDZPLfhz+qzjuqeWClWCn2LX2APa/I=";
24354     };
24355     propagatedBuildInputs = [ TermReadKey TextAutoformat ];
24356     meta = {
24357       homepage = "https://metacpan.org/release/Term-Shell";
24358       description = "A simple command-line shell framework";
24359       license = with lib.licenses; [ artistic1 gpl1Plus ];
24360     };
24361   };
24363   TermShellUI = buildPerlPackage {
24364     pname = "Term-ShellUI";
24365     version = "0.92";
24366     src = fetchurl {
24367       url = "mirror://cpan/authors/id/B/BR/BRONSON/Term-ShellUI-0.92.tar.gz";
24368       hash = "sha256-MnnAHHYiczXu/wkDKkD0sCsoUVGzV2wEys0VvgWUK9s=";
24369     };
24370     meta = {
24371       description = "A fully-featured shell-like command line environment";
24372       license = with lib.licenses; [ mit ];
24373     };
24374   };
24376   TermSizeAny = buildPerlPackage {
24377     pname = "Term-Size-Any";
24378     version = "0.002";
24379     src = fetchurl {
24380       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Any-0.002.tar.gz";
24381       hash = "sha256-ZPpf2xrjqCMTSqqVrsdTVLwXvdnKEroKeuNKflGz3tI=";
24382     };
24383     propagatedBuildInputs = [ DevelHide TermSizePerl ];
24384     meta = {
24385       description = "Retrieve terminal size";
24386       license = with lib.licenses; [ artistic1 gpl1Plus ];
24387     };
24388   };
24390   TermSizePerl = buildPerlPackage {
24391     pname = "Term-Size-Perl";
24392     version = "0.031";
24393     src = fetchurl {
24394       url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.031.tar.gz";
24395       hash = "sha256-rppnRssbMF3cj42MpGh4VSucESNiiXHhOidRg4IvIJ4=";
24396     };
24397     meta = {
24398       description = "Perl extension for retrieving terminal size (Perl version)";
24399       license = with lib.licenses; [ artistic1 gpl1Plus ];
24400     };
24401   };
24403   TermTable = buildPerlPackage {
24404     pname = "Term-Table";
24405     version = "0.017";
24406     src = fetchurl {
24407       url = "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.017.tar.gz";
24408       hash = "sha256-8R20JorYBE9uGhrJU0ygzTrXecQAb/83+uUA25j6yRo=";
24409     };
24410     propagatedBuildInputs = [ Importer ];
24411     meta = {
24412       description = "Format a header and rows into a table";
24413       license = with lib.licenses; [ artistic1 gpl1Plus ];
24414     };
24415   };
24417   TermSk = buildPerlPackage {
24418     pname = "Term-Sk";
24419     version = "0.18";
24420     src = fetchurl {
24421       url = "mirror://cpan/authors/id/K/KE/KEICHNER/Term-Sk-0.18.tar.gz";
24422       hash = "sha256-8uSReWBhIFsIaIgCsod5LX2AOwiXIzn7EHC6BWEq+IU=";
24423     };
24424     meta = {
24425       description = "Perl extension for displaying a progress indicator on a terminal";
24426       license = with lib.licenses; [ artistic1 gpl1Plus ];
24427     };
24428   };
24430   TermUI = buildPerlPackage {
24431     pname = "Term-UI";
24432     version = "0.50";
24433     src = fetchurl {
24434       url = "mirror://cpan/authors/id/B/BI/BINGOS/Term-UI-0.50.tar.gz";
24435       hash = "sha256-YL/dbUwVi4jTcBM/xlsgSFo2pFsS2QYAC4HHjKUkFj0=";
24436     };
24437     propagatedBuildInputs = [ LogMessageSimple ];
24438     meta = {
24439       description = "User interfaces via Term::ReadLine made easy";
24440       license = with lib.licenses; [ artistic1 gpl1Plus ];
24441     };
24442   };
24444   TermVT102 = buildPerlPackage {
24445     pname = "Term-VT102";
24446     version = "0.91";
24447     src = fetchurl {
24448       url = "mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz";
24449       hash = "sha256-+VTgMQlB1FwPw+tKQPXToA1oEZ4nfTA6HmrxHe1vvZQ=";
24450     };
24451     meta = {
24452       description = "A class to emulate a DEC VT102 terminal";
24453       license = with lib.licenses; [ artistic2 ];
24454     };
24455   };
24457   TermVT102Boundless = buildPerlPackage {
24458     pname = "Term-VT102-Boundless";
24459     version = "0.05";
24460     src = fetchurl {
24461       url = "mirror://cpan/authors/id/F/FB/FBARRIOS/Term-VT102-Boundless-0.05.tar.gz";
24462       hash = "sha256-4d7YWuPXa1nAO4aX9KbLAa4xvWKpNU9bt9GPnpJ7SF8=";
24463     };
24464     propagatedBuildInputs = [ TermVT102 ];
24465     meta = {
24466       description = "A Term::VT102 that grows automatically to accommodate whatever you print to it";
24467       license = with lib.licenses; [ artistic1 gpl1Plus ];
24468     };
24469   };
24471   TermAnimation = buildPerlPackage {
24472     pname = "Term-Animation";
24473     version = "2.6";
24474     src = fetchurl {
24475       url = "mirror://cpan/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz";
24476       hash = "sha256-fVw8LU+bZXqLHc5/Xiy74CraLpfHLzoDBL88mdCEsEU=";
24477     };
24478     propagatedBuildInputs = [ Curses ];
24479     meta = {
24480       description = "ASCII sprite animation framework";
24481       license = with lib.licenses; [ artistic1 gpl1Plus ];
24482     };
24483   };
24485   Test2Harness = buildPerlPackage {
24486     pname = "Test2-Harness";
24487     version = "1.000155";
24488     src = fetchurl {
24489       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Harness-1.000155.tar.gz";
24490       hash = "sha256-Hvi/euDKALaHu24RXzq4yVBI5ICsmuUylzabxpSkc4s=";
24491     };
24493     checkPhase = ''
24494       patchShebangs ./t ./scripts/yath
24495       export AUTOMATED_TESTING=1
24496       ./scripts/yath test -j $NIX_BUILD_CORES
24497     '';
24499     propagatedBuildInputs = [ DataUUID Importer LongJump ScopeGuard TermTable Test2PluginMemUsage Test2PluginUUID Test2Suite YAMLTiny gotofile ];
24500     meta = {
24501       description = "A new and improved test harness with better Test2 integration";
24502       license = with lib.licenses; [ artistic1 gpl1Plus ];
24503       mainProgram = "yath";
24504       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.Test2Harness.x86_64-darwin
24505     };
24506   };
24508   Test2PluginMemUsage = buildPerlPackage {
24509     pname = "Test2-Plugin-MemUsage";
24510     version = "0.002003";
24511     src = fetchurl {
24512       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-MemUsage-0.002003.tar.gz";
24513       hash = "sha256-XgZi1agjrggWQfXOgoQxEe7BgxzTH4g6bG3lSv34fCU=";
24514     };
24515     buildInputs = [ Test2Suite ];
24516     meta = {
24517       description = "Collect and display memory usage information";
24518       license = with lib.licenses; [ artistic1 gpl1Plus ];
24519     };
24520   };
24522   Test2PluginUUID = buildPerlPackage {
24523     pname = "Test2-Plugin-UUID";
24524     version = "0.002001";
24525     src = fetchurl {
24526       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Plugin-UUID-0.002001.tar.gz";
24527       hash = "sha256-TGyNSE1xU9h3ncFVqZKyAwlbXFqhz7Hui87c0GAYeMk=";
24528     };
24529     buildInputs = [ Test2Suite ];
24530     propagatedBuildInputs = [ DataUUID ];
24531     meta = {
24532       description = "Use REAL UUIDs in Test2";
24533       license = with lib.licenses; [ artistic1 gpl1Plus ];
24534     };
24535   };
24537   Test2PluginNoWarnings = buildPerlPackage {
24538     pname = "Test2-Plugin-NoWarnings";
24539     version = "0.09";
24540     src = fetchurl {
24541       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.09.tar.gz";
24542       hash = "sha256-vj3YAAQu7zYr8X0gVs+ek03ukczOmOTxeLj7V3Ly+3Q=";
24543     };
24544     buildInputs = [ IPCRun3 Test2Suite ];
24545     propagatedBuildInputs = [ TestSimple13 ];
24546     meta = {
24547       description = "Fail if tests warn";
24548       homepage = "https://metacpan.org/release/Test2-Plugin-NoWarnings";
24549       license = with lib.licenses; [ artistic2 ];
24550     };
24551   };
24553   Test2Suite = buildPerlPackage {
24554     pname = "Test2-Suite";
24555     version = "0.000156";
24556     src = fetchurl {
24557       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000156.tar.gz";
24558       hash = "sha256-vzgq5y86k79+02iFEY+uL/qw/xF3Q/WQON8lTv7yyU4=";
24559     };
24560     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
24561     meta = {
24562       description = "Distribution with a rich set of tools built upon the Test2 framework";
24563       license = with lib.licenses; [ artistic1 gpl1Plus ];
24564     };
24565   };
24567   Test2ToolsFFI = buildPerlPackage {
24568     pname = "Test2-Tools-FFI";
24569     version = "0.06";
24570     src = fetchurl {
24571       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test2-Tools-FFI-0.06.tar.gz";
24572       hash = "sha256-MA28QKEubG+7y7lv05uQK+bZZXJtrx5qtzuKCv0lLy8=";
24573     };
24574     buildInputs = [ FileShareDirInstall Test2Suite ];
24575     propagatedBuildInputs = [ CaptureTiny FFICheckLib FFIPlatypus FileShareDirDist ];
24576     meta = {
24577       homepage = "https://metacpan.org/pod/Test2::Tools::FFI";
24578       description = "Tools for testing FFI";
24579       license = with lib.licenses; [ artistic1 gpl1Plus ];
24580       maintainers = with maintainers; [ tomasajt ];
24581     };
24582   };
24584   Test2ToolsMemoryCycle = buildPerlPackage {
24585     pname = "Test2-Tools-MemoryCycle";
24586     version = "0.01";
24587     src = fetchurl {
24588       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test2-Tools-MemoryCycle-0.01.tar.gz";
24589       hash = "sha256-U1s9ylQqMyUVEq3ktafb6+PESNg/iA0ZjkPcEnl5aYs=";
24590     };
24591     buildInputs = [ Test2Suite ];
24592     propagatedBuildInputs = [ DevelCycle PadWalker ];
24593     meta = {
24594       homepage = "https://metacpan.org/pod/Test2::Tools::MemoryCycle";
24595       description = "Check for memory leaks and circular memory references";
24596       license = with lib.licenses; [ artistic1 gpl1Plus ];
24597       maintainers = with maintainers; [ tomasajt ];
24598     };
24599   };
24601   TestAbortable = buildPerlPackage {
24602     pname = "Test-Abortable";
24603     version = "0.003";
24604     src = fetchurl {
24605       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Abortable-0.003.tar.gz";
24606       hash = "sha256-TVPDXvPLf5wXUrqfEdOpeiETt9hMJg6rj5p8G4Aba40=";
24607     };
24608     propagatedBuildInputs = [ SubExporter ];
24609     buildInputs = [ TestNeeds ];
24610     meta = {
24611       description = "Subtests that you can die your way out of ... but survive";
24612       homepage = "https://github.com/rjbs/Test-Abortable";
24613       license = with lib.licenses; [ artistic1 gpl1Plus ];
24614     };
24615   };
24617   TestAssert = buildPerlModule {
24618     pname = "Test-Assert";
24619     version = "0.0504";
24620     src = fetchurl {
24621       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Assert-0.0504.tar.gz";
24622       hash = "sha256-z6NtqWxQQzH/ICZ0e6R9R37+g1z2zyNO4QywX6n7i6Q=";
24623     };
24624     buildInputs = [ ClassInspector TestUnitLite ];
24625     propagatedBuildInputs = [ ExceptionBase constantboolean ];
24626     meta = {
24627       description = "Assertion methods for those who like JUnit";
24628       license = with lib.licenses; [ artistic1 gpl1Plus ];
24629     };
24630   };
24632   TestAssertions = buildPerlPackage {
24633     pname = "Test-Assertions";
24634     version = "1.054";
24635     src = fetchurl {
24636       url = "mirror://cpan/authors/id/B/BB/BBC/Test-Assertions-1.054.tar.gz";
24637       hash = "sha256-/NzkHVcnOIFYGt9oCiCmrfUaTDt+McP2mGb7kQk3AoA=";
24638     };
24639     propagatedBuildInputs = [ LogTrace ];
24640     meta = {
24641       description = "A simple set of building blocks for both unit and runtime testing";
24642       license = with lib.licenses; [ gpl2Only ];
24643     };
24644   };
24646   TestAggregate = buildPerlModule {
24647     pname = "Test-Aggregate";
24648     version = "0.375";
24649     src = fetchurl {
24650       url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Test-Aggregate-0.375.tar.gz";
24651       hash = "sha256-xswKv9DU/OhTcazKk+wkU4GEHTK0yqLWR15LyBMEJ9E=";
24652     };
24653     buildInputs = [ TestMost TestNoWarnings TestTrap ];
24654     meta = {
24655       description = "Aggregate *.t tests to make them run faster";
24656       license = with lib.licenses; [ artistic1 gpl1Plus ];
24657       broken = true; # This module only works with Test::More version < 1.3, but you have 1.302133
24658     };
24659   };
24662   TestBase = buildPerlPackage {
24663     pname = "Test-Base";
24664     version = "0.89";
24665     src = fetchurl {
24666       url = "mirror://cpan/authors/id/I/IN/INGY/Test-Base-0.89.tar.gz";
24667       hash = "sha256-J5Shqq6x06KH3SxyhiWGY3llYvfbnMxrQkvE8d6K0BQ=";
24668     };
24669     propagatedBuildInputs = [ Spiffy ];
24670     buildInputs = [ AlgorithmDiff TextDiff ];
24671     meta = {
24672       description = "A Data Driven Testing Framework";
24673       license = with lib.licenses; [ artistic1 gpl1Plus ];
24674     };
24675   };
24677   TestBits = buildPerlPackage {
24678     pname = "Test-Bits";
24679     version = "0.02";
24680     src = fetchurl {
24681       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test-Bits-0.02.tar.gz";
24682       hash = "sha256-qYJvVkg6J+LGMVZZDzKKNjPjA3XBDfyJ9mkOOSneC8M=";
24683     };
24684     propagatedBuildInputs = [ ListAllUtils ];
24685     buildInputs = [ TestFatal ];
24686     meta = {
24687       description = "Provides a bits_is() subroutine for testing binary data";
24688       homepage = "https://metacpan.org/release/Test-Bits";
24689       license = with lib.licenses; [ artistic2 ];
24690     };
24691   };
24693   TestCheckDeps = buildPerlPackage {
24694     pname = "Test-CheckDeps";
24695     version = "0.010";
24696     src = fetchurl {
24697       url = "mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.010.tar.gz";
24698       hash = "sha256-ZvzMpsbzMOfsyJi9alGEbiFFs+AteMSZe6a33iO1Ue4=";
24699     };
24700     propagatedBuildInputs = [ CPANMetaCheck ];
24701     meta = {
24702       description = "Check for presence of dependencies";
24703       license = with lib.licenses; [ artistic1 gpl1Plus ];
24704     };
24705   };
24707   TestClass = buildPerlPackage {
24708     pname = "Test-Class";
24709     version = "0.52";
24710     src = fetchurl {
24711       url = "mirror://cpan/authors/id/S/SZ/SZABGAB/Test-Class-0.52.tar.gz";
24712       hash = "sha256-QMGx04jwqGdHacJ1KfDMNjTKD9nY9ysZbAUxYRk0vII=";
24713     };
24714     buildInputs = [ TestException ];
24715     propagatedBuildInputs = [ MROCompat ModuleRuntime TryTiny ];
24716     meta = {
24717       description = "Easily create test classes in an xUnit/JUnit style";
24718       license = with lib.licenses; [ artistic1 gpl1Plus ];
24719     };
24720   };
24722   TestClassMost = buildPerlModule {
24723     pname = "Test-Class-Most";
24724     version = "0.08";
24725     src = fetchurl {
24726       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-0.08.tar.gz";
24727       hash = "sha256-Y0ze2Gu6Xd4Hztcv+4pGcF/5OqhEuY6WveBVQCNMff8=";
24728     };
24729     buildInputs = [ TestClass TestDeep TestDifferences TestException TestMost TestWarn ];
24730     meta = {
24731       description = "Test Classes the easy way";
24732       license = with lib.licenses; [ artistic1 gpl1Plus ];
24733     };
24734   };
24736   TestCleanNamespaces = buildPerlPackage {
24737     pname = "Test-CleanNamespaces";
24738     version = "0.24";
24739     src = fetchurl {
24740       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.24.tar.gz";
24741       hash = "sha256-M41VaejommVJNfhD7AvISqpIb+jdGJj7nKs+zOzVMno=";
24742     };
24743     buildInputs = [ Filepushd Moo Mouse RoleTiny SubExporter TestDeep TestNeeds TestWarnings namespaceclean ];
24744     propagatedBuildInputs = [ PackageStash SubIdentify ];
24745     meta = {
24746       description = "Check for uncleaned imports";
24747       homepage = "https://github.com/karenetheridge/Test-CleanNamespaces";
24748       license = with lib.licenses; [ artistic1 gpl1Plus ];
24749     };
24750   };
24752   TestCmd = buildPerlPackage {
24753     pname = "Test-Cmd";
24754     version = "1.09";
24755     src = fetchurl {
24756       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Cmd-1.09.tar.gz";
24757       hash = "sha256-zzMg7N3nkeC4lFogwfbyZdkPHj2rGPHiPLZ3x51yloQ=";
24758     };
24759       doCheck = false; /* test fails */
24760     meta = {
24761       description = "Perl module for portable testing of commands and scripts";
24762       homepage = "https://github.com/neilb/Test-Cmd";
24763       license = with lib.licenses; [ artistic1 gpl1Plus ];
24764     };
24765   };
24767   TestCommand = buildPerlModule {
24768     pname = "Test-Command";
24769     version = "0.11";
24770     src = fetchurl {
24771       url = "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz";
24772       hash = "sha256-KKP8b+pzoZ9WPxG9DygYZ1bUx0IHvm3qyq0m0ggblTM=";
24773     };
24774     meta = {
24775       description = "Test routines for external commands";
24776       homepage = "https://metacpan.org/release/Test-Command";
24777       license = with lib.licenses; [ artistic1 gpl1Plus ];
24778     };
24779   };
24781   TestCompile = buildPerlModule {
24782     pname = "Test-Compile";
24783     version = "3.3.1";
24784     src = fetchurl {
24785       url = "mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v3.3.1.tar.gz";
24786       hash = "sha256-gIRQ89Ref0GapNZo4pgodonp6jY4hpO/8YDXhwzj5iE=";
24787     };
24788     propagatedBuildInputs = [ UNIVERSALrequire ];
24789     meta = {
24790       description = "Assert that your Perl files compile OK";
24791       license = with lib.licenses; [ artistic1 gpl1Plus ];
24792     };
24793   };
24795   TestCPANMeta = buildPerlPackage {
24796     pname = "Test-CPAN-Meta";
24797     version = "0.25";
24798     src = fetchurl {
24799       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz";
24800       hash = "sha256-9VtPnPa8OW0P6AJyZ2hcsqxK/86JfQlnoxf6xttajbU=";
24801     };
24802     meta = {
24803       description = "Validate your CPAN META.json files";
24804       license = with lib.licenses; [ artistic2 ];
24805     };
24806   };
24808   TestCPANMetaJSON = buildPerlPackage {
24809     pname = "Test-CPAN-Meta-JSON";
24810     version = "0.16";
24811     src = fetchurl {
24812       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-0.16.tar.gz";
24813       hash = "sha256-Z6xQmt/7HSslao+MBSPgB2HZYBZhksYHApj3CIqa6ck=";
24814     };
24815     propagatedBuildInputs = [ JSON ];
24816     meta = {
24817       description = "Validate your CPAN META.json files";
24818       license = with lib.licenses; [ artistic2 ];
24819     };
24820   };
24822   TestDataSplit = buildPerlModule {
24823     pname = "Test-Data-Split";
24824     version = "0.2.2";
24825     src = fetchurl {
24826       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Data-Split-0.2.2.tar.gz";
24827       hash = "sha256-5Qg4kK2tMNfeUHA1adX1zvF0oZhZNSLqe0bOOHuCgCI=";
24828     };
24829     buildInputs = [ TestDifferences ];
24830     propagatedBuildInputs = [ IOAll ListMoreUtils MooX MooXlate ];
24831     meta = {
24832       description = "Split data-driven tests into several test scripts";
24833       homepage = "https://metacpan.org/release/Test-Data-Split";
24834       license = with lib.licenses; [ mit ];
24835     };
24836   };
24838   TestDeep = buildPerlPackage {
24839     pname = "Test-Deep";
24840     version = "1.204";
24841     src = fetchurl {
24842       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-1.204.tar.gz";
24843       hash = "sha256-tlkfbM3YU8fvyf88V1Y3BAMhHP/kYEfwgrHNFhGoTl8=";
24844     };
24845     meta = {
24846       description = "Extremely flexible deep comparison";
24847       homepage = "https://github.com/rjbs/Test-Deep";
24848       license = with lib.licenses; [ artistic1 gpl1Plus ];
24849     };
24850   };
24852   TestDeepJSON = buildPerlModule {
24853     pname = "Test-Deep-JSON";
24854     version = "0.05";
24855     src = fetchurl {
24856       url = "mirror://cpan/authors/id/M/MO/MOTEMEN/Test-Deep-JSON-0.05.tar.gz";
24857       hash = "sha256-rshXG54xtzAeJhMsEyxoAJUtwInGRddpVKOtGms1CFg=";
24858     };
24859     buildInputs = [ ModuleBuildTiny ];
24860     propagatedBuildInputs = [ ExporterLite JSONMaybeXS TestDeep ];
24861     meta = {
24862       description = "Compare JSON with Test::Deep";
24863       homepage = "https://github.com/motemen/perl5-Test-Deep-JSON";
24864       license = with lib.licenses; [ artistic1 gpl1Plus ];
24865     };
24866   };
24868   TestDeepType = buildPerlPackage {
24869     pname = "Test-Deep-Type";
24870     version = "0.008";
24871     src = fetchurl {
24872       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Deep-Type-0.008.tar.gz";
24873       hash = "sha256-bnvqGi8edTGaItHFGZbrrFDKXjZj0bwiMTCIfmLpWfE=";
24874     };
24875     buildInputs = [ TestFatal TestNeeds ];
24876     propagatedBuildInputs = [ TestDeep TryTiny ];
24877     meta = {
24878       description = "A Test::Deep plugin for validating type constraints";
24879       homepage = "https://github.com/karenetheridge/Test-Deep-Type";
24880       license = with lib.licenses; [ artistic1 gpl1Plus ];
24881     };
24882   };
24884   TestDiagINC = buildPerlPackage {
24885     pname = "Test-DiagINC";
24886     version = "0.010";
24887     src = fetchurl {
24888       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-DiagINC-0.010.tar.gz";
24889       hash = "sha256-W8uNNWxQnjWdU9hpwH79qo/uXWz5mJcBi5qRTOshIi4=";
24890     };
24891     buildInputs = [ CaptureTiny ];
24892     meta = {
24893       homepage = "https://github.com/dagolden/Test-DiagINC";
24894       description = "List modules and versions loaded if tests fail";
24895       license = lib.licenses.asl20;
24896     };
24897   };
24899   TestDir = buildPerlPackage {
24900     pname = "Test-Dir";
24901     version = "1.16";
24902     src = fetchurl {
24903       url = "mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.16.tar.gz";
24904       hash = "sha256-czKzI5E+tqJoTQlHVRljBLL4YG9w6quRNlTKkfJz6sI=";
24905     };
24906     meta = {
24907       description = "Test directory attributes";
24908       license = with lib.licenses; [ artistic1 gpl1Plus ];
24909     };
24910   };
24912   TestDifferences = buildPerlPackage {
24913     pname = "Test-Differences";
24914     version = "0.70";
24915     src = fetchurl {
24916       url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.70.tar.gz";
24917       hash = "sha256-vuG1GGqpuif+0r8bBnRSDQvQzQUdkTOH+QhsH5SlaFQ=";
24918     };
24919     propagatedBuildInputs = [ CaptureTiny TextDiff ];
24920     meta = {
24921       description = "Test strings and data structures and show differences if not ok";
24922       license = with lib.licenses; [ artistic1 gpl1Plus ];
24923     };
24924   };
24926   TestDistManifest = buildPerlModule {
24927     pname = "Test-DistManifest";
24928     version = "1.014";
24929     src = fetchurl {
24930       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.014.tar.gz";
24931       hash = "sha256-PSbCDfQmKJgcv8+lscoCjGzq2zRMHc+XolrWqItz18U=";
24932     };
24933     buildInputs = [ ModuleBuildTiny ];
24934     propagatedBuildInputs = [ ModuleManifest ];
24935     meta = {
24936       description = "Author test that validates a package MANIFEST";
24937       homepage = "https://github.com/jawnsy/Test-DistManifest";
24938       license = with lib.licenses; [ artistic1 gpl1Plus ];
24939     };
24940   };
24942   TestEOL = buildPerlPackage {
24943     pname = "Test-EOL";
24944     version = "2.02";
24945     src = fetchurl {
24946       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-2.02.tar.gz";
24947       hash = "sha256-KDGZ1/sngH/iImr3sSVxxtwlCNjlwP61BdCJ0xcgr8Q=";
24948     };
24949     meta = {
24950       description = "Check the correct line endings in your project";
24951       homepage = "https://github.com/karenetheridge/Test-EOL";
24952       license = with lib.licenses; [ artistic1 gpl1Plus ];
24953     };
24954   };
24956   TestException = buildPerlPackage {
24957     pname = "Test-Exception";
24958     version = "0.43";
24959     src = fetchurl {
24960       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz";
24961       hash = "sha256-FWsT8Hdk92bYtFpDco8kOa+Bo1EmJUON6reDt4g+tTM=";
24962     };
24963     propagatedBuildInputs = [ SubUplevel ];
24964     meta = {
24965       description = "Test exception-based code";
24966       license = with lib.licenses; [ artistic1 gpl1Plus ];
24967     };
24968   };
24970   TestExpect = buildPerlPackage {
24971     pname = "Test-Expect";
24972     version = "0.34";
24973     src = fetchurl {
24974       url = "mirror://cpan/authors/id/B/BP/BPS/Test-Expect-0.34.tar.gz";
24975       hash = "sha256-Jij87N2l9km9JTI/ZGuWoaB+RVfK3LMnybrU3EG7uZk=";
24976     };
24977     propagatedBuildInputs = [ ClassAccessorChained ExpectSimple ];
24978     meta = {
24979       description = "Automated driving and testing of terminal-based programs";
24980       license = with lib.licenses; [ artistic1 gpl1Plus ];
24981     };
24982   };
24984   TestFailWarnings = buildPerlPackage {
24985     pname = "Test-FailWarnings";
24986     version = "0.008";
24987     src = fetchurl {
24988       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz";
24989       hash = "sha256-2jTvkCn2hJ1gJiAdSRJ9BU7mrEuXnIIhAxX1chlkqW8=";
24990     };
24991     buildInputs = [ CaptureTiny ];
24992     meta = {
24993       description = "Add test failures if warnings are caught";
24994       homepage = "https://github.com/dagolden/Test-FailWarnings";
24995       license = with lib.licenses; [ asl20 ];
24996     };
24997   };
24999   TestFakeHTTPD = buildPerlModule {
25000     pname = "Test-Fake-HTTPD";
25001     version = "0.09";
25002     src = fetchurl {
25003       url = "mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.09.tar.gz";
25004       hash = "sha256-FPecsGepCSLpvlVPjks509aXeK5Mj/9E9WD2N/tvLR4=";
25005     };
25006     propagatedBuildInputs = [ HTTPDaemon Plack ];
25007     buildInputs = [ LWP ModuleBuildTiny TestException TestSharedFork TestTCP TestUseAllModules ];
25008     meta = {
25009       description = "A fake HTTP server";
25010       homepage = "https://github.com/masaki/Test-Fake-HTTPD";
25011       license = with lib.licenses; [ artistic1 gpl1Plus ];
25012     };
25013   };
25015   TestFatal = buildPerlPackage {
25016     pname = "Test-Fatal";
25017     version = "0.017";
25018     src = fetchurl {
25019       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.017.tar.gz";
25020       hash = "sha256-N9//2vuEt2Lv6WsC+yqkHzcCbHPmuDWQ23YilpfzxKY=";
25021     };
25022     propagatedBuildInputs = [ TryTiny ];
25023     meta = {
25024       description = "Incredibly simple helpers for testing code with exceptions";
25025       homepage = "https://github.com/rjbs/Test-Fatal";
25026       license = with lib.licenses; [ artistic1 gpl1Plus ];
25027     };
25028   };
25030   TestFile = buildPerlPackage {
25031     pname = "Test-File";
25032     version = "1.993";
25033     src = fetchurl {
25034       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.993.tar.gz";
25035       hash = "sha256-7y/+Gq7HtC2HStQR7GR1R7m5vC9fuT5J4zmUiEVq/Ho=";
25036     };
25037     meta = {
25038       description = "Test file attributes";
25039       homepage = "https://github.com/briandfoy/test-file";
25040       license = with lib.licenses; [ artistic2 ];
25041     };
25042   };
25044   TestFileContents = buildPerlPackage {
25045     pname = "Test-File-Contents";
25046     version = "0.242";
25047     src = fetchurl {
25048       url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Test-File-Contents-0.242.tar.gz";
25049       hash = "sha256-qDisC29uEOiWE7UMphdzzbqbpHh7qC57tl2q9whKpQs=";
25050     };
25051     propagatedBuildInputs = [ TextDiff ];
25052     meta = {
25053       description = "Test routines for examining the contents of files";
25054       license = with lib.licenses; [ artistic1 gpl1Plus ];
25055     };
25056   };
25058   TestFileShareDir = buildPerlPackage {
25059     pname = "Test-File-ShareDir";
25060     version = "1.001002";
25061     src = fetchurl {
25062       url = "mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz";
25063       hash = "sha256-szZHy7Sy8vz73k+LtDg9CslcL4nExXcOtpHxZDozeq0=";
25064     };
25065     buildInputs = [ TestFatal ];
25066     propagatedBuildInputs = [ ClassTiny FileCopyRecursive FileShareDir PathTiny ScopeGuard ];
25067     meta = {
25068       description = "Create a Fake ShareDir for your modules for testing";
25069       homepage = "https://github.com/kentnl/Test-File-ShareDir";
25070       license = with lib.licenses; [ artistic1 gpl1Plus ];
25071     };
25072   };
25074   TestFilename = buildPerlPackage {
25075     pname = "Test-Filename";
25076     version = "0.03";
25077     src = fetchurl {
25078       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-0.03.tar.gz";
25079       hash = "sha256-akUMxMYoHtESnzKhwHQfIoln/touMqKRX/Yhw2Ul/L4=";
25080     };
25081     propagatedBuildInputs = [ PathTiny ];
25082     meta = {
25083       description = "Portable filename comparison";
25084       homepage = "https://metacpan.org/release/Test-Filename";
25085       license = with lib.licenses; [ asl20 ];
25086     };
25087   };
25089   TestFork = buildPerlModule {
25090     pname = "Test-Fork";
25091     version = "0.02";
25092     src = fetchurl {
25093       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Fork-0.02.tar.gz";
25094       hash = "sha256-/P77+yT4havoJ8KtB6w9Th/s8hOhRxf8rzw3F1BF0D4=";
25095     };
25096     meta = {
25097       description = "Test code which forks";
25098       license = with lib.licenses; [ artistic1 gpl1Plus ];
25099     };
25100   };
25102   TestFutureIOImpl = buildPerlModule {
25103     pname = "Test-Future-IO-Impl";
25104     version = "0.14";
25105     src = fetchurl {
25106       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Future-IO-Impl-0.14.tar.gz";
25107       hash = "sha256-AH22GdPUljQyXFbvvKDh5Vdt0z95RV8t6llb5u344jU=";
25108     };
25109     propagatedBuildInputs = [ Test2Suite ];
25110     meta = {
25111       description = "Acceptance tests for C<Future::IO> implementations";
25112       license = with lib.licenses; [ artistic1 gpl1Plus ];
25113     };
25114   };
25116   TestHarnessStraps = buildPerlModule {
25117     pname = "Test-Harness-Straps";
25118     version = "0.30";
25119     src = fetchurl {
25120       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Harness-Straps-0.30.tar.gz";
25121       hash = "sha256-iwDvqjVyPBo1yMj1+kapnkvFKN+lIDUrVKxBjvbRz6g=";
25122     };
25123     meta = {
25124       description = "Detailed analysis of test results";
25125       license = with lib.licenses; [ artistic1 gpl1Plus ];
25126     };
25127   };
25129   TestHexDifferences = buildPerlPackage {
25130     pname = "Test-HexDifferences";
25131     version = "1.001";
25132     src = fetchurl {
25133       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Test-HexDifferences-1.001.tar.gz";
25134       hash = "sha256-pjlF7N1CCvwxEJT5OiIM+zXfIyQt5hnlO6Z0d6E2kKI=";
25135     };
25136     propagatedBuildInputs = [ SubExporter TextDiff ];
25137     buildInputs = [ TestDifferences TestNoWarnings ];
25138     meta = {
25139       description = "Test binary as hexadecimal string";
25140       license = with lib.licenses; [ artistic1 gpl1Plus ];
25141     };
25142   };
25144   TestHexString = buildPerlModule {
25145     pname = "Test-HexString";
25146     version = "0.03";
25147     src = fetchurl {
25148       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-HexString-0.03.tar.gz";
25149       hash = "sha256-fUxM3BkvJZTceP916yz00FYfeUs27g6s7oxKGqigP0A=";
25150     };
25151     meta = {
25152       description = "Test binary strings with hex dump diagnostics";
25153       license = with lib.licenses; [ artistic1 gpl1Plus ];
25154     };
25155   };
25157   TestIdentity = buildPerlModule {
25158     pname = "Test-Identity";
25159     version = "0.01";
25160     src = fetchurl {
25161       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Identity-0.01.tar.gz";
25162       hash = "sha256-LwIFAJrtFSZoGCqvoWNXqx9HtMvAAeiYcbZzh++OXyM=";
25163     };
25164     meta = {
25165       description = "Assert the referential identity of a reference";
25166       license = with lib.licenses; [ artistic1 gpl1Plus ];
25167     };
25168   };
25170   TestHTTPServerSimple = buildPerlPackage {
25171     pname = "Test-HTTP-Server-Simple";
25172     version = "0.11";
25173     src = fetchurl {
25174       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Test-HTTP-Server-Simple-0.11.tar.gz";
25175       hash = "sha256-hcl+vU3rgFKRsXJ3Ay2kiAcijyT4mxzi+zwJ96iWu3g=";
25176     };
25177     propagatedBuildInputs = [ HTTPServerSimple ];
25178     meta = {
25179       description = "Test::More functions for HTTP::Server::Simple";
25180       license = with lib.licenses; [ artistic1 gpl1Plus ];
25181     };
25182   };
25184   TestJSON = buildPerlModule {
25185     pname = "Test-JSON";
25186     version = "0.11";
25187     src = fetchurl {
25188       url = "mirror://cpan/authors/id/O/OV/OVID/Test-JSON-0.11.tar.gz";
25189       hash = "sha256-B8CKsvzBKFDRrVT89q/prRoloJgxDD5xQq8dPLgh17M=";
25190     };
25191     propagatedBuildInputs = [ JSONAny ];
25192     buildInputs = [ TestDifferences ];
25193     meta = {
25194       description = "Test JSON data";
25195       license = with lib.licenses; [ artistic1 gpl1Plus ];
25196     };
25197   };
25199   TestKwalitee = buildPerlPackage {
25200     pname = "Test-Kwalitee";
25201     version = "1.28";
25202     src = fetchurl {
25203       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Kwalitee-1.28.tar.gz";
25204       hash = "sha256-tFNs3XVbWXciMtQyXae9T7f1vlC0WF27r3WO7DBiQ6M=";
25205     };
25206     propagatedBuildInputs = [ ModuleCPANTSAnalyse ];
25207     buildInputs = [ CPANMetaCheck TestDeep TestWarnings ];
25208     meta = {
25209       description = "Test the Kwalitee of a distribution before you release it";
25210       homepage = "https://github.com/karenetheridge/Test-Kwalitee";
25211       license = with lib.licenses; [ artistic1 gpl1Plus ];
25212       mainProgram = "kwalitee-metrics";
25213     };
25214   };
25216   TestLWPUserAgent = buildPerlPackage {
25217     pname = "Test-LWP-UserAgent";
25218     version = "0.036";
25219     src = fetchurl {
25220       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-LWP-UserAgent-0.036.tar.gz";
25221       hash = "sha256-BTJ1MNNGuAphpulD+9dJmGvcqJIRpOswHAjC0XkxThE=";
25222     };
25223     propagatedBuildInputs = [ LWP SafeIsa namespaceclean ];
25224     buildInputs = [ PathTiny Plack TestDeep TestFatal TestNeeds TestRequiresInternet TestWarnings ];
25225     meta = {
25226       description = "A LWP::UserAgent suitable for simulating and testing network calls";
25227       homepage = "https://github.com/karenetheridge/Test-LWP-UserAgent";
25228       license = with lib.licenses; [ artistic1 gpl1Plus ];
25229     };
25230   };
25232   TestLeakTrace = buildPerlPackage {
25233     pname = "Test-LeakTrace";
25234     version = "0.17";
25235     src = fetchurl {
25236       url = "mirror://cpan/authors/id/L/LE/LEEJO/Test-LeakTrace-0.17.tar.gz";
25237       hash = "sha256-d31k0pOPXqWGMA7vl+8D6stD1MGFPJw7EJHrMxFGeXA=";
25238     };
25239     meta = {
25240       description = "Traces memory leaks";
25241       homepage = "https://metacpan.org/release/Test-LeakTrace";
25242       license = with lib.licenses; [ artistic1 gpl1Plus ];
25243     };
25244   };
25246   TestLectroTest = buildPerlPackage {
25247     pname = "Test-LectroTest";
25248     version = "0.5001";
25249     src = fetchurl {
25250       url = "mirror://cpan/authors/id/T/TM/TMOERTEL/Test-LectroTest-0.5001.tar.gz";
25251       hash = "sha256-rCtPDZWJmvGhoex4TLdAsrkCVqvuEcg+eykRA+ye1zU=";
25252     };
25253     meta = {
25254       description = "Easy, automatic, specification-based tests";
25255       license = with lib.licenses; [ artistic1 gpl1Plus ];
25256     };
25257   };
25259   TestLoadAllModules = buildPerlPackage {
25260     pname = "Test-LoadAllModules";
25261     version = "0.022";
25262     src = fetchurl {
25263       url = "mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz";
25264       hash = "sha256-G4YfVVAgZIp0gdStKBqJ5iQYf4lDepizRjVpGyZeXP4=";
25265     };
25266     propagatedBuildInputs = [ ListMoreUtils ModulePluggable ];
25267     meta = {
25268       description = "Do use_ok for modules in search path";
25269       license = with lib.licenses; [ artistic1 gpl1Plus ];
25270     };
25271   };
25273   TestLongString = buildPerlPackage {
25274     pname = "Test-LongString";
25275     version = "0.17";
25276     src = fetchurl {
25277       url = "mirror://cpan/authors/id/R/RG/RGARCIA/Test-LongString-0.17.tar.gz";
25278       hash = "sha256-q8Q0nq8E0b7B5GQWajAYWR6oRtjzxcnIr0rEkF0+l08=";
25279     };
25280     meta = {
25281       description = "Tests strings for equality, with more helpful failures";
25282       license = with lib.licenses; [ artistic1 gpl1Plus ];
25283     };
25284   };
25286   TestMemoryCycle = buildPerlPackage {
25287     pname = "Test-Memory-Cycle";
25288     version = "1.06";
25289     src = fetchurl {
25290       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz";
25291       hash = "sha256-nVPd/clkzYRUyw2kxpW2o65HtFg5KRw0y52NHPqrMgI=";
25292     };
25293     propagatedBuildInputs = [ DevelCycle PadWalker ];
25294     meta = {
25295       description = "Verifies code hasn't left circular references";
25296       license = with lib.licenses; [ artistic2 ];
25297     };
25298   };
25300   TestMemoryGrowth = buildPerlModule {
25301     pname = "Test-MemoryGrowth";
25302     version = "0.04";
25303     src = fetchurl {
25304       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-MemoryGrowth-0.04.tar.gz";
25305       hash = "sha256-oGWFJ1Kr1J5BFbmPbbRsdSy71ePkjtAUXO45L3k9LtA=";
25306     };
25307     meta = {
25308       description = "Assert that code does not cause growth in memory usage";
25309       license = with lib.licenses; [ artistic1 gpl1Plus ];
25310       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TestMemoryGrowth.x86_64-darwin
25311     };
25312   };
25314   TestMetricsAny = buildPerlModule {
25315     pname = "Test-Metrics-Any";
25316     version = "0.01";
25317     src = fetchurl {
25318       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Metrics-Any-0.01.tar.gz";
25319       hash = "sha256-JQbIjU6yGydLEIX4BskY3Ml//2nhbRJJ5uGdlDYl5Gg=";
25320     };
25321     propagatedBuildInputs = [ MetricsAny ];
25322     meta = {
25323       description = "Assert that code produces metrics via Metrics::Any";
25324       license = with lib.licenses; [ artistic1 gpl1Plus ];
25325     };
25326   };
25328   TestMockClass = buildPerlModule {
25329     pname = "Test-Mock-Class";
25330     version = "0.0303";
25331     src = fetchurl {
25332       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz";
25333       hash = "sha256-zS5S/inKCrtsLmGvvDP7Qui+tCGzhL5rwGSs8xl28wI=";
25334     };
25335     buildInputs = [ ClassInspector TestAssert TestUnitLite ];
25336     propagatedBuildInputs = [ FatalException Moose namespaceclean ];
25337     meta = {
25338       description = "Simulating other classes";
25339       license = with lib.licenses; [ lgpl2Plus ];
25340     };
25341   };
25343   TestMockGuard = buildPerlModule {
25344     pname = "Test-Mock-Guard";
25345     version = "0.10";
25346     src = fetchurl {
25347       url = "mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-0.10.tar.gz";
25348       hash = "sha256-fyKKY/jWzrkqp4QIChPoUHMSGyg17KBteU+XCZUNvT0=";
25349     };
25350     propagatedBuildInputs = [ ClassLoad ];
25351     meta = {
25352       description = "Simple mock test library using RAII";
25353       homepage = "https://github.com/zigorou/p5-test-mock-guard";
25354       license = with lib.licenses; [ artistic1 gpl1Plus ];
25355     };
25356   };
25358   TestMockHTTPTiny = buildPerlPackage {
25359     pname = "Test-Mock-HTTP-Tiny";
25360     version = "0.002";
25361     src = fetchurl {
25362       url = "mirror://cpan/authors/id/O/OD/ODYNIEC/Test-Mock-HTTP-Tiny-0.002.tar.gz";
25363       hash = "sha256-+c+tfYUEZQvtNJO8bSyoLXuRvDcTyGxDXnXriKxb5eY=";
25364     };
25365     propagatedBuildInputs = [ TestDeep URI ];
25366     meta = {
25367       description = "Record and replay HTTP requests/responses with HTTP::Tiny";
25368       homepage = "https://github.com/odyniec/p5-Test-Mock-HTTP-Tiny";
25369       license = with lib.licenses; [ artistic1 gpl1Plus ];
25370     };
25371   };
25373   TestMockModule = buildPerlModule {
25374     pname = "Test-MockModule";
25375     version = "0.177.0";
25376     src = fetchurl {
25377       url = "mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.177.0.tar.gz";
25378       hash = "sha256-G9p6SdzqdgdtQKe2psPz4V5rGchLYXHfRFNNkROPEEU=";
25379     };
25380     propagatedBuildInputs = [ SUPER ];
25381     buildInputs = [ TestWarnings ];
25382     meta = {
25383       description = "Override subroutines in a module for unit testing";
25384       license = with lib.licenses; [ artistic1 gpl1Plus ];
25385     };
25386   };
25388   SUPER = buildPerlModule {
25389     pname = "SUPER";
25390     version = "1.20190531";
25391     src = fetchurl {
25392       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz";
25393       hash = "sha256-aF0e525/DpAGlCkjv334sRwQcTKZKRdZPc9zl9QX05o=";
25394     };
25395     propagatedBuildInputs = [ SubIdentify ];
25396     meta = {
25397       description = "Control superclass method dispatch";
25398       license = with lib.licenses; [ artistic1 gpl1Plus ];
25399     };
25400   };
25403   TestMockObject = buildPerlPackage {
25404     pname = "Test-MockObject";
25405     version = "1.20200122";
25406     src = fetchurl {
25407       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20200122.tar.gz";
25408       hash = "sha256-K3+A2of1pv4DYNnuUhBRBTAXRCw6Juhdto36yfgwdiM=";
25409     };
25410     buildInputs = [ TestException TestWarn ];
25411     propagatedBuildInputs = [ UNIVERSALcan UNIVERSALisa ];
25412     meta = {
25413       description = "Perl extension for emulating troublesome interfaces";
25414       license = with lib.licenses; [ artistic1 gpl1Plus ];
25415     };
25416   };
25418   TestMockTime = buildPerlPackage {
25419     pname = "Test-MockTime";
25420     version = "0.17";
25421     src = fetchurl {
25422       url = "mirror://cpan/authors/id/D/DD/DDICK/Test-MockTime-0.17.tar.gz";
25423       hash = "sha256-M2PhGLJgbx1qvJVvIrDQkQl3K3CGFV+1ycf5gzUGAvk=";
25424     };
25425     meta = {
25426       description = "Replaces actual time with simulated time";
25427       license = with lib.licenses; [ artistic1 gpl1Plus ];
25428     };
25429   };
25431   TestMockTimeHiRes = buildPerlModule {
25432     pname = "Test-MockTime-HiRes";
25433     version = "0.08";
25434     src = fetchurl {
25435       url = "mirror://cpan/authors/id/T/TA/TARAO/Test-MockTime-HiRes-0.08.tar.gz";
25436       hash = "sha256-X0n3rviV0yfa/fJ0TznBdsirDkuCJ9LW495omiWb3sE=";
25437     };
25438     buildInputs = [ AnyEvent ModuleBuildTiny TestClass TestRequires ];
25439     propagatedBuildInputs = [ TestMockTime ];
25440     meta = {
25441       description = "Replaces actual time with simulated high resolution time";
25442       homepage = "https://github.com/tarao/perl5-Test-MockTime-HiRes";
25443       license = with lib.licenses; [ artistic1 gpl1Plus ];
25444     };
25445   };
25447   TestMojibake = buildPerlPackage {
25448     pname = "Test-Mojibake";
25449     version = "1.3";
25450     src = fetchurl {
25451       url = "mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-1.3.tar.gz";
25452       hash = "sha256-j/51/5tpNSSIcn3Kc9uR+KoUtZ8voQTrdxfA1xpfGzM=";
25453     };
25454     meta = {
25455       description = "Check your source for encoding misbehavior";
25456       homepage = "https://github.com/creaktive/Test-Mojibake";
25457       license = with lib.licenses; [ artistic1 gpl1Plus ];
25458       mainProgram = "scan_mojibake";
25459     };
25460   };
25462   TestMoreUTF8 = buildPerlPackage {
25463     pname = "Test-More-UTF8";
25464     version = "0.05";
25465     src = fetchurl {
25466       url = "mirror://cpan/authors/id/M/MO/MONS/Test-More-UTF8-0.05.tar.gz";
25467       hash = "sha256-ufHEs2qXzf76pT7REV3Tj0tIMDd3X2VZ7h3xSs/RzgQ=";
25468     };
25469     meta = {
25470       description = "Enhancing Test::More for UTF8-based projects";
25471       license = with lib.licenses; [ artistic1 gpl1Plus ];
25472     };
25473   };
25475   TestMost = buildPerlPackage {
25476     pname = "Test-Most";
25477     version = "0.38";
25478     src = fetchurl {
25479       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.38.tar.gz";
25480       hash = "sha256-CJ64lPe6zkw3xjNODikOsgM47hAiOvDILL5ygceDgt8=";
25481     };
25482     propagatedBuildInputs = [ ExceptionClass ];
25483     buildInputs = [ TestDeep TestDifferences TestException TestWarn ];
25484     meta = {
25485       description = "Most commonly needed test functions and features";
25486       license = with lib.licenses; [ artistic1 gpl1Plus ];
25487     };
25488   };
25490   Testmysqld = buildPerlModule {
25491     pname = "Test-mysqld";
25492     version = "1.0013";
25493     src = fetchurl {
25494       url = "mirror://cpan/authors/id/S/SO/SONGMU/Test-mysqld-1.0013.tar.gz";
25495       hash = "sha256-V61BoJBXyWO1gsgaB276UPpW664hd9gwd33oOGBePu8=";
25496     };
25497     buildInputs = [ pkgs.which ModuleBuildTiny TestSharedFork ];
25498     propagatedBuildInputs = [ ClassAccessorLite DBDmysql FileCopyRecursive ];
25499     meta = {
25500       description = "Mysqld runner for tests";
25501       homepage = "https://github.com/kazuho/p5-test-mysqld";
25502       license = with lib.licenses; [ artistic1 gpl1Plus ];
25503       maintainers = [ maintainers.sgo ];
25504     };
25505   };
25507   TestNeeds = buildPerlPackage {
25508     pname = "Test-Needs";
25509     version = "0.002010";
25510     src = fetchurl {
25511       url = "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-0.002010.tar.gz";
25512       hash = "sha256-kj/9x4/LqWYJdT5LriawugGGiT3kpjzVI24BLHyQ4gg=";
25513     };
25514     meta = {
25515       description = "Skip tests when modules not available";
25516       license = with lib.licenses; [ artistic1 gpl1Plus ];
25517     };
25518   };
25520   TestNoTabs = buildPerlPackage {
25521     pname = "Test-NoTabs";
25522     version = "2.02";
25523     src = fetchurl {
25524       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-2.02.tar.gz";
25525       hash = "sha256-+3XGo4ch8BaeEcHn2+UyntchaIWgsBEj80LdhtM1YDA=";
25526     };
25527     meta = {
25528       description = "Check the presence of tabs in your project";
25529       homepage = "https://github.com/karenetheridge/Test-NoTabs";
25530       license = with lib.licenses; [ artistic1 gpl1Plus ];
25531     };
25532   };
25534   TestNoWarnings = buildPerlPackage {
25535     pname = "Test-NoWarnings";
25536     version = "1.06";
25537     src = fetchurl {
25538       url = "mirror://cpan/authors/id/H/HA/HAARG/Test-NoWarnings-1.06.tar.gz";
25539       hash = "sha256-wtxRFDt+tjIxIQ4n3yDSyDk3cuCjM1R+yLeiBe1i9zc=";
25540     };
25541     meta = {
25542       description = "Make sure you didn't emit any warnings while testing";
25543       license = with lib.licenses; [ lgpl21Only ];
25544     };
25545   };
25547   TestObject = buildPerlPackage {
25548     pname = "Test-Object";
25549     version = "0.08";
25550     src = fetchurl {
25551       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Object-0.08.tar.gz";
25552       hash = "sha256-ZSeJZBR4NzE/QQjlW1lnboo2TW7fAbPcGYruiUqx0Ls=";
25553     };
25554     meta = {
25555       description = "Thoroughly testing objects via registered handlers";
25556       license = with lib.licenses; [ artistic1 gpl1Plus ];
25557     };
25558   };
25560   TestOutput = buildPerlPackage {
25561     pname = "Test-Output";
25562     version = "1.034";
25563     src = fetchurl {
25564       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Output-1.034.tar.gz";
25565       hash = "sha256-zULigBwNK0gtGMn7SwbHVwVIGLy7KCTl378zrXo9aaA=";
25566     };
25567     propagatedBuildInputs = [ CaptureTiny ];
25568     meta = {
25569       description = "Utilities to test STDOUT and STDERR messages";
25570       license = with lib.licenses; [ artistic2 ];
25571     };
25572   };
25574   TestPAUSEPermissions = buildPerlPackage {
25575     pname = "Test-PAUSE-Permissions";
25576     version = "0.07";
25577     src = fetchurl {
25578       url = "mirror://cpan/authors/id/S/SK/SKAJI/Test-PAUSE-Permissions-0.07.tar.gz";
25579       hash = "sha256-VXDBu/KbxjeoRWcIuaJ0bPT8usE3SF7f82D48I5xBz4=";
25580     };
25581     propagatedBuildInputs = [ ConfigIdentity PAUSEPermissions ParseLocalDistribution ];
25582     buildInputs = [ ExtUtilsMakeMakerCPANfile TestUseAllModules ];
25583     meta = {
25584       description = "Tests module permissions in your distribution";
25585       license = with lib.licenses; [ artistic1 gpl1Plus ];
25586     };
25587   };
25589   TestPerlCritic = buildPerlModule {
25590     pname = "Test-Perl-Critic";
25591     version = "1.04";
25592     src = fetchurl {
25593       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Perl-Critic-1.04.tar.gz";
25594       hash = "sha256-KPgGtUEseQi1bPFnMIS4tEzhy1TJQX14TZFCjhoECW4=";
25595     };
25596     propagatedBuildInputs = [ MCE PerlCritic ];
25597     meta = {
25598       description = "Use Perl::Critic in test programs";
25599       license = with lib.licenses; [ artistic1 gpl1Plus ];
25600     };
25601   };
25603   TestPerlTidy = buildPerlModule rec {
25604     pname = "Test-PerlTidy";
25605     version = "20230226";
25606     src = fetchurl {
25607       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-PerlTidy-20230226.tar.gz";
25608       hash = "sha256-wOJCEQeVeV1Nu2xEFmzlV09cftuninidG8rnZoXYA8E=";
25609     };
25610     propagatedBuildInputs = [ PathTiny PerlTidy TextDiff ];
25611     buildInputs = [ TestPerlCritic ];
25612     meta = {
25613       description = "Check that all your files are tidy";
25614       homepage = "https://metacpan.org/release/Test-PerlTidy";
25615       license = with lib.licenses; [ artistic1 gpl1Plus ];
25616     };
25617   };
25619   TestPod = buildPerlPackage {
25620     pname = "Test-Pod";
25621     version = "1.52";
25622     src = fetchurl {
25623       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz";
25624       hash = "sha256-YKjbzGAWi/HapcwjUCNt+TQ+mHj0q5gwlwpd3m/o5fw=";
25625     };
25626     meta = {
25627       description = "Check for POD errors in files";
25628       homepage = "https://search.cpan.org/dist/Test-Pod";
25629       license = with lib.licenses; [ artistic1 gpl1Plus ];
25630     };
25631   };
25633   TestPodCoverage = buildPerlPackage {
25634     pname = "Test-Pod-Coverage";
25635     version = "1.10";
25636     src = fetchurl {
25637       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz";
25638       hash = "sha256-SMnMqffZnu50EXZEW0Ma3wnAKeGqV8RwPJ9G92AdQNQ=";
25639     };
25640     propagatedBuildInputs = [ PodCoverage ];
25641     meta = {
25642       description = "Check for pod coverage in your distribution";
25643       license = with lib.licenses; [ artistic2 ];
25644     };
25645   };
25647   TestPodLinkCheck = buildPerlModule {
25648     pname = "Test-Pod-LinkCheck";
25649     version = "0.008";
25650     src = fetchurl {
25651       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-LinkCheck-0.008.tar.gz";
25652       hash = "sha256-K/53EXPDi2nusIlQTj92URuOReap5trD5hbkAOpnvPA=";
25653     };
25654     buildInputs = [ ModuleBuildTiny TestPod ];
25655     propagatedBuildInputs = [ CaptureTiny Moose podlinkcheck ];
25656     meta = {
25657       description = "Tests POD for invalid links";
25658       homepage = "https://search.cpan.org/dist/Test-Pod-LinkCheck";
25659       license = with lib.licenses; [ artistic1 gpl1Plus ];
25660     };
25661   };
25663   TestPodNo404s = buildPerlModule {
25664     pname = "Test-Pod-No404s";
25665     version = "0.02";
25666     src = fetchurl {
25667       url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-No404s-0.02.tar.gz";
25668       hash = "sha256-EcYGBW/WK9ROB5977wbEWapYnuhc3tv6DMMl6jV8jnk=";
25669     };
25670     propagatedBuildInputs = [ LWP URIFind ];
25671     buildInputs = [ ModuleBuildTiny TestPod ];
25672     meta = {
25673       description = "Using this test module will check your POD for any http 404 links";
25674       homepage = "https://search.cpan.org/dist/Test-Pod-No404s";
25675       license = with lib.licenses; [ artistic1 gpl1Plus ];
25676     };
25677   };
25679   TestPortabilityFiles = buildPerlPackage {
25680     pname = "Test-Portability-Files";
25681     version = "0.10";
25682     src = fetchurl {
25683       url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.10.tar.gz";
25684       hash = "sha256-COS0MkktwbRLVdXbV5Uut2N5x/Q07o8WrKZNSR9AGhY=";
25685     };
25686     meta = {
25687       description = "Check file names portability";
25688       license = with lib.licenses; [ artistic1 gpl1Plus ];
25689     };
25690   };
25692   TestRefcount = buildPerlModule {
25693     pname = "Test-Refcount";
25694     version = "0.10";
25695     src = fetchurl {
25696       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Refcount-0.10.tar.gz";
25697       hash = "sha256-BFfCCklWRz0VfE+q/4gUFUvJP24rVDwoEqGf+OM3DrI=";
25698     };
25699     meta = {
25700       description = "Assert reference counts on objects";
25701       license = with lib.licenses; [ artistic1 gpl1Plus ];
25702     };
25703   };
25705   TestRequires = buildPerlPackage {
25706     pname = "Test-Requires";
25707     version = "0.11";
25708     src = fetchurl {
25709       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.11.tar.gz";
25710       hash = "sha256-S4jeVJWX7s3ffDw4pNAgShb1mtgEV3tnGJasBOJOBA8=";
25711     };
25712     meta = {
25713       description = "Checks to see if the module can be loaded";
25714       homepage = "https://github.com/tokuhirom/Test-Requires";
25715       license = with lib.licenses; [ artistic1 gpl1Plus ];
25716     };
25717   };
25719   TestRequiresGit = buildPerlPackage {
25720     pname = "Test-Requires-Git";
25721     version = "1.008";
25722     src = fetchurl {
25723       url = "mirror://cpan/authors/id/B/BO/BOOK/Test-Requires-Git-1.008.tar.gz";
25724       hash = "sha256-cJFiEJcNhNdJFFEVmri2fhUlHIwNrnw99sjYhULqQqY=";
25725     };
25726     propagatedBuildInputs = [ GitVersionCompare ];
25727     meta = {
25728       description = "Check your test requirements against the available version of Git";
25729       license = with lib.licenses; [ artistic1 gpl1Plus ];
25730     };
25731   };
25733   TestRequiresInternet = buildPerlPackage {
25734     pname = "Test-RequiresInternet";
25735     version = "0.05";
25736     src = fetchurl {
25737       url = "mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz";
25738       hash = "sha256-u6ezKhzA1Yzi7CCyAKc0fGljFkHoyuj/RWetJO8egz4=";
25739     };
25740     meta = {
25741       description = "Easily test network connectivity";
25742       homepage = "https://metacpan.org/dist/Test-RequiresInternet";
25743       license = with lib.licenses; [ artistic1 gpl1Plus ];
25744     };
25745   };
25747   TestRoo = buildPerlPackage {
25748     pname = "Test-Roo";
25749     version = "1.004";
25750     src = fetchurl {
25751       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-1.004.tar.gz";
25752       hash = "sha256-IRKaPOy1B7AJSOFs8V/N5dxNsjWrqEr9f0fSIBOp3tY=";
25753     };
25755     propagatedBuildInputs = [ Moo MooXTypesMooseLike SubInstall strictures ];
25756     buildInputs = [ CaptureTiny ];
25757     meta = {
25758       description = "Composable, reusable tests with roles and Moo";
25759       license = with lib.licenses; [ asl20 ];
25760     };
25761   };
25763   TestRoutine = buildPerlPackage {
25764     pname = "Test-Routine";
25765     version = "0.031";
25766     src = fetchurl {
25767       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.031.tar.gz";
25768       hash = "sha256-f9kp7TPyVMoJkCJQGSYInHeU71d7uoYHbn2YFlYPXAc=";
25769     };
25770     buildInputs = [ TestAbortable TestFatal ];
25771     propagatedBuildInputs = [ Moose namespaceautoclean ];
25772     meta = {
25773       description = "Composable units of assertion";
25774       homepage = "https://github.com/rjbs/Test-Routine";
25775       license = with lib.licenses; [ artistic1 gpl1Plus ];
25776     };
25777   };
25779   TestRun = buildPerlModule {
25780     pname = "Test-Run";
25781     version = "0.0305";
25782     src = fetchurl {
25783       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-0.0305.tar.gz";
25784       hash = "sha256-+Jpx3WD44qd26OYBd8ntXlkJbUAF1QvSmJuSeeCHwkg=";
25785     };
25786     buildInputs = [ TestTrap ];
25787     propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
25788     meta = {
25789       description = "Base class to run standard TAP scripts";
25790       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25791       license = with lib.licenses; [ mit ];
25792     };
25793   };
25795   TestRunCmdLine = buildPerlModule {
25796     pname = "Test-Run-CmdLine";
25797     version = "0.0132";
25798     src = fetchurl {
25799       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-CmdLine-0.0132.tar.gz";
25800       hash = "sha256-ssORzVRjV378dti/so6tKz1OOm+pLbDvNMANyfTPpwc=";
25801     };
25802     buildInputs = [ TestRun TestTrap ];
25803     propagatedBuildInputs = [ MooseXGetopt UNIVERSALrequire YAMLLibYAML ];
25804     doCheck = !stdenv.isDarwin;
25805     meta = {
25806       description = "Analyze tests from the command line using Test::Run";
25807       homepage = "http://web-cpan.berlios.de/modules/Test-Run";
25808       license = with lib.licenses; [ mit ];
25809       mainProgram = "runprove";
25810     };
25811   };
25813   TestRunPluginAlternateInterpreters = buildPerlModule {
25814     pname = "Test-Run-Plugin-AlternateInterpreters";
25815     version = "0.0125";
25816     src = fetchurl {
25817       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-AlternateInterpreters-0.0125.tar.gz";
25818       hash = "sha256-UsNomxRdgh8XCj8uXPM6DCkoKE3d6W1sN88VAA8ymbs=";
25819     };
25820     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
25821     propagatedBuildInputs = [ Moose ];
25822     meta = {
25823       description = "Define different interpreters for different test scripts with Test::Run";
25824       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25825       license = with lib.licenses; [ mit ];
25826     };
25827   };
25829   TestRunPluginBreakOnFailure = buildPerlModule {
25830     pname = "Test-Run-Plugin-BreakOnFailure";
25831     version = "0.0.6";
25832     src = fetchurl {
25833       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-BreakOnFailure-v0.0.6.tar.gz";
25834       hash = "sha256-oBgO4+LwwUQSkFXaBeKTFRC59QcXTQ+6yjwMndBNE6k=";
25835     };
25836     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
25837     propagatedBuildInputs = [ Moose ];
25838     meta = {
25839       description = "Stop processing the entire test suite";
25840       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25841       license = with lib.licenses; [ mit ];
25842     };
25843   };
25845   TestRunPluginColorFileVerdicts = buildPerlModule {
25846     pname = "Test-Run-Plugin-ColorFileVerdicts";
25847     version = "0.0125";
25848     src = fetchurl {
25849       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorFileVerdicts-0.0125.tar.gz";
25850       hash = "sha256-HCQaLBSm/WZLRy5Lb2iP1gyHlzsxjITgFIccBn8uHkY=";
25851     };
25852     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
25853     propagatedBuildInputs = [ Moose ];
25854     moreInputs = [ TestTrap ]; # Added because tests were failing without it
25855     doCheck=true;
25856     meta = {
25857       description = "Make the file verdict ('ok', 'NOT OK')";
25858       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25859       license = with lib.licenses; [ mit ];
25860     };
25861   };
25863   TestRunPluginColorSummary = buildPerlModule {
25864     pname = "Test-Run-Plugin-ColorSummary";
25865     version = "0.0203";
25866     src = fetchurl {
25867       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorSummary-0.0203.tar.gz";
25868       hash = "sha256-e9l5N5spa1EPxVuxwAuKEM00hQ5OIZf1cBtUYAY/iv0=";
25869     };
25870     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
25871     moreInputs = [ TestTrap ]; # Added because tests were failing without it
25872     doCheck=true;
25873     meta = {
25874       description = "A Test::Run plugin that";
25875       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25876       license = with lib.licenses; [ mit ];
25877     };
25878   };
25880   TestRunPluginTrimDisplayedFilenames = buildPerlModule {
25881     pname = "Test-Run-Plugin-TrimDisplayedFilenames";
25882     version = "0.0126";
25883     src = fetchurl {
25884       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-TrimDisplayedFilenames-0.0126.tar.gz";
25885       hash = "sha256-ioZJw8anmIp3N65KcW1g4MazIXMBtAFT6tNquPTqkCg=";
25886     };
25887     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
25888     propagatedBuildInputs = [ Moose ];
25889     meta = {
25890       description = "Trim the first components";
25891       homepage = "https://web-cpan.shlomifish.org/modules/Test-Run";
25892       license = with lib.licenses; [ mit ];
25893     };
25894   };
25896   TestRunValgrind = buildPerlModule {
25897     pname = "Test-RunValgrind";
25898     version = "0.2.2";
25899     src = fetchurl {
25900       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-0.2.2.tar.gz";
25901       hash = "sha256-aRPRTK3CUbI8W3I1+NSsPeKHE41xK3W9lLACrwuPpe4=";
25902     };
25903     buildInputs = [ TestTrap ];
25904     propagatedBuildInputs = [ PathTiny ];
25905     meta = {
25906       description = "Tests that an external program is valgrind-clean";
25907       homepage = "https://metacpan.org/release/Test-RunValgrind";
25908       license = with lib.licenses; [ mit ];
25909     };
25910   };
25912   TestScript = buildPerlPackage {
25913     pname = "Test-Script";
25914     version = "1.29";
25915     src = fetchurl {
25916       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.29.tar.gz";
25917       hash = "sha256-iS5+bB6nsWcQkJlCz1wL2rcO7i79SqnBbqlS4rkPiVA=";
25918     };
25920     buildInputs = [ Test2Suite ];
25922     propagatedBuildInputs = [ CaptureTiny ProbePerl ];
25923     meta = {
25924       description = "Basic cross-platform tests for scripts";
25925       license = with lib.licenses; [ artistic1 gpl1Plus ];
25926     };
25927   };
25929   TestScriptRun = buildPerlPackage {
25930     pname = "Test-Script-Run";
25931     version = "0.08";
25932     src = fetchurl {
25933       url = "mirror://cpan/authors/id/S/SU/SUNNAVY/Test-Script-Run-0.08.tar.gz";
25934       hash = "sha256-H+8hbnC8QlrOPixDcN/N3bXnmLCZ77omeSRKTVvBqwo=";
25935     };
25936     propagatedBuildInputs = [ IPCRun3 TestException ];
25937     meta = {
25938       description = "Test scripts with run";
25939       license = with lib.licenses; [ artistic1 gpl1Plus ];
25940     };
25941   };
25943   TestSharedFork = buildPerlPackage {
25944     pname = "Test-SharedFork";
25945     version = "0.35";
25946     src = fetchurl {
25947       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.35.tar.gz";
25948       hash = "sha256-KTLoZWEOgHWPdkxYZ1fvjhHbEoTZWOJeS3qFCYQUxZ8=";
25949     };
25950     buildInputs = [ TestRequires ];
25951     meta = {
25952       description = "Fork test";
25953       homepage = "https://github.com/tokuhirom/Test-SharedFork";
25954       license = with lib.licenses; [ artistic1 gpl1Plus ];
25955     };
25956   };
25958   TestSimple13 = buildPerlPackage {
25959     pname = "Test-Simple";
25960     version = "1.302195";
25961     src = fetchurl {
25962       url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302195.tar.gz";
25963       hash = "sha256-s5C7I1kuC5Rsla27PDCxG8Y0ooayhHvmEa2SnFfjmmw=";
25964     };
25965     meta = {
25966       description = "Basic utilities for writing tests";
25967       license = with lib.licenses; [ artistic1 gpl1Plus ];
25968     };
25969   };
25971   TestSnapshot = buildPerlPackage {
25972     pname = "Test-Snapshot";
25973     version = "0.06";
25974     src = fetchurl {
25975       url = "mirror://cpan/authors/id/E/ET/ETJ/Test-Snapshot-0.06.tar.gz";
25976       hash = "sha256-9N16mlW6oiR1QK40IQzQWgT50QYb7+yXockO2pW/rkU=";
25977     };
25978     buildInputs = [ CaptureTiny ];
25979     propagatedBuildInputs = [ TextDiff ];
25980     meta = {
25981       description = "Test against data stored in automatically-named file";
25982       license = with lib.licenses; [ artistic2 ];
25983     };
25984   };
25986   TestSpec = buildPerlPackage {
25987     pname = "Test-Spec";
25988     version = "0.54";
25989     src = fetchurl {
25990       url = "mirror://cpan/authors/id/A/AK/AKZHAN/Test-Spec-0.54.tar.gz";
25991       hash = "sha256-CjHPEmXc7pC7xCRWrWC7Njr8f6xml//7D9SbupKhZdI=";
25992     };
25993     propagatedBuildInputs = [ DevelGlobalPhase PackageStash TieIxHash ];
25994     buildInputs = [ TestDeep TestTrap ];
25995     meta = {
25996       description = "Write tests in a declarative specification style";
25997       license = with lib.licenses; [ artistic1 gpl1Plus ];
25998     };
25999   };
26001   TestSubCalls = buildPerlPackage {
26002     pname = "Test-SubCalls";
26003     version = "1.10";
26004     src = fetchurl {
26005       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-SubCalls-1.10.tar.gz";
26006       hash = "sha256-y8Hps1oF5x/rwT5e9UejHIJJiZu2AR29ydn/Nm3atsI=";
26007     };
26008     propagatedBuildInputs = [ HookLexWrap ];
26009     meta = {
26010       description = "Track the number of times subs are called";
26011       license = with lib.licenses; [ artistic1 gpl1Plus ];
26012     };
26013   };
26015   TestSynopsis = buildPerlPackage {
26016     pname = "Test-Synopsis";
26017     version = "0.17";
26018     src = fetchurl {
26019       url = "mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.17.tar.gz";
26020       hash = "sha256-0mjJizPS+hTbsisg1lYbq0ie6CWH374ZrSd2IMe4tt4=";
26021     };
26022     meta = {
26023       description = "Test your SYNOPSIS code";
26024       homepage = "https://metacpan.org/release/Test-Synopsis";
26025       license = with lib.licenses; [ artistic1 gpl1Plus ];
26026     };
26027   };
26029   TestTableDriven = buildPerlPackage {
26030     pname = "Test-TableDriven";
26031     version = "0.02";
26032     src = fetchurl {
26033       url = "mirror://cpan/authors/id/J/JR/JROCKWAY/Test-TableDriven-0.02.tar.gz";
26034       hash = "sha256-Qlh4r88qFOBHyviRsZFen1/7A2lBYJxDjg370bWxhZo=";
26035     };
26036     meta = {
26037       description = "Write tests, not scripts that run them";
26038       license = with lib.licenses; [ artistic1 gpl1Plus ];
26039     };
26040   };
26042   TestTempDirTiny = buildPerlPackage {
26043     pname = "Test-TempDir-Tiny";
26044     version = "0.018";
26045     src = fetchurl {
26046       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-TempDir-Tiny-0.018.tar.gz";
26047       hash = "sha256-17eh/X/M4BaNRPuIdpGP6KmvSa4OuLCWJbZ7GNcfXoE=";
26048     };
26049     meta = {
26050       description = "Temporary directories that stick around when tests fail";
26051       homepage = "https://github.com/dagolden/Test-TempDir-Tiny";
26052       license = with lib.licenses; [ asl20 ];
26053     };
26054   };
26056   TestTCP = buildPerlPackage {
26057     pname = "Test-TCP";
26058     version = "2.22";
26059     src = fetchurl {
26060       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz";
26061       hash = "sha256-PlPDwG1tCYCiv+uRVgK3FOaC7iEa6IwRdIzyzHFOe1c=";
26062     };
26063     buildInputs = [ TestSharedFork ];
26064     meta = {
26065       description = "Testing TCP program";
26066       homepage = "https://github.com/tokuhirom/Test-TCP";
26067       license = with lib.licenses; [ artistic1 gpl1Plus ];
26068     };
26069   };
26071   TestUNIXSock = buildPerlModule rec {
26072     pname = "Test-UNIXSock";
26073     version = "0.4";
26074     src = fetchurl {
26075       url = "mirror://cpan/authors/id/F/FU/FUJIWARA/${pname}-${version}.tar.gz";
26076       hash = "sha256-NzC0zBA0Es+/b+JHvbwwC+l94wnMmxxcvVc3E7hojz8=";
26077     };
26078     buildInputs = [ ModuleBuildTiny ];
26079     propagatedBuildInputs = [ TestSharedFork TestTCP ];
26080     meta = {
26081       description = "Testing UNIX domain socket program";
26082       homepage = "https://github.com/fujiwara/Test-UNIXSock";
26083       license = with lib.licenses; [ artistic1 gpl1Plus ];
26084     };
26085   };
26087   TestTime = buildPerlPackage {
26088     pname = "Test-Time";
26089     version = "0.092";
26090     src = fetchurl {
26091       url = "mirror://cpan/authors/id/A/AN/ANATOFUZ/Test-Time-0.092.tar.gz";
26092       hash = "sha256-MNkPVM6ECJPHuiysKk0e7NTJzfgFkQxZXjronf1kRzg=";
26093     };
26094     meta = {
26095       description = "Overrides the time() and sleep() core functions for testing";
26096       homepage = "https://github.com/cho45/Test-Time";
26097       license = with lib.licenses; [ artistic1 gpl1Plus ];
26098     };
26099   };
26101   TestToolbox = buildPerlModule {
26102     pname = "Test-Toolbox";
26103     version = "0.4";
26104     src = fetchurl {
26105       url = "mirror://cpan/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz";
26106       hash = "sha256-QCC1x/OhWsmxh9Bd/ZgWuAMOwNSkf/g3P3Yzu2FOvcM=";
26107     };
26108     meta = {
26109       description = "Test::Toolbox - tools for testing";
26110       license = with lib.licenses; [ artistic1 gpl1Plus ];
26111     };
26112   };
26114   TestTrailingSpace = buildPerlModule {
26115     pname = "Test-TrailingSpace";
26116     version = "0.0601";
26117     src = fetchurl {
26118       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0601.tar.gz";
26119       hash = "sha256-q7jOdEg6Y9c/4e9gO3zgptR8mO3nMZVdc1eE+tHcT8w=";
26120     };
26121     buildInputs = [ FileTreeCreate ];
26122     propagatedBuildInputs = [ FileFindObjectRule ];
26123     meta = {
26124       description = "Test for trailing space in source files";
26125       homepage = "https://metacpan.org/release/Test-TrailingSpace";
26126       license = with lib.licenses; [ mit ];
26127     };
26128   };
26130   TestUnitLite = buildPerlModule {
26131     pname = "Test-Unit-Lite";
26132     version = "0.1202";
26133     src = fetchurl {
26134       url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz";
26135       hash = "sha256-NR0l7nExYoqvfjmV/h//uJOuf+bvWM8zcO0yCVP1sqg=";
26136     };
26137     meta = {
26138       description = "Unit testing without external dependencies";
26139       license = with lib.licenses; [ artistic1 gpl1Plus ];
26140     };
26141   };
26143   TestWarn = buildPerlPackage {
26144     pname = "Test-Warn";
26145     version = "0.37";
26146     src = fetchurl {
26147       url = "mirror://cpan/authors/id/B/BI/BIGJ/Test-Warn-0.37.tar.gz";
26148       hash = "sha256-mMoy5/L16om4v7mgYJl389FT4kLi5RcFEmy5VPGga1c=";
26149     };
26150     propagatedBuildInputs = [ SubUplevel ];
26151     meta = {
26152       description = "Perl extension to test methods for warnings";
26153       license = with lib.licenses; [ artistic1 gpl1Plus ];
26154     };
26155   };
26157   TestWarnings = buildPerlPackage {
26158     pname = "Test-Warnings";
26159     version = "0.032";
26160     src = fetchurl {
26161       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.032.tar.gz";
26162       hash = "sha256-Ryfa4kFunwfkHi3DqRQ7pq/8HsV2UhF8mdUAOOMT6dk=";
26163     };
26164     buildInputs = [ CPANMetaCheck PadWalker ];
26165     meta = {
26166       description = "Test for warnings and the lack of them";
26167       homepage = "https://github.com/karenetheridge/Test-Warnings";
26168       license = with lib.licenses; [ artistic1 gpl1Plus ];
26169     };
26170   };
26172   TestWeaken = buildPerlPackage {
26173     pname = "Test-Weaken";
26174     version = "3.022000";
26175     src = fetchurl {
26176       url = "mirror://cpan/authors/id/K/KR/KRYDE/Test-Weaken-3.022000.tar.gz";
26177       hash = "sha256-JjGocSExAmLg6WEHpvoO1pSHt3AVIHc77l+prMwpX1s=";
26178     };
26179     propagatedBuildInputs = [ ScalarListUtils ];
26180     meta = {
26181       description = "Test that freed memory objects were, indeed, freed";
26182       license = with lib.licenses; [ artistic1 gpl1Plus ];
26183     };
26184   };
26186   TestWithoutModule = buildPerlPackage {
26187     pname = "Test-Without-Module";
26188     version = "0.21";
26189     src = fetchurl {
26190       url = "mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.21.tar.gz";
26191       hash = "sha256-PN6vraxIU+vq/miTRtVV2l36PPqdTITj5ee/7lC+7EY=";
26192     };
26193     meta = {
26194       description = "Test fallback behaviour in absence of modules";
26195       license = with lib.licenses; [ artistic1 gpl1Plus ];
26196     };
26197   };
26199   TestWWWMechanize = buildPerlPackage {
26200     pname = "Test-WWW-Mechanize";
26201     version = "1.60";
26202     src = fetchurl {
26203       url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.60.tar.gz";
26204       hash = "sha256-I/1y5+0b553h0CotFfDfCTQV4Oq2/GFf9rtoh0Emhnc=";
26205     };
26206     buildInputs = [ TestLongString ];
26207     propagatedBuildInputs = [ CarpAssertMore HTTPServerSimple WWWMechanize ];
26208     meta = {
26209       description = "Testing-specific WWW::Mechanize subclass";
26210       homepage = "https://github.com/libwww-perl/WWW-Mechanize";
26211       license = with lib.licenses; [ artistic2 ];
26212     };
26213   };
26215   TestWWWMechanizeCatalyst = buildPerlPackage {
26216     pname = "Test-WWW-Mechanize-Catalyst";
26217     version = "0.62";
26218     src = fetchurl {
26219       url = "mirror://cpan/authors/id/M/MS/MSTROUT/Test-WWW-Mechanize-Catalyst-0.62.tar.gz";
26220       hash = "sha256-GDveGuerpw3LPtd3xVSCN/QsPtVR/VvGWM7obQIWrLE=";
26221     };
26222     doCheck = false; # listens on an external port
26223     propagatedBuildInputs = [ CatalystRuntime WWWMechanize ];
26224     buildInputs = [ CatalystPluginSession CatalystPluginSessionStateCookie TestException TestWWWMechanize Testutf8 ];
26225     meta = {
26226       description = "Test::WWW::Mechanize for Catalyst";
26227       license = with lib.licenses; [ artistic1 gpl1Plus ];
26228     };
26229   };
26231   TestWWWMechanizeCGI = buildPerlPackage {
26232     pname = "Test-WWW-Mechanize-CGI";
26233     version = "0.1";
26234     src = fetchurl {
26235       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz";
26236       hash = "sha256-pXagsi470a/JJ0/FY7A3ru53cThJyev2pq1EFcFsnC8=";
26237     };
26238     propagatedBuildInputs = [ WWWMechanizeCGI ];
26239     buildInputs = [ TestLongString TestWWWMechanize ];
26240     meta = {
26241       description = "Test CGI applications with Test::WWW::Mechanize";
26242       license = with lib.licenses; [ artistic1 gpl1Plus ];
26243     };
26244   };
26246   TestWWWMechanizePSGI = buildPerlPackage {
26247     pname = "Test-WWW-Mechanize-PSGI";
26248     version = "0.39";
26249     src = fetchurl {
26250       url = "mirror://cpan/authors/id/O/OA/OALDERS/Test-WWW-Mechanize-PSGI-0.39.tar.gz";
26251       hash = "sha256-R2s6s7R9U05Nag9JkAIdXTTGnsk3rAcW5mzop7yHmVg=";
26252     };
26253     buildInputs = [ CGI TestLongString TestWWWMechanize ];
26254     propagatedBuildInputs = [ Plack ];
26255     meta = {
26256       description = "Test PSGI programs using WWW::Mechanize";
26257       homepage = "https://github.com/acme/test-www-mechanize-psgi";
26258       license = with lib.licenses; [ artistic1 gpl1Plus ];
26259     };
26260   };
26262   TestXPath = buildPerlPackage {
26263     pname = "Test-XPath";
26264     version = "0.20";
26265     src = fetchurl {
26266       url = "mirror://cpan/authors/id/M/MA/MANWAR/Test-XPath-0.20.tar.gz";
26267       hash = "sha256-36phHnFGrZyXabW89oiUmXa4Ny3354ekC5M6FI2JIDk=";
26268     };
26269     propagatedBuildInputs = [ XMLLibXML ];
26270     meta = {
26271       description = "Test XML and HTML content and structure with XPath expressions";
26272       license = with lib.licenses; [ artistic1 gpl1Plus ];
26273     };
26274   };
26276   TestYAML = buildPerlPackage {
26277     pname = "Test-YAML";
26278     version = "1.07";
26279     src = fetchurl {
26280       url = "mirror://cpan/authors/id/T/TI/TINITA/Test-YAML-1.07.tar.gz";
26281       hash = "sha256-HzANA09GKYy5KWCRLMBLrDP7J/BbiFLY8FHhELnNmV8=";
26282     };
26283     buildInputs = [ TestBase ];
26284     meta = {
26285       description = "Testing Module for YAML Implementations";
26286       license = with lib.licenses; [ artistic1 gpl1Plus ];
26287       mainProgram = "test-yaml";
26288     };
26289   };
26291   TextAligner = buildPerlModule {
26292     pname = "Text-Aligner";
26293     version = "0.16";
26294     src = fetchurl {
26295       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.16.tar.gz";
26296       hash = "sha256-XIV9vOWG9X+j18Tr0yACOrOyljsgSUKK4BvTvE8hVyU=";
26297     };
26298     meta = {
26299       description = "Module to align text";
26300       homepage = "https://metacpan.org/release/Text-Aligner";
26301       license = with lib.licenses; [ isc ];
26302     };
26303   };
26305   TextAspell = buildPerlPackage {
26306     pname = "Text-Aspell";
26307     version = "0.09";
26308     src = fetchurl {
26309       url = "mirror://cpan/authors/id/H/HA/HANK/Text-Aspell-0.09.tar.gz";
26310       hash = "sha256-K+oyCfGOJzsZPjF1pC0mk5GRnkmrEGtuJSOV0nIYL2U=";
26311     };
26312     propagatedBuildInputs = [ pkgs.aspell ];
26313     ASPELL_CONF = "dict-dir ${pkgs.aspellDicts.en}/lib/aspell";
26314     env.NIX_CFLAGS_COMPILE = "-I${pkgs.aspell}/include";
26315     NIX_CFLAGS_LINK = "-L${pkgs.aspell}/lib -laspell";
26316     meta = {
26317       description = "Perl interface to the GNU Aspell library";
26318       license = with lib.licenses; [ artistic1 gpl1Plus ];
26319     };
26320   };
26322   TextAutoformat = buildPerlPackage {
26323     pname = "Text-Autoformat";
26324     version = "1.75";
26325     src = fetchurl {
26326       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.75.tar.gz";
26327       hash = "sha256-ndT0zj2uxLTb9bWdrEVoqJRq7RLCi05ZiMjoxgLGt3E=";
26328     };
26329     propagatedBuildInputs = [ TextReform ];
26330     meta = {
26331       description = "Automatic text wrapping and reformatting";
26332       homepage = "https://github.com/neilb/Text-Autoformat";
26333       license = with lib.licenses; [ artistic1 gpl1Plus ];
26334     };
26335   };
26337   TextBalanced = buildPerlPackage {
26338     pname = "Text-Balanced";
26339     version = "2.06";
26340     src = fetchurl {
26341       url = "mirror://cpan/authors/id/S/SH/SHAY/Text-Balanced-2.06.tar.gz";
26342       hash = "sha256-dz4PDyHAyyz2ZM7muij/cCWbq8yJL5tlD5y9oAvgkq0=";
26343     };
26344     meta = {
26345       description = "Extract delimited text sequences from strings";
26346       license = with lib.licenses; [ artistic1 gpl1Plus ];
26347     };
26348   };
26350   TextBibTeX = buildPerlModule {
26351     pname = "Text-BibTeX";
26352     version = "0.89";
26353     buildInputs = [ CaptureTiny ConfigAutoConf ExtUtilsLibBuilder ];
26354     src = fetchurl {
26355       url = "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-0.89.tar.gz";
26356       hash = "sha256-iKeOvwiOx1AvQBxaKxOMhiz1RYU0t3MiO786r0EiQZY=";
26357     };
26358     # libbtparse.so: cannot open shared object file
26359     patches = [ ../development/perl-modules/TextBibTeX-use-lib.patch ];
26360     perlPreHook = "export LD=$CC";
26361     perlPostHook = lib.optionalString stdenv.isDarwin ''
26362       oldPath="$(pwd)/btparse/src/libbtparse.dylib"
26363       newPath="$out/lib/libbtparse.dylib"
26365       install_name_tool -id "$newPath" "$newPath"
26366       install_name_tool -change "$oldPath" "$newPath" "$out/bin/biblex"
26367       install_name_tool -change "$oldPath" "$newPath" "$out/bin/bibparse"
26368       install_name_tool -change "$oldPath" "$newPath" "$out/bin/dumpnames"
26369       install_name_tool -change "$oldPath" "$newPath" "$out/${perl.libPrefix}/${perl.version}/darwin"*"-2level/auto/Text/BibTeX/BibTeX.bundle"
26370     '';
26371     meta = {
26372       description = "Interface to read and parse BibTeX files";
26373       license = with lib.licenses; [ artistic1 gpl1Plus ];
26374     };
26375   };
26377   TextBrew = buildPerlPackage {
26378     pname = "Text-Brew";
26379     version = "0.02";
26380     src = fetchurl {
26381       url = "mirror://cpan/authors/id/K/KC/KCIVEY/Text-Brew-0.02.tar.gz";
26382       hash = "sha256-qhuFhBz5/G/jODZrvIcKTpMEonZB5j+Sof2Wvujr9kw=";
26383     };
26384     meta = {
26385       description = "An implementation of the Brew edit distance";
26386       license = with lib.licenses; [ artistic1 gpl1Plus ];
26387     };
26388   };
26390   TextCharWidth = buildPerlPackage {
26391     pname = "Text-CharWidth";
26392     version = "0.04";
26393     src = fetchurl {
26394       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-CharWidth-0.04.tar.gz";
26395       hash = "sha256-q97V9P3ZM46J/S8dgnHESYna5b9Qrs5BthedjiMHBPg=";
26396     };
26397     meta = {
26398       description = "Get number of occupied columns of a string on terminal";
26399       license = with lib.licenses; [ artistic1 gpl1Plus ];
26400     };
26401   };
26403   TextCSV = buildPerlPackage {
26404     pname = "Text-CSV";
26405     version = "2.03";
26406     src = fetchurl {
26407       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Text-CSV-2.03.tar.gz";
26408       hash = "sha256-SLvOnyNJNaiFlWGOBN0UFigkbWUPKnJgJN8cE34LZfs=";
26409     };
26410     meta = {
26411       description = "Comma-separated values manipulator (using XS or PurePerl)";
26412       license = with lib.licenses; [ artistic1 gpl1Plus ];
26413     };
26414   };
26416   TextCSVEncoded = buildPerlPackage {
26417     pname = "Text-CSV-Encoded";
26418     version = "0.25";
26419     src = fetchurl {
26420       url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/Text-CSV-Encoded-0.25.tar.gz";
26421       hash = "sha256-JIpZg6IN1XeGY56I2v3WVPO5OSVJASDW1xLaayvludA=";
26422     };
26423     propagatedBuildInputs = [ TextCSV ];
26424     meta = {
26425       description = "Encoding aware Text::CSV";
26426       homepage = "https://github.com/singingfish/Text-CSV-Encoded";
26427       license = with lib.licenses; [ artistic1 gpl1Plus ];
26428     };
26429   };
26431   TextCSV_XS = buildPerlPackage {
26432     pname = "Text-CSV_XS";
26433     version = "1.52";
26434     src = fetchurl {
26435       url = "mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.52.tgz";
26436       hash = "sha256-5BWqcFut+Es1ncTA8MmC8b9whIHaoUdW8xNufInA5B0=";
26437     };
26438     meta = {
26439       description = "Comma-Separated Values manipulation routines";
26440       homepage = "https://metacpan.org/pod/Text::CSV_XS";
26441       license = with lib.licenses; [ artistic1 gpl1Plus ];
26442     };
26443   };
26445   TextDiff = buildPerlPackage {
26446     pname = "Text-Diff";
26447     version = "1.45";
26448     src = fetchurl {
26449       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz";
26450       hash = "sha256-6Lqgexs/U+AK82NomLv3OuyaD/OPlFNu3h2+lu8IbwQ=";
26451     };
26452     propagatedBuildInputs = [ AlgorithmDiff ];
26453     meta = {
26454       description = "Perform diffs on files and record sets";
26455       license = with lib.licenses; [ artistic1 gpl1Plus ];
26456     };
26457   };
26459   TextFormat = buildPerlModule {
26460     pname = "Text-Format";
26461     version = "0.62";
26462     src = fetchurl {
26463       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-0.62.tar.gz";
26464       hash = "sha256-fUKQVzGeEjxZC6B2UzTwreSl656o23wOxNOQLeX5BAQ=";
26465     };
26466     meta = {
26467       description = "Various subroutines to format text";
26468       homepage = "https://github.com/shlomif/perl-Module-Format";
26469       license = with lib.licenses; [ artistic1 gpl1Plus ];
26470       maintainers = with maintainers; [ bcdarwin ];
26471     };
26472   };
26474   TextDiffFormattedHTML = buildPerlPackage {
26475     pname = "Text-Diff-FormattedHTML";
26476     version = "0.08";
26477     src = fetchurl {
26478       url = "mirror://cpan/authors/id/A/AM/AMBS/Text-Diff-FormattedHTML-0.08.tar.gz";
26479       hash = "sha256-Oat3WlwFZ0Xyq9jMfBy8VJbf735SqfS9itpqpsnHtw0=";
26480     };
26481     propagatedBuildInputs = [ FileSlurp StringDiff ];
26482     meta = {
26483       description = "Generate a colorful HTML diff of strings/files";
26484       license = with lib.licenses; [ artistic1 gpl1Plus ];
26485       maintainers = [ maintainers.sgo ];
26486     };
26487   };
26489   TextFuzzy = buildPerlPackage {
26490     pname = "Text-Fuzzy";
26491     version = "0.29";
26492     src = fetchurl {
26493       url = "mirror://cpan/authors/id/B/BK/BKB/Text-Fuzzy-0.29.tar.gz";
26494       hash = "sha256-PfXP0soaTFyn/3urPMjVOtIGThNMvxEATzz4xLkFW/8=";
26495     };
26496     meta = {
26497       description = "Partial string matching using edit distances";
26498       license = with lib.licenses; [ artistic1 gpl1Plus ];
26499     };
26500   };
26502   TextGerman = buildPerlPackage {
26503     pname = "Text-German";
26504     version = "0.06";
26505     src = fetchurl {
26506       url = "mirror://cpan/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz";
26507       hash = "sha256-ki1PGQEtl3OxH0pvZCEF6fkT9YZvRGG2BZymdNW7B90=";
26508     };
26509     meta = {
26510       description = "German grundform reduction";
26511       license = with lib.licenses; [ artistic1 gpl1Plus ];
26512     };
26513   };
26515   TextGlob = buildPerlPackage {
26516     pname = "Text-Glob";
26517     version = "0.11";
26518     src = fetchurl {
26519       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz";
26520       hash = "sha256-BpzNSdPwot7bEV9L3J+6wHqDWShAlT0fzfw5650wUoc=";
26521     };
26522     meta = {
26523       description = "Match globbing patterns against text";
26524       license = with lib.licenses; [ artistic1 gpl1Plus ];
26525     };
26526   };
26528   TextHogan = buildPerlPackage {
26529     pname = "Text-Hogan";
26530     version = "2.03";
26531     src = fetchurl {
26532       url = "mirror://cpan/authors/id/K/KA/KAORU/Text-Hogan-2.03.tar.gz";
26533       hash = "sha256-WNkj7eTFmEiI75u7JW2IVMxdIqRwikd0sxPLU4jFYXo=";
26534     };
26535     propagatedBuildInputs = [ Clone RefUtil TextTrim ];
26536     buildInputs = [ DataVisitor PathTiny TryTiny YAML ];
26537     meta = {
26538       description = "Text::Hogan - A mustache templating engine statement-for-statement cloned from hogan.js";
26539       license = with lib.licenses; [ artistic1 gpl1Plus ];
26540     };
26541   };
26543   TextIconv = buildPerlPackage {
26544     pname = "Text-Iconv";
26545     version = "1.7";
26546     src = fetchurl {
26547       url = "mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz";
26548       hash = "sha256-W4C31ecJ00OTvLqIlxhkoXtEpb8PnkvO44PQKefS1cM=";
26549     };
26550     meta = {
26551       description = "Perl interface to iconv() codeset conversion function";
26552       license = with lib.licenses; [ artistic1 gpl1Plus ]; # taken from el6
26553       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TextIconv.x86_64-darwin
26554     };
26555   };
26557   TestInDistDir = buildPerlPackage {
26558     pname = "Test-InDistDir";
26559     version = "1.112071";
26560     src = fetchurl {
26561       url = "mirror://cpan/authors/id/M/MI/MITHALDU/Test-InDistDir-1.112071.tar.gz";
26562       hash = "sha256-kixcYzFPQG9MuzXsQjrCFU0sK3GmWt23cyydJAqD/vs=";
26563     };
26564     meta = {
26565       description = "Test environment setup for development with IDE";
26566       homepage = "https://github.com/wchristian/Test-InDistDir";
26567       license = with lib.licenses; [ wtfpl ];
26568       maintainers = [ maintainers.sgo ];
26569     };
26570   };
26572   TestInter = buildPerlPackage {
26573     pname = "Test-Inter";
26574     version = "1.10";
26575     src = fetchurl {
26576       url = "mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.10.tar.gz";
26577       hash = "sha256-cewRXqwm+2aJGb1mQLQcNzInUuvUjBx222a3O679O10=";
26578     };
26579     buildInputs = [ FileFindRule TestPod TestPodCoverage ];
26580     meta = {
26581       description = "Framework for more readable interactive test scripts";
26582       license = with lib.licenses; [ artistic1 gpl1Plus ];
26583     };
26584   };
26586   TextLayout = buildPerlPackage {
26587     pname = "Text-Layout";
26588     version = "0.031";
26589     src = fetchurl {
26590       url = "mirror://cpan/authors/id/J/JV/JV/Text-Layout-0.031.tar.gz";
26591       hash = "sha256-EQ4ObbzKIFhKcckNpxBYAdRrXXYd+QmsTfYQbDM3B34=";
26592     };
26593     buildInputs = [ IOString PDFAPI2 ];
26594     meta = {
26595       description = "Pango style markup formatting";
26596       license = with lib.licenses; [ artistic1 gpl1Plus ];
26597     };
26598   };
26600   TextLevenshteinXS = buildPerlPackage {
26601     pname = "Text-LevenshteinXS";
26602     version = "0.03";
26603     src = fetchurl {
26604       url = "mirror://cpan/authors/id/J/JG/JGOLDBERG/Text-LevenshteinXS-0.03.tar.gz";
26605       hash = "sha256-43T/eyN5Gc5eqSRfNW0ctSzIf9JrOlo4s/Pl/4KgFJE=";
26606     };
26607     meta = {
26608       description = "Levenshtein edit distance in a XS way";
26609       license = with lib.licenses; [ artistic1 gpl1Plus ];
26610     };
26611   };
26613   TextLorem = buildPerlPackage {
26614     pname = "Text-Lorem";
26615     version = "0.34";
26616     src = fetchurl {
26617       url = "mirror://cpan/authors/id/A/AD/ADEOLA/Text-Lorem-0.34.tar.gz";
26618       hash = "sha256-DOajwZkXsjI0JKGqdC2YiwY8OUQEJ6MQGkzsbb2EcVc=";
26619     };
26620     meta = {
26621       description = "Generate random Latin looking text";
26622       license = with lib.licenses; [ artistic1 gpl1Plus ];
26623       maintainers = [ maintainers.sgo ];
26624       mainProgram = "lorem";
26625     };
26626   };
26628   TestManifest = buildPerlPackage {
26629     pname = "Test-Manifest";
26630     version = "2.023";
26631     src = fetchurl {
26632       url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Manifest-2.023.tar.gz";
26633       hash = "sha256-0k5SVT58uc2oH5L/6MkrPkNGcY5HEIAaWzW38lGnceI=";
26634     };
26635     meta = {
26636       description = "Interact with a t/test_manifest file";
26637       homepage = "https://github.com/briandfoy/test-manifest";
26638       license = with lib.licenses; [ artistic2 ];
26639     };
26640   };
26642   TextMarkdown = buildPerlPackage {
26643     pname = "Text-Markdown";
26644     version = "1.000031";
26645     src = fetchurl {
26646       url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz";
26647       hash = "sha256-wZHG1ezrjLdcBWUZI2BmLSAtcWutB6IzxLMppChNxxs=";
26648     };
26649     nativeBuildInputs = [ shortenPerlShebang ];
26650     nativeCheckInputs = [ ListMoreUtils TestDifferences TestException ];
26651     postInstall = ''
26652       shortenPerlShebang $out/bin/Markdown.pl
26653     '';
26654     meta = {
26655       description = "Convert Markdown syntax to (X)HTML";
26656       license = with lib.licenses; [ bsd3 ];
26657       mainProgram = "Markdown.pl";
26658     };
26659   };
26661   TextMarkdownHoedown = buildPerlModule {
26662     pname = "Text-Markdown-Hoedown";
26663     version = "1.03";
26664     src = fetchurl {
26665       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Text-Markdown-Hoedown-1.03.tar.gz";
26666       hash = "sha256-U6cw/29IgrmavYVW8mqRH1gvZ1tZ8OFnJe0ey8CE7lA=";
26667     };
26668     buildInputs = [ Filepushd ];
26669     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
26670     meta = {
26671       description = "Hoedown for Perl5";
26672       homepage = "https://github.com/tokuhirom/Text-Markdown-Hoedown";
26673       license = with lib.licenses; [ artistic1 gpl1Plus ];
26674     };
26675   };
26677   TestMinimumVersion = buildPerlPackage {
26678     pname = "Test-MinimumVersion";
26679     version = "0.101083";
26680     src = fetchurl {
26681       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101083.tar.gz";
26682       hash = "sha256-MqHrzYA/oQ7vylU7w87dQ1lqdZ3Dl1revSJoiCPDauo=";
26683     };
26684     propagatedBuildInputs = [ PerlMinimumVersion ];
26685     meta = {
26686       description = "Does your code require newer perl than you think?";
26687       homepage = "https://github.com/rjbs/Test-MinimumVersion";
26688       license = with lib.licenses; [ artistic1 gpl1Plus ];
26689     };
26690   };
26692   TextMicroTemplate = buildPerlPackage {
26693     pname = "Text-MicroTemplate";
26694     version = "0.24";
26695     src = fetchurl {
26696       url = "mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz";
26697       hash = "sha256-MoAecfNe6Kqg1XbOwSXO5Gs9SRWuZCvGSWISDU+XtMg=";
26698     };
26699     meta = {
26700       description = "Micro template engine with Perl5 language";
26701       license = with lib.licenses; [ artistic1 gpl1Plus ];
26702     };
26703   };
26705   TextMultiMarkdown = buildPerlPackage {
26706     pname = "Text-MultiMarkdown";
26707     version = "1.001";
26708     src = fetchurl {
26709       url = "mirror://cpan/authors/id/B/BD/BDFOY/Text-MultiMarkdown-1.001.tar.gz";
26710       hash = "sha256-UB1ErH2lSUSZzqhR6bL7UlOAgLDB6TYjDIwm1n4EhDM=";
26711     };
26712     buildInputs = [ ListMoreUtils TestException ];
26713     propagatedBuildInputs = [ HTMLParser TextMarkdown ];
26714     meta = {
26715       description = "Convert MultiMarkdown syntax to (X)HTML";
26716       license = with lib.licenses; [ bsd3 ];
26717       mainProgram = "MultiMarkdown.pl";
26718     };
26719   };
26721   TestNumberDelta = buildPerlPackage {
26722     pname = "Test-Number-Delta";
26723     version = "1.06";
26724     src = fetchurl {
26725       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz";
26726       hash = "sha256-U1QwkZ5v32zlX/dumJKvzLo7fUFg20XzrEOw+S/80Ek=";
26727     };
26728     meta = {
26729       description = "Compare the difference between numbers against a given tolerance";
26730       homepage = "https://github.com/dagolden/Test-Number-Delta";
26731       license = with lib.licenses; [ asl20 ];
26732     };
26733   };
26735   TextParsewords = buildPerlPackage {
26736     pname = "Text-ParseWords";
26737     version = "3.31";
26738     src = fetchurl {
26739       url = "mirror://cpan/authors/id/N/NE/NEILB/Text-ParseWords-3.31.tar.gz";
26740       hash = "sha256-KuVVughNdbK4/u640aAJESdoFa2oa8yxRSI2lk1aL8c=";
26741     };
26742     meta = {
26743       description = "Parse text into an array of tokens or array of arrays";
26744       license = with lib.licenses; [ artistic1 gpl1Plus ];
26745     };
26746   };
26748   TextPasswordPronounceable = buildPerlPackage {
26749     pname = "Text-Password-Pronounceable";
26750     version = "0.30";
26751     src = fetchurl {
26752       url = "mirror://cpan/authors/id/T/TS/TSIBLEY/Text-Password-Pronounceable-0.30.tar.gz";
26753       hash = "sha256-wYalAlbgvt+vsX584VfnxS8ZUDu3nhjr8GJVkR9urRo=";
26754     };
26755     meta = {
26756       description = "Generate pronounceable passwords";
26757       license = with lib.licenses; [ artistic1 gpl1Plus ];
26758     };
26759   };
26761   TextPatch = buildPerlPackage {
26762     pname = "Text-Patch";
26763     version = "1.8";
26764     src = fetchurl {
26765       url = "mirror://cpan/authors/id/C/CA/CADE/Text-Patch-1.8.tar.gz";
26766       hash = "sha256-6vGOYbpqPhQ4RqfMZvCM5YoMT72pKssxrt4lyztcPcw=";
26767     };
26768     propagatedBuildInputs = [ TextDiff ];
26769     meta = {
26770       description = "Patches text with given patch";
26771       license = with lib.licenses; [ gpl2Only ];
26772     };
26773   };
26775   TextPDF = buildPerlPackage {
26776     pname = "Text-PDF";
26777     version = "0.31";
26778     src = fetchurl {
26779       url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz";
26780       hash = "sha256-359RXuFZgEsNWnXVrbk8RYTH7EAdjFnCfp9zkl2NrGg=";
26781     };
26782     meta = {
26783       description = "Module for manipulating PDF files";
26784       license = with lib.licenses; [ artistic1 gpl1Plus ];
26785     };
26786   };
26788   TextQuoted = buildPerlPackage {
26789     pname = "Text-Quoted";
26790     version = "2.10";
26791     src = fetchurl {
26792       url = "mirror://cpan/authors/id/B/BP/BPS/Text-Quoted-2.10.tar.gz";
26793       hash = "sha256-CBv5XskiCvJs7IkWHmG/c/n7y/7uHZrxUTnl17cI9EU=";
26794     };
26795     propagatedBuildInputs = [ TextAutoformat ];
26796     meta = {
26797       description = "Extract the structure of a quoted mail message";
26798       license = with lib.licenses; [ artistic1 gpl1Plus ];
26799     };
26800   };
26802   TextRecordParser = buildPerlPackage {
26803     pname = "Text-RecordParser";
26804     version = "1.6.5";
26805     src = fetchurl {
26806       url = "mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-1.6.5.tar.gz";
26807       hash = "sha256-2juBQUxj+NkhjRFnRaiLlIxGyYsYdjT2KYkuVAAbw1o=";
26808     };
26810     # In a NixOS chroot build, the tests fail because the font configuration
26811     # at /etc/fonts/font.conf is not available.
26812     doCheck = false;
26814     propagatedBuildInputs = [ ClassAccessor IOStringy ListMoreUtils Readonly TextAutoformat ];
26815     buildInputs = [ TestException ];
26816     meta = {
26817       description = "Read record-oriented files";
26818       license = with lib.licenses; [ gpl2Only ];
26819     };
26820   };
26822   TextReflow = buildPerlPackage {
26823     pname = "Text-Reflow";
26824     version = "1.17";
26825     src = fetchurl {
26826       url = "mirror://cpan/authors/id/M/MW/MWARD/Text-Reflow-1.17.tar.gz";
26827       hash = "sha256-S/ITn/YX1uWcwOWc3s18tyPs/SjVrDh6+1U//cBxuGA=";
26828     };
26829     meta = {
26830       description = "Reflow text files using Knuth's paragraphing algorithm";
26831       license = with lib.licenses; [ artistic1 gpl1Plus ];
26832     };
26833   };
26835   TextReform = buildPerlModule {
26836     pname = "Text-Reform";
26837     version = "1.20";
26838     src = fetchurl {
26839       url = "mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-1.20.tar.gz";
26840       hash = "sha256-qHkt2MGqyXABAyM3s2o1a+luLXTE8DnvmjY7ZB20rmE=";
26841     };
26842     meta = {
26843       description = "Manual text wrapping and reformatting";
26844       license = with lib.licenses; [ artistic1 gpl1Plus ];
26845     };
26846   };
26848   TextRoman = buildPerlPackage {
26849     pname = "Text-Roman";
26850     version = "3.5";
26851     src = fetchurl {
26852       url = "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz";
26853       hash = "sha256-y0oIo7FRgC/7L84yWKQWVCq4HbD3Oe5HSpWD/7c+BGo=";
26854     };
26855     meta = {
26856       description = "Allows conversion between Roman and Arabic algarisms";
26857       homepage = "https://github.com/creaktive/Text-Roman";
26858       license = with lib.licenses; [ artistic1 gpl1Plus ];
26859     };
26860   };
26862   TextSimpleTable = buildPerlPackage {
26863     pname = "Text-SimpleTable";
26864     version = "2.07";
26865     src = fetchurl {
26866       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.07.tar.gz";
26867       hash = "sha256-JW0/OHZOljMxWLFKsYJXuS8xVcYNZYyvuAOJ9y9GGe0=";
26868     };
26869     propagatedBuildInputs = [ UnicodeLineBreak ];
26870     meta = {
26871       description = "Simple eyecandy ASCII tables";
26872       license = with lib.licenses; [ artistic2 ];
26873     };
26874   };
26876   TextSoundex = buildPerlPackage {
26877     pname = "Text-Soundex";
26878     version = "3.05";
26879     src = fetchurl {
26880       url = "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz";
26881       hash = "sha256-9t1VtCgLJd6peCIYOYZDglYAdOHWkzOV+u4lEMLbYO0=";
26882     };
26883     meta = {
26884       description = "Implementation of the soundex algorithm";
26885       license = with lib.licenses; [ artistic1 gpl1Plus ];
26886     };
26887   };
26889   TextSprintfNamed = buildPerlModule {
26890     pname = "Text-Sprintf-Named";
26891     version = "0.0405";
26892     src = fetchurl {
26893       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Sprintf-Named-0.0405.tar.gz";
26894       hash = "sha256-m0cNeP/PxAqz+ZgjGzNrnTQXIw+3zlW0fNewVXOnD/w=";
26895     };
26896     buildInputs = [ TestWarn ];
26897     meta = {
26898       description = "Sprintf-like function with named conversions";
26899       homepage = "https://metacpan.org/release/Text-Sprintf-Named";
26900       license = with lib.licenses; [ mit ];
26901     };
26902   };
26904   TextTable = buildPerlModule {
26905     pname = "Text-Table";
26906     version = "1.135";
26907     src = fetchurl {
26908       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.135.tar.gz";
26909       hash = "sha256-/KPBboMSf3xE3ePT9+PHPqUNEJoQVERd6Agv6nlMpdI=";
26910     };
26911     propagatedBuildInputs = [ TextAligner ];
26912     meta = {
26913       description = "Organize Data in Tables";
26914       homepage = "https://metacpan.org/release/Text-Table";
26915       license = with lib.licenses; [ isc ];
26916     };
26917   };
26919   TextTabularDisplay = buildPerlPackage {
26920     pname = "Text-TabularDisplay";
26921     version = "1.38";
26922     src = fetchurl {
26923       url = "mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-1.38.tar.gz";
26924       hash = "sha256-6wmQ+vpWtmfyPbdkvdpaTcX0sd3EsTg6pe7W8i7Rhug=";
26925     };
26926     meta = {
26927       description = "Display text in formatted table output";
26928       license = with lib.licenses; [ gpl2Plus ];
26929     };
26930   };
26932   TextTemplate = buildPerlPackage {
26933     pname = "Text-Template";
26934     version = "1.61";
26935     src = fetchurl {
26936       url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.61.tar.gz";
26937       hash = "sha256-opXqfR7yQa4mQMH3hktij45vmewU+x2ngbL18haNzwk=";
26938     };
26939     buildInputs = [ TestMoreUTF8 TestWarnings ];
26940     meta = {
26941       description = "Expand template text with embedded Perl";
26942       license = with lib.licenses; [ artistic1 gpl1Plus ];
26943     };
26944   };
26946   TestTrap = buildPerlModule {
26947     pname = "Test-Trap";
26948     version = "0.3.5";
26949     src = fetchurl {
26950       url = "mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.3.5.tar.gz";
26951       hash = "sha256-VPmQFlYrWx1yEQEA8fK+Q3F4zfhDdvSV/9A3bx1+y5o=";
26952     };
26953     propagatedBuildInputs = [ DataDump ];
26954     meta = {
26955       description = "Trap exit codes, exceptions, output, etc";
26956       license = with lib.licenses; [ artistic1 gpl1Plus ];
26957     };
26958   };
26960   TestVars = buildPerlModule {
26961     pname = "Test-Vars";
26962     version = "0.015";
26963     src = fetchurl {
26964       url = "mirror://cpan/authors/id/G/GF/GFUJI/Test-Vars-0.015.tar.gz";
26965       hash = "sha256-4Y3RWCcuTsmTnh37M8dDGrTnXGtAsoDDi16AT9pHGlQ=";
26966     };
26968     buildInputs = [ ModuleBuildTiny ];
26970     meta = {
26971       description = "Detects unused variables in perl modules";
26972       homepage = "https://github.com/houseabsolute/p5-Test-Vars";
26973       license = with lib.licenses; [ artistic1 gpl1Plus ];
26974     };
26975   };
26977   TestVersion = buildPerlPackage {
26978     pname = "Test-Version";
26979     version = "2.09";
26980     src = fetchurl {
26981       url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-2.09.tar.gz";
26982       hash = "sha256-nOHdKJel8w4bf4lm7Gb1fY2PKA9gXyjHyiIfp5rKOOA=";
26983     };
26984     buildInputs = [ TestException ];
26985     propagatedBuildInputs = [ FileFindRulePerl ];
26986     meta = {
26987       description = "Check to see that version's in modules are sane";
26988       license = with lib.licenses; [ artistic2 ];
26989     };
26990   };
26992   TextTrim = buildPerlPackage {
26993     pname = "Text-Trim";
26994     version = "1.04";
26995     src = fetchurl {
26996       url = "mirror://cpan/authors/id/R/RJ/RJT/Text-Trim-1.04.tar.gz";
26997       hash = "sha256-1YeKkHnTPNF2bParxEzWJb0AoCE9LOjjFD/mlEq6qhE=";
26998     };
26999     meta = {
27000       description = "Remove leading and/or trailing whitespace from strings";
27001       license = with lib.licenses; [ artistic1 gpl1Plus ];
27002     };
27003   };
27005   TextUnaccent = buildPerlPackage {
27006     pname = "Text-Unaccent";
27007     version = "1.08";
27008     src = fetchurl {
27009       url = "mirror://cpan/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz";
27010       hash = "sha256-J45u/Jsk82mclh77NuvmAqNAi1QVcgF97hMdFScocys=";
27011     };
27012     # https://rt.cpan.org/Public/Bug/Display.html?id=124815
27013     env.NIX_CFLAGS_COMPILE = "-DHAS_VPRINTF";
27014     meta = {
27015       description = "Remove accents from a string";
27016       license = with lib.licenses; [ gpl2Only ];
27017       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.TextUnaccent.x86_64-darwin
27018     };
27019   };
27021   TextUnidecode = buildPerlPackage {
27022     pname = "Text-Unidecode";
27023     version = "1.30";
27024     src = fetchurl {
27025       url = "mirror://cpan/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz";
27026       hash = "sha256-bCTxTdwdIOJhYcIHtzyhhO7S71fwi1+y7hlubi6IscY=";
27027     };
27028     meta = {
27029       description = "Plain ASCII transliterations of Unicode tex";
27030       license = with lib.licenses; [ artistic1 gpl1Plus ];
27031     };
27032   };
27034   Testutf8 = buildPerlPackage {
27035     pname = "Test-utf8";
27036     version = "1.02";
27037     src = fetchurl {
27038       url = "mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.02.tar.gz";
27039       hash = "sha256-34LwnFlAgwslpJ8cgWL6JNNx5gKIDt742aTUv9Zri9c=";
27040     };
27041     meta = {
27042       description = "Handy utf8 tests";
27043       homepage = "https://github.com/2shortplanks/Test-utf8/tree";
27044       license = with lib.licenses; [ artistic1 gpl1Plus ];
27045     };
27046   };
27048   TextNSP = buildPerlPackage {
27049     pname = "Text-NSP";
27050     version = "1.31";
27051     src = fetchurl {
27052       url = "mirror://cpan/authors/id/T/TP/TPEDERSE/Text-NSP-1.31.tar.gz";
27053       hash = "sha256-oBIBvrKWNrPkHs2ips9lIv0mVBa9bZlPrQL1n7Sc9ZU=";
27054     };
27055     meta = {
27056       description = "Extract collocations and Ngrams from text";
27057       license = with lib.licenses; [ gpl2Plus ];
27058       maintainers = [ maintainers.bzizou ];
27059     };
27060   };
27062   TextvFileasData = buildPerlPackage {
27063     pname = "Text-vFile-asData";
27064     version = "0.08";
27065     src = fetchurl {
27066       url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-vFile-asData-0.08.tar.gz";
27067       hash = "sha256-spGrXg+YfFFyVgppIjRxGnXkWW2DR19y0BJ4NpUy+Co=";
27068     };
27069     propagatedBuildInputs = [ ClassAccessorChained ];
27070     meta = {
27071       description = "Parse vFile formatted files into data structures";
27072       license = with lib.licenses; [ artistic1 gpl1Plus ];
27073     };
27074   };
27076   TextWikiFormat = buildPerlModule {
27077     pname = "Text-WikiFormat";
27078     version = "0.81";
27079     src = fetchurl {
27080       url = "mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz";
27081       hash = "sha256-5DzZla2RV6foOdmT7ntsTRhUlH5VfQltnVqvdFB/qzM=";
27082     };
27083     propagatedBuildInputs = [ URI ];
27084     meta = {
27085       description = "Module for translating Wiki formatted text into other formats";
27086       license = with lib.licenses; [ artistic1 gpl1Plus ];
27087     };
27088   };
27090   TextWordDiff = buildPerlPackage {
27091     pname = "Text-WordDiff";
27092     version = "0.09";
27093     src = fetchurl {
27094       url = "mirror://cpan/authors/id/T/TI/TIMK/Text-WordDiff-0.09.tar.gz";
27095       hash = "sha256-/uaZynY63KL04Y9KioNv0hArwoIK9wj460M1bVrg1Q4=";
27096     };
27097     propagatedBuildInputs = [ AlgorithmDiff HTMLParser ];
27098     meta = {
27099       description = "Track changes between documents";
27100       homepage = "https://metacpan.org/release/Text-WordDiff";
27101       license = with lib.licenses; [ artistic1 gpl1Plus ];
27102     };
27103   };
27105   TextWrapI18N = buildPerlPackage {
27106     pname = "Text-WrapI18N";
27107     version = "0.06";
27108     src = fetchurl {
27109       url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz";
27110       hash = "sha256-S9KaF/DCx5LRLBAFs8J28qsPrjnACFmuF0HXlBhGpIg=";
27111     };
27112     buildInputs = lib.optionals (!stdenv.isDarwin) [ pkgs.glibcLocales ];
27113     propagatedBuildInputs = [ TextCharWidth ];
27114     preConfigure = ''
27115       substituteInPlace WrapI18N.pm --replace '/usr/bin/locale' '${pkgs.unixtools.locale}/bin/locale'
27116     '';
27117     meta = {
27118       description = "Line wrapping module with support for multibyte, fullwidth, and combining characters and languages without whitespaces between words";
27119       license = with lib.licenses; [ artistic1 gpl1Plus ];
27120     };
27121   };
27123   TextWrapper = buildPerlPackage {
27124     pname = "Text-Wrapper";
27125     version = "1.05";
27126     src = fetchurl {
27127       url = "mirror://cpan/authors/id/C/CJ/CJM/Text-Wrapper-1.05.tar.gz";
27128       hash = "sha256-ZCaOFZg6nfR+HZGZpJHzlOifVC5Ur7M/S3jz8xjgmrk=";
27129     };
27130     buildInputs = [ TestDifferences ];
27131     meta = {
27132       description = "Word wrap text by breaking long lines";
27133       license = with lib.licenses; [ artistic1 gpl1Plus ];
27134     };
27135   };
27137   Throwable = buildPerlPackage {
27138     pname = "Throwable";
27139     version = "1.001";
27140     src = fetchurl {
27141       url = "mirror://cpan/authors/id/R/RJ/RJBS/Throwable-1.001.tar.gz";
27142       hash = "sha256-0MtenX0G1w8sxW7s+FeoOkXqykOFDc3akdP+tN3eTFE=";
27143     };
27144     propagatedBuildInputs = [ DevelStackTrace Moo ];
27145     meta = {
27146       description = "A role for classes that can be thrown";
27147       homepage = "https://github.com/rjbs/Throwable";
27148       license = with lib.licenses; [ artistic1 gpl1Plus ];
27149     };
27150   };
27152   TieCacheLRU = buildPerlPackage {
27153     pname = "Tie-Cache-LRU";
27154     version = "20150301";
27155     src = fetchurl {
27156       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Tie-Cache-LRU-20150301.tar.gz";
27157       hash = "sha256-G/dARQ06bXwStIwl99pZZOROfMOLKFcs+3b/IkZPRGk=";
27158     };
27159     propagatedBuildInputs = [ ClassVirtual enum ];
27160     meta = {
27161       description = "A Least-Recently Used cache";
27162       license = with lib.licenses; [ artistic1 gpl1Plus ];
27163     };
27164   };
27166   TieCacheLRUExpires = buildPerlPackage {
27167     pname = "Tie-Cache-LRU-Expires";
27168     version = "0.55";
27169     src = fetchurl {
27170       url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Tie-Cache-LRU-Expires-0.55.tar.gz";
27171       hash = "sha256-sxbYSazSXyQ0bVWplQ0oH+4HRjmHZ8YBI0EiFZVz65o=";
27172     };
27173     propagatedBuildInputs = [ TieCacheLRU ];
27174     meta = {
27175       description = "Extends Tie::Cache::LRU with expiring";
27176       license = with lib.licenses; [ artistic1 ];
27177     };
27178   };
27180   TieCycle = buildPerlPackage {
27181     pname = "Tie-Cycle";
27182     version = "1.227";
27183     src = fetchurl {
27184       url = "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.227.tar.gz";
27185       hash = "sha256-eDgzV5HnGjszuKGd4wUpSeGJCkgj3vY5eCPJkiL6Hdg=";
27186     };
27187     meta = {
27188       description = "Cycle through a list of values via a scalar";
27189       homepage = "https://github.com/briandfoy/tie-cycle";
27190       license = with lib.licenses; [ artistic2 ];
27191     };
27192   };
27194   TieEncryptedHash = buildPerlPackage {
27195     pname = "Tie-EncryptedHash";
27196     version = "1.24";
27197     src = fetchurl {
27198       url = "mirror://cpan/authors/id/V/VI/VIPUL/Tie-EncryptedHash-1.24.tar.gz";
27199       hash = "sha256-qpoIOiMeQEYXCliUZE48WWecfb0KotEhfchRUN8sHiE=";
27200     };
27201     propagatedBuildInputs = [ CryptBlowfish CryptCBC CryptDES ];
27202     meta = {
27203       description = "Hashes (and objects based on hashes) with encrypting fields";
27204       license = with lib.licenses; [ artistic1 gpl1Plus ];
27205       maintainers = [ maintainers.sgo ];
27206     };
27207   };
27209   TieFile = buildPerlPackage {
27210     pname = "Tie-File";
27211     version = "1.07";
27212     src = fetchurl {
27213       url = "mirror://cpan/authors/id/T/TO/TODDR/Tie-File-1.07.tar.gz";
27214       hash = "sha256-S1NUpB/pVBvc6lK0/VMBRPMVME0D8F3Q/vwynYHCawg=";
27215     };
27216     meta = {
27217       description = "Access the lines of a disk file via a Perl array";
27218       license = with lib.licenses; [ artistic1 gpl1Plus ];
27219     };
27220   };
27222   TieIxHash = buildPerlModule {
27223     pname = "Tie-IxHash";
27224     version = "1.23";
27225     src = fetchurl {
27226       url = "mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz";
27227       hash = "sha256-+rsLjJfmfJs0tswY7Wb2xeAcVbJX3PAHVV4LAn1Mr1Y=";
27228     };
27229     meta = {
27230       description = "Ordered associative arrays for Perl";
27231       license = with lib.licenses; [ artistic1 gpl1Plus ];
27232     };
27233   };
27235   TieHandleOffset = buildPerlPackage {
27236     pname = "Tie-Handle-Offset";
27237     version = "0.004";
27238     src = fetchurl {
27239       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-0.004.tar.gz";
27240       hash = "sha256-7p85BV3GlaokSiUvVv/Tf4vgcgmzN604eCRyEgbSqJ4=";
27241     };
27242     meta = {
27243       description = "Tied handle that hides the beginning of a file";
27244       homepage = "https://github.com/dagolden/tie-handle-offset";
27245       license = with lib.licenses; [ asl20 ];
27246     };
27247   };
27249   TieHashIndexed = buildPerlPackage {
27250     pname = "Tie-Hash-Indexed";
27251     version = "0.08";
27252     src = fetchurl {
27253       url = "mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.08.tar.gz";
27254       hash = "sha256-N7xigV9ahIrHeRK5v0eIqfJyiE6DpS4gk9q0qDpKexA=";
27255     };
27256     doCheck = false; /* test fails on some machines */
27257     meta = {
27258       description = "Ordered hashes for Perl";
27259       license = with lib.licenses; [ artistic1 gpl1Plus ];
27260     };
27261   };
27263   TieHashMethod = buildPerlPackage {
27264     pname = "Tie-Hash-Method";
27265     version = "0.02";
27266     src = fetchurl {
27267       url = "mirror://cpan/authors/id/Y/YV/YVES/Tie-Hash-Method-0.02.tar.gz";
27268       hash = "sha256-1RP7tRQT98oeZKG9zmGU337GB23qVQZtZ7lQGR7sMqk=";
27269     };
27270     meta = {
27271       description = "Tied hash with specific methods overriden by callbacks";
27272       license = with lib.licenses; [ artistic1 ];
27273     };
27274   };
27276   TieRefHash = buildPerlPackage {
27277     pname = "Tie-RefHash";
27278     version = "1.40";
27279     src = fetchurl {
27280       url = "mirror://cpan/authors/id/E/ET/ETHER/Tie-RefHash-1.40.tar.gz";
27281       hash = "sha256-Ws8fUY0vtfYgyq16Gy/x9vdRb++PQLprdD7si5aSftc=";
27282     };
27283     meta = {
27284       description = "Use references as hash keys";
27285       license = with lib.licenses; [ artistic1 gpl1Plus ];
27286     };
27287   };
27289   TieRegexpHash = buildPerlPackage {
27290     pname = "Tie-RegexpHash";
27291     version = "0.17";
27292     src = fetchurl {
27293       url = "mirror://cpan/authors/id/A/AL/ALTREUS/Tie-RegexpHash-0.17.tar.gz";
27294       hash = "sha256-DCB4UOd++xZhjgqgFVB5JqNCWzSq1apuPkDYOYmghaM=";
27295     };
27296     meta = {
27297       description = "Use regular expressions as hash keys";
27298       license = with lib.licenses; [ artistic1 ];
27299     };
27300   };
27302   TieSimple = buildPerlPackage {
27303     pname = "Tie-Simple";
27304     version = "1.04";
27305     src = fetchurl {
27306       url = "mirror://cpan/authors/id/H/HA/HANENKAMP/Tie-Simple-1.04.tar.gz";
27307       hash = "sha256-KeniEzlRBGx48gXxs+jfYskOEU8OCPoGuBd2ag+AixI=";
27308     };
27309     meta = {
27310       description = "Variable ties made much easier: much, much, much easier..";
27311       license = with lib.licenses; [ artistic1 gpl1Plus ];
27312     };
27313   };
27315   TieSub = buildPerlPackage {
27316     pname = "Tie-Sub";
27317     version = "1.001";
27318     src = fetchurl {
27319       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Tie-Sub-1.001.tar.gz";
27320       hash = "sha256-73GgSCbRNisrduyyHOFzw304pHqf7Cg6qYJDWJD08bE=";
27321     };
27322     propagatedBuildInputs = [ ParamsValidate ];
27323     buildInputs = [ ModuleBuild TestDifferences TestException TestNoWarnings ];
27324     meta = {
27325       description = "Tie::Sub - Tying a subroutine, function or method to a hash";
27326       license = with lib.licenses; [ artistic1 gpl1Plus ];
27327     };
27328   };
27330   TieToObject = buildPerlPackage {
27331     pname = "Tie-ToObject";
27332     version = "0.03";
27333     src = fetchurl {
27334       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz";
27335       hash = "sha256-oxoNRDD+FPWWIvMdt/JbInXa0uxS8QQL6wMNPoOtOvQ=";
27336     };
27337     meta = {
27338       description = "Tie to an existing object";
27339       license = with lib.licenses; [ artistic1 gpl1Plus ];
27340     };
27341   };
27343   TimeDate = buildPerlPackage {
27344     pname = "TimeDate";
27345     version = "2.33";
27346     src = fetchurl {
27347       url = "mirror://cpan/authors/id/A/AT/ATOOMIC/TimeDate-2.33.tar.gz";
27348       hash = "sha256-wLacSwOd5vUBsNnxPsWMhrBAwffpsn7ySWUcFD1gXrI=";
27349     };
27350     meta = {
27351       description = "Miscellaneous timezone manipulations routines";
27352       license = with lib.licenses; [ artistic1 gpl1Plus ];
27353     };
27354   };
27356   TimeDuration = buildPerlPackage {
27357     pname = "Time-Duration";
27358     version = "1.21";
27359     src = fetchurl {
27360       url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-1.21.tar.gz";
27361       hash = "sha256-/jQOuodl+SY2lGdOXf8UgzRD4Zhl5f9Ce715t7X4qbg=";
27362     };
27363     meta = {
27364       description = "Rounded or exact English expression of durations";
27365       homepage = "https://github.com/neilbowers/Time-Duration";
27366       license = with lib.licenses; [ artistic1 gpl1Plus ];
27367     };
27368   };
27370   TimeDurationParse = buildPerlPackage {
27371     pname = "Time-Duration-Parse";
27372     version = "0.16";
27373     src = fetchurl {
27374       url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-Parse-0.16.tar.gz";
27375       hash = "sha256-EISmRj7ieQ+ZIVvXaxNcpFr+K/ppmPpv1UcLaeG6vBI=";
27376     };
27377     buildInputs = [ TimeDuration ];
27378     propagatedBuildInputs = [ ExporterLite ];
27379     meta = {
27380       description = "Parse string that represents time duration";
27381       homepage = "https://github.com/neilb/Time-Duration-Parse";
27382       license = with lib.licenses; [ artistic1 gpl1Plus ];
27383     };
27384   };
27386   TimeLocal = buildPerlPackage {
27387     pname = "Time-Local";
27388     version = "1.35";
27389     src = fetchurl {
27390       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.35.tar.gz";
27391       hash = "sha256-HRNrcb0EHL5vZsQxgO555nW3KtWjWWq9akTSEQcq2ik=";
27392     };
27393     meta = {
27394       description = "Efficiently compute time from local and GMT time";
27395       homepage = "https://metacpan.org/release/Time-Local";
27396       license = with lib.licenses; [ artistic1 gpl1Plus ];
27397     };
27398   };
27400   TimeMoment = buildPerlPackage {
27401     pname = "Time-Moment";
27402     version = "0.44";
27403     src = fetchurl {
27404       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Time-Moment-0.44.tar.gz";
27405       hash = "sha256-ZKz6BC9jT8742t9V5/QrpOqriq631SEuuJgVox949v0=";
27406     };
27407     buildInputs = [ TestFatal TestNumberDelta TestRequires ];
27408     meta = {
27409       description = "Represents a date and time of day with an offset from UTC";
27410       license = with lib.licenses; [ artistic1 gpl1Plus ];
27411     };
27412   };
27414   TimeOut = buildPerlPackage {
27415     pname = "Time-Out";
27416     version = "0.11";
27417     src = fetchurl {
27418       url = "mirror://cpan/authors/id/P/PA/PATL/Time-Out-0.11.tar.gz";
27419       hash = "sha256-k5baaY/UUtnOYNZCzaIQjxHyDtdsiWF3muEbiXroFdI=";
27420     };
27421     meta = {
27422       description = "Easily timeout long running operations";
27423       license = with lib.licenses; [ artistic1 gpl1Plus ];
27424     };
27425   };
27427   TimeParseDate = buildPerlPackage {
27428     pname = "Time-ParseDate";
27429     version = "2015.103";
27430     src = fetchurl {
27431       url = "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-2015.103.tar.gz";
27432       hash = "sha256-LBoGI1v4EYE8qsnqqdqnGvdYZnzfewgstZhjIg/K7tE=";
27433     };
27434     doCheck = false;
27435     meta = {
27436       description = "Parse and format time values";
27437       license = with lib.licenses; [ publicDomain ];
27438     };
27439   };
27441   TimePeriod = buildPerlPackage {
27442     pname = "Time-Period";
27443     version = "1.25";
27444     src = fetchurl {
27445       url = "mirror://cpan/authors/id/P/PB/PBOYD/Time-Period-1.25.tar.gz";
27446       hash = "sha256-0H+lgFKb6sapyCdMa/IgtMOq3mhd9lwWadUzOb9u8eg=";
27447     };
27448     meta = {
27449       description = "A Perl module to deal with time periods";
27450       license = with lib.licenses; [ artistic1 gpl1Plus ];
27451       maintainers = [ maintainers.winpat ];
27452     };
27453   };
27455   TimePiece = buildPerlPackage {
27456     pname = "Time-Piece";
27457     version = "1.3401";
27458     src = fetchurl {
27459       url = "mirror://cpan/authors/id/E/ES/ESAYM/Time-Piece-1.3401.tar.gz";
27460       hash = "sha256-S1W3uw6rRc8jmlTf6tJ336BhIaQ+Y7P84IU67P2wTCc=";
27461     };
27462     meta = {
27463       description = "Object Oriented time objects";
27464       homepage = "https://metacpan.org/release/Time-Piece";
27465       license = with lib.licenses; [ artistic1 gpl1Plus ];
27466       maintainers = with maintainers; [ sgo ];
27467     };
27468   };
27470   Tirex = callPackage ../development/perl-modules/Tirex { };
27472   Tk = buildPerlPackage {
27473     pname = "Tk";
27474     version = "804.036";
27475     src = fetchurl {
27476       url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.036.tar.gz";
27477       hash = "sha256-Mqpycaa9/twzMBGbOCXa3dCqS1yTb4StdOq7kyogCl4=";
27478     };
27479     patches = [
27480       # Fix failing configure test due to implicit int return value of main, which results
27481       # in an error with clang 16.
27482       ../development/perl-modules/tk-configure-implicit-int-fix.patch
27483     ];
27484     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
27485     buildInputs = [ pkgs.xorg.libX11 pkgs.libpng ];
27486     doCheck = false;            # Expects working X11.
27487     meta = {
27488       description = "Tk - a Graphical User Interface Toolkit";
27489       license = with lib.licenses; [ tcltk ];
27490     };
27491   };
27493   TkToolBar = buildPerlPackage {
27494     pname = "Tk-ToolBar";
27495     version = "0.12";
27496     src = fetchurl {
27497       url = "mirror://cpan/authors/id/A/AS/ASB/Tk-ToolBar-0.12.tar.gz";
27498       hash = "sha256-Rj4oTsRxN+fEJclpGwKo3sXOJytY6h9jWa6AQaI53Q8=";
27499     };
27500     makeMakerFlags = [ "X11INC=${pkgs.xorg.libX11.dev}/include" "X11LIB=${pkgs.xorg.libX11.out}/lib" ];
27501     buildInputs = [ Tk ];
27502     doCheck = false;            # Expects working X11.
27503     meta = {
27504       description = "A toolbar widget for Perl/Tk";
27505       license = with lib.licenses; [ artistic1 gpl1Plus ];
27506     };
27507   };
27509   TreeDAGNode = buildPerlPackage {
27510     pname = "Tree-DAG_Node";
27511     version = "1.32";
27512     src = fetchurl {
27513       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.32.tgz";
27514       hash = "sha256-ItnePW5vSv2J5tglxmT5SCh4vUninLgTQqcHr0BULT0=";
27515     };
27516     propagatedBuildInputs = [ FileSlurpTiny ];
27517     meta = {
27518       description = "An N-ary tree";
27519       license = with lib.licenses; [ artistic1 gpl1Plus ];
27520     };
27521   };
27523   TreeSimple = buildPerlPackage {
27524     pname = "Tree-Simple";
27525     version = "1.34";
27526     src = fetchurl {
27527       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-1.34.tgz";
27528       hash = "sha256-t+l5m9Iiu5TP+ZP312WYDL6hts0qql7L6tY1q99H0pw=";
27529     };
27530     buildInputs = [ TestException ];
27531     meta = {
27532       description = "A simple tree object";
27533       license = with lib.licenses; [ artistic1 gpl1Plus ];
27534     };
27535   };
27537   TreeSimpleVisitorFactory = buildPerlPackage {
27538     pname = "Tree-Simple-VisitorFactory";
27539     version = "0.16";
27540     src = fetchurl {
27541       url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.16.tgz";
27542       hash = "sha256-nPU4+qEsVP+0qRQ5lF5IjxhW9iuJrFByqSIRngGIDaY=";
27543     };
27544     propagatedBuildInputs = [ TreeSimple ];
27545     buildInputs = [ TestException ];
27546     meta = {
27547       description = "A factory object for dispensing Visitor objects";
27548       license = with lib.licenses; [ artistic1 gpl1Plus ];
27549     };
27550   };
27552   TryTiny = buildPerlPackage {
27553     pname = "Try-Tiny";
27554     version = "0.31";
27555     src = fetchurl {
27556       url = "mirror://cpan/authors/id/E/ET/ETHER/Try-Tiny-0.31.tar.gz";
27557       hash = "sha256-MwDTHYpAdbJtj0bOhkodkT4OhGfO66ZlXV0rLiBsEb4=";
27558     };
27559     buildInputs = [ CPANMetaCheck CaptureTiny ];
27560     meta = {
27561       description = "Minimal try/catch with proper preservation of $@";
27562       homepage = "https://github.com/p5sagit/Try-Tiny";
27563       license = with lib.licenses; [ mit ];
27564     };
27565   };
27567   TryTinyByClass = buildPerlPackage {
27568     pname = "Try-Tiny-ByClass";
27569     version = "0.01";
27570     src = fetchurl {
27571       url = "mirror://cpan/authors/id/M/MA/MAUKE/Try-Tiny-ByClass-0.01.tar.gz";
27572       hash = "sha256-A45O9SkpXyacKA/vmZpeTbkVaULwkaw8rXabHkVw8UY=";
27573     };
27574     propagatedBuildInputs = [ DispatchClass TryTiny ];
27575     meta = {
27576       description = "Selectively catch exceptions by class name";
27577       license = with lib.licenses; [ artistic1 gpl1Plus ];
27578     };
27579   };
27581   Twiggy = buildPerlPackage {
27582     pname = "Twiggy";
27583     version = "0.1026";
27584     src = fetchurl {
27585       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Twiggy-0.1026.tar.gz";
27586       hash = "sha256-TZHqbtmumo70MU3Cp89S6wJrNlvmg4azXqaGTfrFf54=";
27587     };
27588     propagatedBuildInputs = [ AnyEvent Plack ];
27589     buildInputs = [ TestRequires TestSharedFork TestTCP ];
27590     meta = {
27591       description = "AnyEvent HTTP server for PSGI";
27592       homepage = "https://github.com/miyagawa/Twiggy";
27593       license = with lib.licenses; [ artistic1 gpl1Plus ];
27594       mainProgram = "twiggy";
27595     };
27596   };
27598   TypeTiny = buildPerlPackage {
27599     pname = "Type-Tiny";
27600     version = "2.004000";
27601     src = fetchurl {
27602       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-2.004000.tar.gz";
27603       hash = "sha256-aX5/d17fyF9M8HeS0E/RmwnCUoX5j1k46O/E90UHoSg=";
27604     };
27605     propagatedBuildInputs = [ ExporterTiny ];
27606     buildInputs = [ TestMemoryCycle ];
27607     meta = {
27608       description = "Tiny, yet Moo(se)-compatible type constraint";
27609       homepage = "https://typetiny.toby.ink";
27610       license = with lib.licenses; [ artistic1 gpl1Plus ];
27611     };
27612   };
27614   TypeTinyXS = buildPerlPackage {
27615     pname = "Type-Tiny-XS";
27616     version = "0.025";
27617     src = fetchurl {
27618       url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-XS-0.025.tar.gz";
27619       hash = "sha256-mmFFDdqQKU9gbNej+kTzsaNmvNiKQZkXsFTuXiPRSL0=";
27620     };
27621     meta = {
27622       description = "Provides an XS boost for some of Type::Tiny's built-in type constraints";
27623       homepage = "https://metacpan.org/release/Type-Tiny-XS";
27624       license = with lib.licenses; [ artistic1 gpl1Plus ];
27625     };
27626   };
27628   TypesSerialiser = buildPerlPackage {
27629     pname = "Types-Serialiser";
27630     version = "1.01";
27631     src = fetchurl {
27632       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Types-Serialiser-1.01.tar.gz";
27633       hash = "sha256-+McXOwkU0OPZVyggd7Nm8MjHAlZxXq7zKY/zK5I4ioA=";
27634     };
27635     propagatedBuildInputs = [ commonsense ];
27636     meta = {
27637       description = "Simple data types for common serialisation formats";
27638       license = with lib.licenses; [ artistic1 gpl1Plus ];
27639     };
27640   };
27642   UNIVERSALcan = buildPerlPackage {
27643     pname = "UNIVERSAL-can";
27644     version = "1.20140328";
27645     src = fetchurl {
27646       url = "mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz";
27647       hash = "sha256-Ui2p8nR4b+LLqZvHfMHIHSFhlHkD1/rRC9Yt+38RmQ8=";
27648     };
27649     meta = {
27650       description = "Work around buggy code calling UNIVERSAL::can() as a function";
27651       homepage = "https://github.com/chromatic/UNIVERSAL-can";
27652       license = with lib.licenses; [ artistic1 gpl1Plus ];
27653     };
27654   };
27656   UNIVERSALisa = buildPerlPackage {
27657     pname = "UNIVERSAL-isa";
27658     version = "1.20171012";
27659     src = fetchurl {
27660       url = "mirror://cpan/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz";
27661       hash = "sha256-0WlWA2ywHIGd7H0pT274kb4Ltkh2mJYBNUspMWTafys=";
27662     };
27663     meta = {
27664       description = "Attempt to recover from people calling UNIVERSAL::isa as a function";
27665       homepage = "https://github.com/karenetheridge/UNIVERSAL-isa";
27666       license = with lib.licenses; [ artistic1 gpl1Plus ];
27667     };
27668   };
27670   UNIVERSALrequire = buildPerlPackage {
27671     pname = "UNIVERSAL-require";
27672     version = "0.19";
27673     src = fetchurl {
27674       url = "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.19.tar.gz";
27675       hash = "sha256-1GfNJuBsjDsgP9O8B5aubIN6xeMQCTyCJn/134UPGgM=";
27676     };
27677     meta = {
27678       description = "Require() modules from a variable [deprecated]";
27679       license = with lib.licenses; [ artistic1 gpl1Plus ];
27680     };
27681   };
27683   UnicodeCaseFold = buildPerlModule {
27684     pname = "Unicode-CaseFold";
27685     version = "1.01";
27686     src = fetchurl {
27687       url = "mirror://cpan/authors/id/A/AR/ARODLAND/Unicode-CaseFold-1.01.tar.gz";
27688       hash = "sha256-QYohKAj50Li7MwrJBQltLdNkl2dT1McVNNq5g2pjGU0=";
27689     };
27690     perlPreHook = lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
27691     meta = {
27692       description = "Unicode case-folding for case-insensitive lookups";
27693       homepage = "https://metacpan.org/release/Unicode-CaseFold";
27694       license = with lib.licenses; [ artistic1 gpl1Plus ];
27695     };
27696   };
27698   UnicodeCheckUTF8 = buildPerlPackage {
27699     pname = "Unicode-CheckUTF8";
27700     version = "1.03";
27701     src = fetchurl {
27702       url = "mirror://cpan/authors/id/B/BR/BRADFITZ/Unicode-CheckUTF8-1.03.tar.gz";
27703       hash = "sha256-l/hNrwM+ubSc2P4x2yIf7wNaXC7h11fzEiyIz5diQUw=";
27704     };
27705     meta = {
27706       description = "Checks if scalar is valid UTF-8";
27707       license = with lib.licenses; [ ucd /* and */ artistic1 gpl1Plus ];
27708     };
27709   };
27711   UnicodeLineBreak = buildPerlPackage {
27712     pname = "Unicode-LineBreak";
27713     version = "2019.001";
27714     src = fetchurl {
27715       url = "mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz";
27716       hash = "sha256-SGdi5MrN3Md7E5ifl5oCn4RjC4F15/7xeYnhV9S2MYo=";
27717     };
27718     propagatedBuildInputs = [ MIMECharset ];
27719     meta = {
27720       description = "UAX #14 Unicode Line Breaking Algorithm";
27721       license = with lib.licenses; [ artistic1 gpl1Plus ];
27722     };
27723   };
27725   UnicodeString = buildPerlPackage {
27726     pname = "Unicode-String";
27727     version = "2.10";
27728     src = fetchurl {
27729       url = "mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz";
27730       hash = "sha256-iUoRDs5HlUaviv7Aly7scyDIbE3qTms1Tf88dSa6m2g=";
27731     };
27732     meta = {
27733       description = "String of Unicode characters (UTF-16BE)";
27734       license = with lib.licenses; [ artistic1 gpl1Plus ];
27735     };
27736   };
27738   UnicodeStringprep = buildPerlModule {
27739     pname = "Unicode-Stringprep";
27740     version = "1.105";
27741     src = fetchurl {
27742       url = "mirror://cpan/authors/id/C/CF/CFAERBER/Unicode-Stringprep-1.105.tar.gz";
27743       hash = "sha256-5r67xYQIIx/RMX25ECRJs+faT6Q3559jc4LTYxPv0BE=";
27744     };
27745     buildInputs = [ TestNoWarnings ];
27746     meta = {
27747       description = "Preparation of Internationalized Strings (RFC 3454)";
27748       license = with lib.licenses; [ artistic1 gpl1Plus ];
27749       maintainers = [ maintainers.sgo ];
27750     };
27751   };
27753   UnicodeUTF8 = buildPerlPackage {
27754     pname = "Unicode-UTF8";
27755     version = "0.62";
27756     src = fetchurl {
27757       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Unicode-UTF8-0.62.tar.gz";
27758       hash = "sha256-+oci0LdGluMy/d1EKZRDbqk9O/x5gtS6vc7f3dZX0PY=";
27759     };
27760     buildInputs = [ TestFatal ];
27761     meta = {
27762       description = "Encoding and decoding of UTF-8 encoding form";
27763       homepage = "https://github.com/chansen/p5-unicode-utf8";
27764       license = with lib.licenses; [ artistic1 gpl1Plus ];
27765       maintainers = with maintainers; [ sgo ];
27766     };
27767   };
27769   UnixGetrusage = buildPerlPackage {
27770     pname = "Unix-Getrusage";
27771     version = "0.03";
27772     src = fetchurl {
27773       url = "mirror://cpan/authors/id/T/TA/TAFFY/Unix-Getrusage-0.03.tar.gz";
27774       hash = "sha256-ds3hzuJFMmC4WrvdwnzcmHXwHSRX4XbgPcq/BftETRI=";
27775     };
27776     meta = {
27777       description = "Perl interface to the Unix getrusage system call";
27778       license = with lib.licenses; [ artistic1 gpl1Plus ];
27779     };
27780   };
27782   URI = buildPerlPackage {
27783     pname = "URI";
27784     version = "5.21";
27785     src = fetchurl {
27786       url = "mirror://cpan/authors/id/O/OA/OALDERS/URI-5.21.tar.gz";
27787       hash = "sha256-liZYYM1hveFuhBXc+/EIBW3hYsqgrDf4HraVydLgq3c=";
27788     };
27789     buildInputs = [ TestFatal TestNeeds TestWarnings ];
27790     meta = {
27791       description = "Uniform Resource Identifiers (absolute and relative)";
27792       homepage = "https://github.com/libwww-perl/URI";
27793       license = with lib.licenses; [ artistic1 gpl1Plus ];
27794     };
27795   };
27797   URIdb = buildPerlModule {
27798     pname = "URI-db";
27799     version = "0.21";
27800     src = fetchurl {
27801       url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.21.tar.gz";
27802       hash = "sha256-pkM9wVF6kH4YmRKkx2td/HYzLj/X/Is4oTfkAZx4CzQ=";
27803     };
27804     propagatedBuildInputs = [ URINested ];
27805     meta = {
27806       description = "Database URIs";
27807       homepage = "https://search.cpan.org/dist/URI-db";
27808       license = with lib.licenses; [ artistic1 gpl1Plus ];
27809     };
27810   };
27812   URIFind = buildPerlModule {
27813     pname = "URI-Find";
27814     version = "20160806";
27815     src = fetchurl {
27816       url = "mirror://cpan/authors/id/M/MS/MSCHWERN/URI-Find-20160806.tar.gz";
27817       hash = "sha256-4hOkJaUbX1UyQhHzeQnXh0nQus3qJZulGphV0NGWY9Y=";
27818     };
27819     propagatedBuildInputs = [ URI ];
27820     meta = {
27821       description = "Find URIs in arbitrary text";
27822       homepage = "https://metacpan.org/release/URI-Find";
27823       license = with lib.licenses; [ artistic1 gpl1Plus ];
27824       mainProgram = "urifind";
27825     };
27826   };
27828   URIFromHash = buildPerlPackage {
27829     pname = "URI-FromHash";
27830     version = "0.05";
27831     src = fetchurl {
27832       url = "mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.05.tar.gz";
27833       hash = "sha256-p8rFvM7p8uLYrQ9gVAAWNxLNCsZN8vuDT3YPtJ8vb9A=";
27834     };
27835     propagatedBuildInputs = [ ParamsValidate URI ];
27836     buildInputs = [ TestFatal ];
27837     meta = {
27838       description = "Build a URI from a set of named parameters";
27839       homepage = "https://metacpan.org/release/URI-FromHash";
27840       license = with lib.licenses; [ artistic2 ];
27841     };
27842   };
27844   UriGoogleChart = buildPerlPackage {
27845     pname = "URI-GoogleChart";
27846     version = "1.02";
27847     src = fetchurl {
27848       url = "mirror://cpan/authors/id/G/GA/GAAS/URI-GoogleChart-1.02.tar.gz";
27849       hash = "sha256-WoLCLsYBejXQ/IJv7xNBIiaHL8SiPA4sAUqfqS8rGAI=";
27850     };
27851     propagatedBuildInputs = [ URI ];
27852     meta = {
27853       description = "Generate Google Chart URIs";
27854       license = with lib.licenses; [ artistic1 gpl1Plus ];
27855     };
27856   };
27858   UserIdentity = buildPerlPackage {
27859     pname = "User-Identity";
27860     version = "1.02";
27861     src = fetchurl {
27862       url = "mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-1.02.tar.gz";
27863       hash = "sha256-OySu5/UnjGXD8EEVsHyG5kaTTpnqQJJANj8wiZE+uJk=";
27864     };
27865     propagatedBuildInputs = [ HashOrdered ];
27866     meta = {
27867       description = "Collect information about a user";
27868       homepage = "http://perl.overmeer.net/CPAN";
27869       license = with lib.licenses; [ artistic1 gpl1Plus ];
27870     };
27871   };
27873   URIIMAP = buildPerlPackage {
27874     pname = "URI-imap";
27875     version = "1.01";
27876     src = fetchurl {
27877       url = "mirror://cpan/authors/id/C/CW/CWEST/URI-imap-1.01.tar.gz";
27878       hash = "sha256-uxSZiW7ONKe08JFinC5yw2imcwDoVzqyIZjJ2HI1uy0=";
27879     };
27880     propagatedBuildInputs = [ URI ];
27881     meta = {
27882       description = "Support IMAP URI";
27883       license = with lib.licenses; [ artistic1 gpl1Plus ];
27884     };
27885   };
27887   URINested = buildPerlModule {
27888     pname = "URI-Nested";
27889     version = "0.10";
27890     src = fetchurl {
27891       url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-0.10.tar.gz";
27892       hash = "sha256-4ZcTOaZfusY6uHFC1LWdPSWdUUF3U8d8tY6jGoIz768=";
27893     };
27894     propagatedBuildInputs = [ URI ];
27895     meta = {
27896       description = "Nested URIs";
27897       homepage = "https://metacpan.org/release/URI-Nested";
27898       license = with lib.licenses; [ artistic1 gpl1Plus ];
27899     };
27900   };
27902   URISmartURI = buildPerlPackage {
27903     pname = "URI-SmartURI";
27904     version = "0.032";
27905     src = fetchurl {
27906       url = "mirror://cpan/authors/id/R/RK/RKITOVER/URI-SmartURI-0.032.tar.gz";
27907       hash = "sha256-6xdLeUYi4UK30JT2p+Nqe6T8i7zySF4QPuPaNevMTyw=";
27908     };
27909     propagatedBuildInputs = [ ClassC3Componentised FileFindRule ListMoreUtils Moose URI namespaceclean ];
27910     buildInputs = [ TestFatal TestNoWarnings ];
27911     meta = {
27912       description = "Subclassable and hostless URIs";
27913       license = with lib.licenses; [ artistic1 gpl1Plus ];
27914     };
27915   };
27917   URITemplate = buildPerlPackage {
27918     pname = "URI-Template";
27919     version = "0.24";
27920     src = fetchurl {
27921       url = "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-0.24.tar.gz";
27922       hash = "sha256-aK4tYbV+FNytD4Kvr/3F7AW1B6HpyN9aphOKqipbEd4=";
27923     };
27924     propagatedBuildInputs = [ URI ];
27925     meta = {
27926       description = "Object for handling URI templates (RFC 6570)";
27927       license = with lib.licenses; [ artistic1 gpl1Plus ];
27928     };
27929   };
27931   URIcpan = buildPerlPackage {
27932     pname = "URI-cpan";
27933     version = "1.009";
27934     src = fetchurl {
27935       url = "mirror://cpan/authors/id/R/RJ/RJBS/URI-cpan-1.009.tar.gz";
27936       hash = "sha256-JFV5sCW2P1d8cndDARmEcjhxykDcNezsjq05riSkjhI=";
27937     };
27938     propagatedBuildInputs = [ CPANDistnameInfo URI ];
27939     meta = {
27940       description = "URLs that refer to things on the CPAN";
27941       homepage = "https://github.com/rjbs/URI-cpan";
27942       license = with lib.licenses; [ artistic1 gpl1Plus ];
27943     };
27944   };
27946   URIws = buildPerlPackage {
27947     pname = "URI-ws";
27948     version = "0.03";
27949     src = fetchurl {
27950       url = "mirror://cpan/authors/id/P/PL/PLICEASE/URI-ws-0.03.tar.gz";
27951       hash = "sha256-bmsOQXKstqU8IiY5wABgjC3WHVCEhkdIKshgDVDlQe8=";
27952     };
27953     propagatedBuildInputs = [ URI ];
27954     meta = {
27955       description = "WebSocket support for URI package";
27956       homepage = "http://perl.wdlabs.com/URI-ws";
27957       license = with lib.licenses; [ artistic1 gpl1Plus ];
27958     };
27959   };
27961   UUID4Tiny = buildPerlPackage {
27962     pname = "UUID4-Tiny";
27963     version = "0.003";
27964     src = fetchurl {
27965       url = "mirror://cpan/authors/id/C/CV/CVLIBRARY/UUID4-Tiny-0.003.tar.gz";
27966       hash = "sha256-4S9sgrg1dcORd3O0HA+1HPeDx8bPcuDJkWks4u8Hg2I=";
27967     };
27968     postPatch = lib.optionalString (stdenv.isAarch64) ''
27969       # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/asm-generic/unistd.h
27970       # printf SYS_getrandom | gcc -include sys/syscall.h -E -
27971       substituteInPlace lib/UUID4/Tiny.pm \
27972         --replace "syscall( 318" "syscall( 278"
27973     '';
27974     meta = {
27975       description = "Cryptographically secure v4 UUIDs for Linux x64";
27976       license = with lib.licenses; [ artistic1 gpl1Plus ];
27977       platforms = lib.platforms.linux; # configure phase fails with "OS unsupported"
27978     };
27979   };
27981   UUIDTiny = buildPerlPackage {
27982     pname = "UUID-Tiny";
27983     version = "1.04";
27984     src = fetchurl {
27985       url = "mirror://cpan/authors/id/C/CA/CAUGUSTIN/UUID-Tiny-1.04.tar.gz";
27986       hash = "sha256-bc2SYE1k6WzGwYgZSuFqnTpGVWIk93tvPR0TEraPmj0=";
27987     };
27988     meta = {
27989       description = "Pure Perl UUID Support With Functional Interface";
27990       license = with lib.licenses; [ artistic1 gpl1Plus ];
27991     };
27992   };
27994   UUIDURandom = buildPerlPackage {
27995     pname = "UUID-URandom";
27996     version = "0.001";
27997     src = fetchurl {
27998       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/UUID-URandom-0.001.tar.gz";
27999       hash = "sha256-PxNjGxO5YE+0ieKYlJDJnxA3Q6g3I5va+unWuvVfj0Y=";
28000     };
28001     propagatedBuildInputs = [ CryptURandom ];
28002     meta = {
28003       description = "UUIDs based on /dev/urandom or the Windows Crypto API";
28004       homepage = "https://github.com/dagolden/UUID-URandom";
28005       license = with lib.licenses; [ asl20 ];
28006     };
28007   };
28009   VariableMagic = buildPerlPackage {
28010     pname = "Variable-Magic";
28011     version = "0.63";
28012     src = fetchurl {
28013       url = "mirror://cpan/authors/id/V/VP/VPIT/Variable-Magic-0.63.tar.gz";
28014       hash = "sha256-ukCDssMf8mlPI3EzPVVMgmqvJLTZjQPki1tKQ6Kg5nk=";
28015     };
28016     meta = {
28017       description = "Associate user-defined magic to variables from Perl";
28018       homepage = "https://search.cpan.org/dist/Variable-Magic";
28019       license = with lib.licenses; [ artistic1 gpl1Plus ];
28020     };
28021   };
28023   Version = buildPerlPackage {
28024     pname = "version";
28025     version = "0.9930";
28026     src = fetchurl {
28027       url = "mirror://cpan/authors/id/L/LE/LEONT/version-0.9930.tar.gz";
28028       hash = "sha256-YduVX7yzn1kC+myLlXrrJ0HiPUhA+Eq/hGrx9nCu7jA=";
28029     };
28030     meta = {
28031       description = "Structured version objects";
28032       license = with lib.licenses; [ artistic1 gpl1Plus ];
28033     };
28034   };
28036   vidir = buildPerlPackage {
28037     pname = "App-vidir";
28038     version = "0.052";
28039     src = fetchurl {
28040       url = "mirror://cpan/authors/id/W/WO/WOLDRICH/App-vidir-0.052.tar.gz";
28041       hash = "sha256-GSKQdqXxPvGe1sEbu5Bcrc4iYH+pDoXJrxqqKbWsFQo=";
28042     };
28043     outputs = [ "out" ];
28044     meta = {
28045       description = "File manager USING vim itself";
28046       license = with lib.licenses; [ artistic1 gpl1Plus ];
28047       maintainers = [ maintainers.chreekat ];
28048       mainProgram = "vidir";
28049     };
28050   };
28052   VMEC2 = buildPerlModule {
28053     pname = "VM-EC2";
28054     version = "1.28";
28055     src = fetchurl {
28056       url = "mirror://cpan/authors/id/L/LD/LDS/VM-EC2-1.28.tar.gz";
28057       hash = "sha256-srazF0XFdDH8oO+5udC48WjWCBdV4Ej9nWxEab0Qis0=";
28058     };
28059     propagatedBuildInputs = [ AnyEventCacheDNS AnyEventHTTP JSON StringApprox XMLSimple ];
28060     meta = {
28061       description = "Perl interface to Amazon EC2, Virtual Private Cloud, Elastic Load Balancing, Autoscaling, and Relational Database services";
28062       license = with lib.licenses; [ artistic1 gpl1Plus ];
28063     };
28064   };
28066   VMEC2SecurityCredentialCache = buildPerlPackage {
28067     pname = "VM-EC2-Security-CredentialCache";
28068     version = "0.25";
28069     src = fetchurl {
28070       url = "mirror://cpan/authors/id/R/RC/RCONOVER/VM-EC2-Security-CredentialCache-0.25.tar.gz";
28071       hash = "sha256-/H6cFS/ytyHMsiGsQAiZNHdc9YNmrttcwWk2CfhAk3s=";
28072     };
28073     propagatedBuildInputs = [ DateTimeFormatISO8601 VMEC2 ];
28074     meta = {
28075       description = "Cache credentials respecting expiration time for IAM roles";
28076       homepage = "https://search.cpan.org/dist/VM-EC2-Security-CredentialCache";
28077       license = with lib.licenses; [ artistic1 gpl1Plus ];
28078     };
28079   };
28081   W3CLinkChecker = buildPerlPackage {
28082     pname = "W3C-LinkChecker";
28083     version = "5.0.0";
28084     src = fetchurl {
28085       url = "mirror://cpan/authors/id/D/DH/DHM/W3C-LinkChecker-5.0.0.tar.gz";
28086       hash = "sha256-CvdY0ZUMswTdqvqnoDmHaHTYjC/teL2KYx6zkG5U+6Y=";
28087     };
28088     outputs = [ "out" ];
28089     propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP LocaleCodes NetIP TermReadKey ];
28090     meta = {
28091       description = "W3C Link Checker";
28092       homepage = "https://validator.w3.org/checklink";
28093       license = with lib.licenses; [ w3c ];
28094       mainProgram = "checklink";
28095     };
28096   };
28098   WWWCurl = buildPerlPackage {
28099     pname = "WWW-Curl";
28100     version = "4.17";
28101     src = fetchurl {
28102       url = "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz";
28103       hash = "sha256-Uv+rEQ4yNI13XyQclz61b5awju28EQ130lfNsKJKt7o=";
28104     };
28105     patches = [
28106       (fetchpatch {
28107         url = "https://aur.archlinux.org/cgit/aur.git/plain/makefile.patch?h=perl-www-curl&id=7e004bb8c5dc49c903a5d5fa5ff28c30a58e2595";
28108         hash = "sha256-8JZbe4IMfRZyLa118AAH/wsXrazOFy79OoH3Nuy57A4=";
28109         name = "perl-www-curl-makefile.patch";
28110       })
28111     ];
28112     env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.cc.isClang "-Wno-return-type";
28113     buildInputs = [ pkgs.curl ];
28114     doCheck = false; # performs network access
28115     meta = {
28116       description = "Perl extension interface for libcurl";
28117       license = with lib.licenses; [ mit ];
28118     };
28119   };
28121   WWWFormUrlEncoded = buildPerlModule {
28122     pname = "WWW-Form-UrlEncoded";
28123     version = "0.26";
28124     src = fetchurl {
28125       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.26.tar.gz";
28126       hash = "sha256-wEgLXx8VtxFj7DJ7jnhCKY8Ms6zpfmPXA0rx6UotkPQ=";
28127     };
28128     meta = {
28129       description = "Parser and builder for application/x-www-form-urlencoded";
28130       homepage = "https://github.com/kazeburo/WWW-Form-UrlEncoded";
28131       license = with lib.licenses; [ artistic1 gpl1Plus ];
28132     };
28133   };
28135   WWWMechanize = buildPerlPackage {
28136     pname = "WWW-Mechanize";
28137     version = "2.17";
28138     src = fetchurl {
28139       url = "mirror://cpan/authors/id/S/SI/SIMBABQUE/WWW-Mechanize-2.17.tar.gz";
28140       hash = "sha256-nAIAPoRiHeoSyYDEEB555PjK5OOCzT2iOfqovRmPBjo=";
28141     };
28142     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
28143     doCheck = false;
28144     buildInputs = [ CGI HTTPServerSimple PathTiny TestDeep TestFatal TestOutput TestWarnings ];
28145     meta = {
28146       description = "Handy web browsing in a Perl object";
28147       homepage = "https://github.com/libwww-perl/WWW-Mechanize";
28148       license = with lib.licenses; [ artistic1 gpl1Plus ];
28149       mainProgram = "mech-dump";
28150     };
28151   };
28153   WWWMechanizeCGI = buildPerlPackage {
28154     pname = "WWW-Mechanize-CGI";
28155     version = "0.3";
28156     src = fetchurl {
28157       url = "mirror://cpan/authors/id/M/MR/MRAMBERG/WWW-Mechanize-CGI-0.3.tar.gz";
28158       hash = "sha256-weBNi/Hh8NfP9Rl7I2Z2kyrLgCgJNq7a5PngSFGo0hA=";
28159     };
28160     propagatedBuildInputs = [ HTTPRequestAsCGI WWWMechanize ];
28161     preConfigure = ''
28162       substituteInPlace t/cgi-bin/script.cgi \
28163         --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
28164     '';
28165     meta = {
28166       description = "Use WWW::Mechanize with CGI applications";
28167       license = with lib.licenses; [ artistic1 gpl1Plus ];
28168       broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/staging-next/perl534Packages.WWWMechanizeCGI.x86_64-darwin
28169     };
28170   };
28172   WWWRobotRules = buildPerlPackage {
28173     pname = "WWW-RobotRules";
28174     version = "6.02";
28175     src = fetchurl {
28176       url = "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz";
28177       hash = "sha256-RrUC56KI1VlCmJHutdl5Rh3T7MalxJHq2F0WW24DpR4=";
28178     };
28179     propagatedBuildInputs = [ URI ];
28180     meta = {
28181       description = "Database of robots.txt-derived permissions";
28182       license = with lib.licenses; [ artistic1 gpl1Plus ];
28183     };
28184   };
28186   WWWTwilioAPI = buildPerlPackage {
28187     pname = "WWW-Twilio-API";
28188     version = "0.21";
28189     src = fetchurl {
28190       url = "mirror://cpan/authors/id/S/SC/SCOTTW/WWW-Twilio-API-0.21.tar.gz";
28191       hash = "sha256-WC21OgkfjaNnDAN3MzFPJRCvXo7gukKg45Hi8uPKdzQ=";
28192     };
28193     prePatch = "rm examples.pl";
28194     propagatedBuildInputs = [ LWPProtocolHttps ];
28195     meta = {
28196       description = "Accessing Twilio's REST API with Perl";
28197       license = with lib.licenses; [ artistic1 gpl1Plus ];
28198     };
28199   };
28201   WWWYoutubeViewer = callPackage ../development/perl-modules/WWW-YoutubeViewer { };
28203   Want = buildPerlPackage {
28204     pname = "Want";
28205     version = "0.29";
28206     src = fetchurl {
28207       url = "mirror://cpan/authors/id/R/RO/ROBIN/Want-0.29.tar.gz";
28208       hash = "sha256-tOR0C41Mt4NZEnPGNr1oMEiS4o2J6Iq/knOx3hf1Uvc=";
28209     };
28210     meta = {
28211       description = "A generalisation of wantarray";
28212       license = with lib.licenses; [ artistic1 gpl1Plus ];
28213     };
28214   };
28216   Win32ShellQuote = buildPerlPackage {
28217     pname = "Win32-ShellQuote";
28218     version = "0.003001";
28219     src = fetchurl {
28220       url = "mirror://cpan/authors/id/H/HA/HAARG/Win32-ShellQuote-0.003001.tar.gz";
28221       hash = "sha256-qnSw49wtQc1j9i+FPlIf/Xa42CNHmiYZ4i7bQEm0wNw=";
28222     };
28223     meta = {
28224       description = "Quote argument lists for Win32";
28225       license = with lib.licenses; [ artistic1 gpl1Plus ];
28226     };
28227   };
28229   Workflow = buildPerlPackage {
28230     pname = "Workflow";
28231     version = "1.62";
28232     src = fetchurl {
28233       url = "mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.62.tar.gz";
28234       hash = "sha256-WNNokAm4j+Gp2DcWfTKaoe4xTzFZeeVik2OGVFs80pU=";
28235     };
28236     buildInputs = [ DBDMock ListMoreUtils MockMonkeyPatch PodCoverageTrustPod TestException TestKwalitee TestPod TestPodCoverage ];
28237     propagatedBuildInputs = [ ClassAccessor ClassFactory DateTime DBI DataUUID DateTimeFormatStrptime ExceptionClass FileSlurp LogLog4perl Readonly XMLSimple ];
28238     meta = {
28239       description = "Simple, flexible system to implement workflows";
28240       homepage = "https://github.com/jonasbn/perl-workflow";
28241       license = with lib.licenses; [ artistic1 gpl1Plus ];
28242     };
28243   };
28245   Wx = buildPerlPackage {
28246     pname = "Wx";
28247     version = "0.9932";
28248     src = fetchurl {
28249       url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Wx-0.9932.tar.gz";
28250       hash = "sha256-HP22U1oPRnbm8aqyydjhbVd74+s7fMBMgHTWheZlG3A=";
28251     };
28252     patches = [
28253       (fetchpatch {
28254         url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/gtk3.patch";
28255         hash = "sha256-CokmRzDTFmEMN/jTKw9ECCPvi0mHt5+h8Ojg4Jgd7D4=";
28256       })
28257       (fetchpatch {
28258         url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/wxWidgets_3.2_MakeMaker.patch";
28259         hash = "sha256-kTJiCGv8yxQbgMych9yT2cOt+2bL1G4oJ0gehNcu0Rc=";
28260       })
28261       (fetchpatch {
28262         url = "https://sources.debian.org/data/main/libw/libwx-perl/1%3A0.9932-8/debian/patches/wxWidgets_3.2_port.patch";
28263         hash = "sha256-y9LMpcbm7p8+LZ2Hw3PA2jc7bHAFEu0QRa170XuseKw=";
28264       })
28265     ];
28266     # DND.c:453:15: error: incompatible integer to pointer conversion assigning to 'NativeFormat' (aka 'const __CFString *') from 'wxDataFormatId'
28267     postPatch = ''
28268       substituteInPlace ext/dnd/XS/DataObject.xs \
28269         --replace "#ifdef __WXGTK20__" "#if wxUSE_GUI"
28270     '';
28271     propagatedBuildInputs = [ AlienWxWidgets ];
28272     # Testing requires an X server:
28273     #   Error: Unable to initialize GTK, is DISPLAY set properly?"
28274     doCheck = false;
28275     buildInputs = [ ExtUtilsXSpp ];
28276     meta = {
28277       description = "Interface to the wxWidgets cross-platform GUI toolkit";
28278       license = with lib.licenses; [ artistic1 gpl1Plus ];
28279     };
28280   };
28282   WxGLCanvas = buildPerlPackage {
28283     pname = "Wx-GLCanvas";
28284     version = "0.09";
28285     src = fetchurl {
28286       url = "mirror://cpan/authors/id/M/MB/MBARBON/Wx-GLCanvas-0.09.tar.gz";
28287       hash = "sha256-atLCn/Bv+Apci0udHWvwrtV0iegxvlnJRJT09ojcj+A=";
28288     };
28289     propagatedBuildInputs = [ pkgs.libGLU Wx ];
28290     doCheck = false;
28291     meta = {
28292       description = "wxPerl demo helper for Wx::GLCanvas";
28293       license = with lib.licenses; [ artistic1 gpl1Plus ];
28294     };
28295   };
28297   X11IdleTime = buildPerlPackage {
28298     pname = "X11-IdleTime";
28299     version = "0.09";
28300     src = fetchurl {
28301       url = "mirror://cpan/authors/id/A/AW/AWENDT/X11-IdleTime-0.09.tar.gz";
28302       hash = "sha256-2P3cB455ge4xt2CMZTZFyyDwFr3dx8VQtNUn79NiR0g=";
28303     };
28304     buildInputs = [ pkgs.xorg.libXext pkgs.xorg.libXScrnSaver pkgs.xorg.libX11 ];
28305     propagatedBuildInputs = [ InlineC ];
28306     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";
28307     meta = {
28308       description = "Get the idle time of X11";
28309       license = with lib.licenses; [ artistic1 gpl1Plus ];
28310     };
28311   };
28313   X11Protocol = buildPerlPackage {
28314     pname = "X11-Protocol";
28315     version = "0.56";
28316     src = fetchurl {
28317       url = "mirror://cpan/authors/id/S/SM/SMCCAM/X11-Protocol-0.56.tar.gz";
28318       hash = "sha256-3pbdbHwfJfMoeqevZJAr+ErKqo4MO7dqoWdjZ+BKCLc=";
28319     };
28320     doCheck = false; # requires an X server
28321     meta = {
28322       description = "Perl module for the X Window System Protocol, version 11";
28323       license = with lib.licenses; [ artistic1 gpl1Plus ];
28324     };
28325   };
28327   X11ProtocolOther = buildPerlPackage {
28328     pname = "X11-Protocol-Other";
28329     version = "31";
28330     src = fetchurl {
28331       url = "mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-31.tar.gz";
28332       hash = "sha256-PGJZk9x6jrHQLgcQimZjAkWcb8b589J2FfdJUVjcc/Q=";
28333     };
28334     propagatedBuildInputs = [ X11Protocol ];
28335     buildInputs = [ EncodeHanExtra ModuleUtil ];
28336     meta = {
28337       description = "Miscellaneous helpers for X11::Protocol connections";
28338       homepage = "https://user42.tuxfamily.org/x11-protocol-other/index.html";
28339       license = with lib.licenses; [ gpl1Plus gpl3Plus ];
28340     };
28341   };
28343   X11GUITest = buildPerlPackage {
28344     pname = "X11-GUITest";
28345     version = "0.28";
28346     src = fetchurl {
28347       url = "mirror://cpan/authors/id/C/CT/CTRONDLP/X11-GUITest-0.28.tar.gz";
28348       hash = "sha256-3O7eU3AGEP/xQtydXE5M0DcMiKTysTcfnL9NjYzm9ks=";
28349     };
28350     buildInputs = [ pkgs.xorg.libX11 pkgs.xorg.libXi pkgs.xorg.libXt pkgs.xorg.libXtst ];
28351     NIX_CFLAGS_LINK = "-lX11";
28352     doCheck = false; # requires an X server
28353     meta = {
28354       description = "Provides GUI testing/interaction routines";
28355       license = with lib.licenses; [ gpl2Only ];
28356     };
28357   };
28359   X11XCB = buildPerlPackage {
28360     pname = "X11-XCB";
28361     version = "0.20";
28362     src = fetchurl {
28363       url = "mirror://cpan/authors/id/Z/ZH/ZHMYLOVE/X11-XCB-0.20.tar.gz";
28364       hash = "sha256-rVY5Yd4gIlVOdZHvXLjZY0ngxzdxIYXkeFBViMZ6L9I=";
28365     };
28366     env.AUTOMATED_TESTING = false;
28367     nativeBuildInputs = [ pkgs.pkg-config ];
28368     buildInputs = [ pkgs.xorg.libxcb pkgs.xorg.xcbproto pkgs.xorg.xcbutil pkgs.xorg.xcbutilwm ExtUtilsDepends ExtUtilsPkgConfig TestDeep TestException ];
28369     propagatedBuildInputs = [ DataDump MouseXNativeTraits XMLDescent XMLSimple XSObjectMagic ];
28370     NIX_CFLAGS_LINK = "-lxcb -lxcb-util -lxcb-xinerama -lxcb-icccm -lxcb-randr -lxcb-xkb";
28371     doCheck = false; # requires an X server
28372     meta = {
28373       description = "Perl bindings for libxcb";
28374       license = with lib.licenses; [ artistic1 gpl1Plus ];
28375     };
28376   };
28378   XMLCanonicalizeXML = buildPerlPackage {
28379     pname = "XML-CanonicalizeXML";
28380     version = "0.10";
28381     src = fetchurl {
28382       url = "mirror://cpan/authors/id/S/SJ/SJZASADA/XML-CanonicalizeXML-0.10.tar.gz";
28383       hash = "sha256-5yhGSIDLtMHz/XceCQOoUmzWV7OUuzchYDUkXPHihu4=";
28384     };
28385     buildInputs = [ pkgs.libxml2 ];
28386     meta = {
28387       description = "Perl extension for inclusive (1.0 and 1.1) and exclusive canonicalization of XML using libxml2";
28388       license = with lib.licenses; [ artistic1 gpl1Plus ];
28389       maintainers = [ maintainers.sgo ];
28390     };
28391   };
28393   XMLDescent = buildPerlModule {
28394     pname = "XML-Descent";
28395     version = "1.04";
28396     src = fetchurl {
28397       url = "mirror://cpan/authors/id/A/AN/ANDYA/XML-Descent-1.04.tar.gz";
28398       hash = "sha256-pxG4VvjN9eZHpExx+WfUjAlgNbnb0/Hvvb6kBgWvvVA=";
28399     };
28400     buildInputs = [ TestDifferences ];
28401     propagatedBuildInputs = [ XMLTokeParser ];
28402     meta = {
28403       description = "Recursive descent XML parsing";
28404       license = with lib.licenses; [ artistic1 gpl1Plus ];
28405     };
28406   };
28408   XMLEncoding = buildPerlPackage {
28409     pname = "XML-Encoding";
28410     version = "2.11";
28411     src = fetchurl {
28412       url = "mirror://cpan/authors/id/S/SH/SHAY/XML-Encoding-2.11.tar.gz";
28413       hash = "sha256-pQ5Brwp5uILUiBa5VoHzilWvHmqIgo3NljdKi94jBaE=";
28414     };
28415     propagatedBuildInputs = [ XMLParser ];
28416     meta = {
28417       description = "A perl module for parsing XML encoding maps";
28418       license = with lib.licenses; [ artistic1 gpl1Plus ];
28419     };
28420   };
28422   XMLEntities = buildPerlPackage {
28423     pname = "XML-Entities";
28424     version = "1.0002";
28425     src = fetchurl {
28426       url = "mirror://cpan/authors/id/S/SI/SIXTEASE/XML-Entities-1.0002.tar.gz";
28427       hash = "sha256-wyqk8wlXPXZIqy5Bb2K2sgZS8q2c/T7sgv1REB/nMQ0=";
28428     };
28429     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
28430     propagatedBuildInputs = [ LWP ];
28431     postInstall = lib.optionalString stdenv.isDarwin ''
28432       shortenPerlShebang $out/bin/download-entities.pl
28433     '';
28434     meta = {
28435       description = "Mapping of XML entities to Unicode";
28436       license = with lib.licenses; [ artistic1 gpl1Plus ];
28437     };
28438   };
28440   XMLDOM = buildPerlPackage {
28441     pname = "XML-DOM";
28442     version = "1.46";
28443     src = fetchurl {
28444       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz";
28445       hash = "sha256-i6JLC0WbAdbF5bBAiCnH1d/kf/ebNUjIE3WQSAmbF14=";
28446     };
28447     propagatedBuildInputs = [ XMLRegExp libxml_perl ];
28448     meta = {
28449       description = "Interface to XML::DOM toolset";
28450       license = with lib.licenses; [ gpl2Only ];
28451     };
28452   };
28454   XMLFeedPP = buildPerlPackage {
28455     pname = "XML-FeedPP";
28456     version = "0.95";
28457     src = fetchurl {
28458       url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-FeedPP-0.95.tar.gz";
28459       hash = "sha256-kMOVm/GmC3aimnSac5QfOgx7mllUwTZbyB2vyrsBqPQ=";
28460     };
28461     propagatedBuildInputs = [ XMLTreePP ];
28462     meta = {
28463       description = "Parse/write/merge/edit RSS/RDF/Atom syndication feeds";
28464       homepage = "http://perl.overmeer.net/CPAN";
28465       license = with lib.licenses; [ artistic1 gpl1Plus ];
28466     };
28467   };
28469   XMLFilterBufferText = buildPerlPackage {
28470     pname = "XML-Filter-BufferText";
28471     version = "1.01";
28472     src = fetchurl {
28473       url = "mirror://cpan/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz";
28474       hash = "sha256-j9ISbTvuxVTfhSkZ9HOeaJICy7pqF1Bum2bqFlhBp1w=";
28475     };
28476     doCheck = false;
28477     meta = {
28478       description = "Filter to put all characters() in one event";
28479       license = with lib.licenses; [ artistic1 gpl1Plus ];
28480     };
28481   };
28483   XMLFilterXInclude = buildPerlPackage {
28484     pname = "XML-Filter-XInclude";
28485     version = "1.0";
28486     src = fetchurl {
28487       url = "mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Filter-XInclude-1.0.tar.gz";
28488       hash = "sha256-mHRvPB9vBJSR/sID1FW7j4ycbiUPBBkE3aXXjiEYf5M=";
28489     };
28490     doCheck = false;
28491     meta = {
28492       description = "XInclude as a SAX Filter";
28493       license = with lib.licenses; [ artistic1 gpl1Plus ];
28494     };
28495   };
28497   XMLFilterSort = buildPerlPackage {
28498     pname = "XML-Filter-Sort";
28499     version = "1.01";
28500     src = fetchurl {
28501       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Filter-Sort-1.01.tar.gz";
28502       hash = "sha256-UQWF85pJFszV+o1UXpYXnJHq9vx8l6QBp1aOhBFi+l8=";
28503     };
28504     nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
28505     propagatedBuildInputs = [
28506       XMLSAX
28507       XMLSAXWriter
28508     ];
28509     postInstall = lib.optionalString stdenv.isDarwin ''
28510       shortenPerlShebang $out/bin/xmlsort
28511     '';
28512     meta = {
28513       description = "SAX filter for sorting elements in XML";
28514       license = with lib.licenses; [ artistic1 gpl1Plus ];
28515       mainProgram = "xmlsort";
28516     };
28517   };
28519   XMLGrove = buildPerlPackage {
28520     pname = "XML-Grove";
28521     version = "0.46alpha";
28522     src = fetchurl {
28523       url = "mirror://cpan/authors/id/K/KM/KMACLEOD/XML-Grove-0.46alpha.tar.gz";
28524       hash = "sha256-/LZtffSsKcsO3B6mLBdQcCyqaob8lHkKlPyxo2vQ0Rc=";
28525     };
28526     buildInputs = [ pkgs.libxml2 ];
28527     propagatedBuildInputs = [ libxml_perl ];
28529     #patch from https://bugzilla.redhat.com/show_bug.cgi?id=226285
28530     patches = [ ../development/perl-modules/xml-grove-utf8.patch ];
28531     meta = {
28532       description = "Perl-style XML objects";
28533       license = with lib.licenses; [ artistic1 gpl1Plus ];
28534     };
28535   };
28537   XMLHandlerYAWriter = buildPerlPackage {
28538     pname = "XML-Handler-YAWriter";
28539     version = "0.23";
28540     src = fetchurl {
28541       url = "mirror://cpan/authors/id/K/KR/KRAEHE/XML-Handler-YAWriter-0.23.tar.gz";
28542       hash = "sha256-50y7vl41wapyYZC/re8cePN7ThV3+JyT2sKgr4MqpIU=";
28543     };
28544     propagatedBuildInputs = [ libxml_perl ];
28545     meta = {
28546       description = "Yet another Perl SAX XML Writer";
28547       license = with lib.licenses; [ gpl1Only ];
28548       mainProgram = "xmlpretty";
28549     };
28550   };
28552   XMLLibXML = buildPerlPackage {
28553     pname = "XML-LibXML";
28554     version = "2.0209";
28555     src = fetchurl {
28556       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0209.tar.gz";
28557       hash = "sha256-tKWrvNaJqi+7yLe0UznpYcSYTkgQhJTrbCgrR0giJCU=";
28558     };
28559     SKIP_SAX_INSTALL = 1;
28560     buildInputs = [ AlienBuild AlienLibxml2 ]
28561       ++ lib.optionals stdenv.isDarwin (with pkgs; [ libiconv zlib ]);
28562     patches = [
28563       ../development/perl-modules/XML-LibXML-clang16.patch
28564     ];
28565     # Remove test that fails after LibXML 2.11 upgrade
28566     postPatch = ''
28567       rm t/35huge_mode.t
28568     '';
28569     propagatedBuildInputs = [ XMLSAX ];
28570     meta = {
28571       description = "Perl Binding for libxml2";
28572       license = with lib.licenses; [ artistic1 gpl1Plus ];
28573     };
28574   };
28576   XMLLibXMLSimple = buildPerlPackage {
28577     pname = "XML-LibXML-Simple";
28578     version = "1.01";
28579     src = fetchurl {
28580       url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-1.01.tar.gz";
28581       hash = "sha256-zZjIEEtw12cr+ia0UTt4rfK0uSIOWGqovrGlCFADZaY=";
28582     };
28583     propagatedBuildInputs = [ XMLLibXML ];
28584     meta = {
28585       description = "An API for simple XML files";
28586       license = with lib.licenses; [ artistic1 gpl1Plus ];
28587     };
28588   };
28590   XMLLibXSLT = buildPerlPackage {
28591     pname = "XML-LibXSLT";
28592     version = "2.002001";
28593     src = fetchurl {
28594       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXSLT-2.002001.tar.gz";
28595       hash = "sha256-34knxP8ZSfYlgNHB5vAPDNVrU9OpV+5LFxtZv/pjssA=";
28596     };
28597     nativeBuildInputs = [ pkgs.pkg-config ];
28598     buildInputs = [ pkgs.zlib pkgs.libxml2 pkgs.libxslt ];
28599     propagatedBuildInputs = [ XMLLibXML ];
28600     meta = {
28601       description = "Interface to the GNOME libxslt library";
28602       license = with lib.licenses; [ artistic1 gpl1Plus ];
28603     };
28604   };
28606   XMLMini = buildPerlPackage {
28607     pname = "XML-Mini";
28608     version = "1.38";
28609     src = fetchurl {
28610       url = "mirror://cpan/authors/id/P/PD/PDEEGAN/XML-Mini-1.38.tar.gz";
28611       hash = "sha256-r4A9OANqMYThJKaC5UZvG8EH9IqJ7zWwx2R+EaBz/i0=";
28612     };
28613     meta = {
28614       description = "Perl implementation of the XML::Mini XML create/parse interface";
28615       license = with lib.licenses; [ gpl3Plus ];
28616     };
28617   };
28619   XMLNamespaceSupport = buildPerlPackage {
28620     pname = "XML-NamespaceSupport";
28621     version = "1.12";
28622     src = fetchurl {
28623       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz";
28624       hash = "sha256-R+mVhZ+N0EE6o/ItNQxKYtplLoVCZ6oFhq5USuK65e8=";
28625     };
28626     meta = {
28627       description = "A simple generic namespace processor";
28628       license = with lib.licenses; [ artistic1 gpl1Plus ];
28629     };
28630   };
28632   XMLParser = buildPerlPackage {
28633     pname = "XML-Parser";
28634     version = "2.46";
28635     src = fetchurl {
28636       url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.46.tar.gz";
28637       hash = "sha256-0zEzJJHFHMz7TLlP/ET5zXM3jmGEmNSjffngQ2YcUV0=";
28638     };
28639     patches = [ ../development/perl-modules/xml-parser-0001-HACK-Assumes-Expat-paths-are-good.patch ];
28640     postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
28641       substituteInPlace Expat/Makefile.PL --replace 'use English;' '#'
28642     '' + lib.optionalString stdenv.isCygwin ''
28643       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
28644     '';
28645     makeMakerFlags = [ "EXPATLIBPATH=${pkgs.expat.out}/lib" "EXPATINCPATH=${pkgs.expat.dev}/include" ];
28646     propagatedBuildInputs = [ LWP ];
28647     meta = {
28648       description = "A perl module for parsing XML documents";
28649       license = with lib.licenses; [ artistic1 gpl1Plus ];
28650     };
28651   };
28653   XMLParserLite = buildPerlPackage {
28654     pname = "XML-Parser-Lite";
28655     version = "0.722";
28656     src = fetchurl {
28657       url = "mirror://cpan/authors/id/P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz";
28658       hash = "sha256-b5CgJ+FTGg5UBs8d4Txwm1IWlm349z0Lq5q5GSCXY+4=";
28659     };
28660     buildInputs = [ TestRequires ];
28661     meta = {
28662       description = "Lightweight pure-perl XML Parser (based on regexps)";
28663       license = with lib.licenses; [ artistic1 gpl1Plus ];
28664     };
28665   };
28667   XMLXPath = buildPerlPackage {
28668     pname = "XML-XPath";
28669     version = "1.48";
28670     src = fetchurl {
28671       url = "mirror://cpan/authors/id/M/MA/MANWAR/XML-XPath-1.48.tar.gz";
28672       hash = "sha256-e8db42sjnlsucAqVcNK1O0MJPUZ/Kr5qdD+f+Qk3kM0=";
28673     };
28674     buildInputs = [ PathTiny ];
28675     propagatedBuildInputs = [ XMLParser ];
28676     meta = {
28677       description = "Parse and evaluate XPath statements";
28678       license = with lib.licenses; [ artistic2 ];
28679       mainProgram = "xpath";
28680     };
28681   };
28683   XMLXPathEngine = buildPerlPackage {
28684     pname = "XML-XPathEngine";
28685     version = "0.14";
28686     src = fetchurl {
28687       url = "mirror://cpan/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz";
28688       hash = "sha256-0v57y70L66FET0pzNAHnuKpSgvrUJm1Cc13XRYKy4mQ=";
28689     };
28690     meta = {
28691       description = "A re-usable XPath engine for DOM-like trees";
28692       license = with lib.licenses; [ artistic1 gpl1Plus ];
28693     };
28694   };
28696   XMLRegExp = buildPerlPackage {
28697     pname = "XML-RegExp";
28698     version = "0.04";
28699     src = fetchurl {
28700       url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz";
28701       hash = "sha256-3xmQCWA2CFyOLUWQT+GA+Cv+1A8afgUkPzNOoQCQ/FQ=";
28702     };
28703     meta = {
28704       description = "Regular expressions for XML tokens";
28705       license = with lib.licenses; [ gpl2Plus];
28706     };
28707   };
28709   XMLRPCLite = buildPerlPackage {
28710     pname = "XMLRPC-Lite";
28711     version = "0.717";
28712     src = fetchurl {
28713       url = "mirror://cpan/authors/id/P/PH/PHRED/XMLRPC-Lite-0.717.tar.gz";
28714       hash = "sha256-Op+l8ssfr4t8ZrTDhuqzXKxgiK/E28dX1Pd9KE2rRSQ=";
28715     };
28716     propagatedBuildInputs = [ SOAPLite ];
28717     # disable tests that require network
28718     preCheck = "rm t/{26-xmlrpc.t,37-mod_xmlrpc.t}";
28719     meta = {
28720       description = "Client and server implementation of XML-RPC protocol";
28721       license = with lib.licenses; [ artistic1 gpl1Plus ];
28722     };
28723   };
28725   XMLRSS = buildPerlModule {
28726     pname = "XML-RSS";
28727     version = "1.62";
28728     src = fetchurl {
28729       url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.62.tar.gz";
28730       hash = "sha256-0ycGNELH/3FDmTqgwtFv3lEhSRyXFmHrbLcA0uBDi04=";
28731     };
28732     propagatedBuildInputs = [ DateTimeFormatMail DateTimeFormatW3CDTF XMLParser ];
28733     meta = {
28734       description = "Creates and updates RSS files";
28735       homepage = "https://metacpan.org/release/XML-RSS";
28736       license = with lib.licenses; [ artistic1 gpl1Plus ];
28737     };
28738   };
28740   XMLRules = buildPerlModule {
28741     pname = "XML-Rules";
28742     version = "1.16";
28743     src = fetchurl {
28744       url = "mirror://cpan/authors/id/J/JE/JENDA/XML-Rules-1.16.tar.gz";
28745       hash = "sha256-N4glXAev5BlaDecs4FBlIyDYF1KP8tEMYR9uOSBDhos=";
28746     };
28747     propagatedBuildInputs = [ XMLParser ];
28748     meta = {
28749       description = "Parse XML and specify what and how to keep/process for individual tags";
28750       license = with lib.licenses; [ artistic1 gpl1Plus ];
28751     };
28752   };
28754   XMLSAX = buildPerlPackage {
28755     pname = "XML-SAX";
28756     version = "1.02";
28757     src = fetchurl {
28758       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz";
28759       hash = "sha256-RQbDhwQ6pqd7RV8A9XQJ83IKp+VTSVqyU1JjtO0eoSo=";
28760     };
28761     propagatedBuildInputs = [ XMLNamespaceSupport XMLSAXBase ];
28762     postInstall = ''
28763       perl -MXML::SAX -e "XML::SAX->add_parser(q(XML::SAX::PurePerl))->save_parsers()"
28764       '';
28765     meta = {
28766       description = "Simple API for XML";
28767       license = with lib.licenses; [ artistic1 gpl1Plus ];
28768     };
28769   };
28771   XMLSAXBase = buildPerlPackage {
28772     pname = "XML-SAX-Base";
28773     version = "1.09";
28774     src = fetchurl {
28775       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz";
28776       hash = "sha256-Zss1W6TvR8EMpzi9NZmXI2RDhqyFOrvrUTKEH16KKtA=";
28777     };
28778     meta = {
28779       description = "Base class for SAX Drivers and Filters";
28780       homepage = "https://github.com/grantm/XML-SAX-Base";
28781       license = with lib.licenses; [ artistic1 gpl1Plus ];
28782     };
28783   };
28785   XMLSAXExpat = buildPerlPackage {
28786     pname = "XML-SAX-Expat";
28787     version = "0.51";
28788     src = fetchurl {
28789       url = "mirror://cpan/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz";
28790       hash = "sha256-TAFiE9DOfbLElOMAhrWZF7MC24wpLc0h853uvZeAyD8=";
28791     };
28792     propagatedBuildInputs = [ XMLParser XMLSAX ];
28793     # Avoid creating perllocal.pod, which contains a timestamp
28794     installTargets = [ "pure_install" ];
28795     meta = {
28796       description = "SAX Driver for Expat";
28797       license = with lib.licenses; [ artistic1 gpl1Plus ];
28798     };
28799   };
28801   XMLSAXWriter = buildPerlPackage {
28802     pname = "XML-SAX-Writer";
28803     version = "0.57";
28804     src = fetchurl {
28805       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz";
28806       hash = "sha256-PWHQfvQ7ASb1tN5PQVolb6hZ+ojcT9q6rXC3vnxoLPA=";
28807     };
28808     propagatedBuildInputs = [ XMLFilterBufferText XMLNamespaceSupport XMLSAXBase ];
28809     meta = {
28810       description = "SAX2 XML Writer";
28811       homepage = "https://github.com/perigrin/xml-sax-writer";
28812       license = with lib.licenses; [ artistic1 gpl1Plus ];
28813     };
28814   };
28816   XMLSemanticDiff = buildPerlModule {
28817     pname = "XML-SemanticDiff";
28818     version = "1.0007";
28819     src = fetchurl {
28820       url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SemanticDiff-1.0007.tar.gz";
28821       hash = "sha256-Bf3v77vD9rYvx8m1+rr7a2le1o8KPZWFdyUdHwQCoPU=";
28822     };
28823     propagatedBuildInputs = [ XMLParser ];
28824     meta = {
28825       description = "Perl extension for comparing XML documents";
28826       license = with lib.licenses; [ artistic1 gpl1Plus ];
28827     };
28828   };
28830   XMLSimple = buildPerlPackage {
28831     pname = "XML-Simple";
28832     version = "2.25";
28833     src = fetchurl {
28834       url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz";
28835       hash = "sha256-Ux/drr6iQWdD61xP36sCj1AhI9miIEBaQQDmj8SA2/g=";
28836     };
28837     propagatedBuildInputs = [ XMLSAXExpat ];
28838     meta = {
28839       description = "An API for simple XML files";
28840       license = with lib.licenses; [ artistic1 gpl1Plus ];
28841     };
28842   };
28844   XMLTokeParser = buildPerlPackage {
28845     pname = "XML-TokeParser";
28846     version = "0.05";
28847     src = fetchurl {
28848       url = "mirror://cpan/authors/id/P/PO/PODMASTER/XML-TokeParser-0.05.tar.gz";
28849       hash = "sha256-hTm0+YQ2sabQiDQai0Uwt5IqzWUfPyk3f4sZSMfi18I=";
28850     };
28851     propagatedBuildInputs = [ XMLParser ];
28852     meta = {
28853       description = "Simplified interface to XML::Parser";
28854       license = with lib.licenses; [ artistic1 gpl1Plus ];
28855     };
28856   };
28858   XMLTreePP = buildPerlPackage {
28859     pname = "XML-TreePP";
28860     version = "0.43";
28861     src = fetchurl {
28862       url = "mirror://cpan/authors/id/K/KA/KAWASAKI/XML-TreePP-0.43.tar.gz";
28863       hash = "sha256-f74tZDCGAFmJSu7r911MrPG/jXt1KU64fY4VAvgb12A=";
28864     };
28865     propagatedBuildInputs = [ LWP ];
28866     meta = {
28867       description = "Pure Perl implementation for parsing/writing XML documents";
28868       license = with lib.licenses; [ artistic1 gpl1Plus ];
28869     };
28870   };
28872   XMLTwig = buildPerlPackage {
28873     pname = "XML-Twig";
28874     version = "3.52";
28875     src = fetchurl {
28876       url = "mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz";
28877       hash = "sha256-/vdYJsJPK4d9Cg0mRSEvxPuXVu1NJxFhSsFcSX6GgK0=";
28878     };
28879     postInstall = ''
28880       mkdir -p $out/bin
28881       cp tools/xml_grep/xml_grep $out/bin
28882     '';
28883     propagatedBuildInputs = [ XMLParser ];
28884     doCheck = false;  # requires lots of extra packages
28885     meta = {
28886       description = "A Perl module for processing huge XML documents in tree mode";
28887       license = with lib.licenses; [ artistic1 gpl1Plus ];
28888       mainProgram = "xml_grep";
28889     };
28890   };
28892   XMLValidatorSchema = buildPerlPackage {
28893     pname = "XML-Validator-Schema";
28894     version = "1.10";
28895     src = fetchurl {
28896       url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/XML-Validator-Schema-1.10.tar.gz";
28897       hash = "sha256-YUJnlYAVCokffTIjK14x4rTl5T6Kb6nL7stcI4FPFCI=";
28898     };
28899     propagatedBuildInputs = [ TreeDAGNode XMLFilterBufferText XMLSAX ];
28900     meta = {
28901       description = "Validate XML against a subset of W3C XML Schema";
28902       license = with lib.licenses; [ artistic1 gpl1Plus ];
28903     };
28904   };
28906   XMLWriter = buildPerlPackage {
28907     pname = "XML-Writer";
28908     version = "0.900";
28909     src = fetchurl {
28910       url = "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-0.900.tar.gz";
28911       hash = "sha256-c8j1vT7PKzUPStrm1mdtUuCOzC199KnwifpoNg1ADR8=";
28912     };
28913     meta = {
28914       description = "Module for creating a XML document object oriented with on the fly validating towards the given DTD";
28915       license = with lib.licenses; [ gpl1Only ];
28916     };
28917   };
28919   XSObjectMagic = buildPerlPackage {
28920     pname = "XS-Object-Magic";
28921     version = "0.05";
28922     src = fetchurl {
28923       url = "mirror://cpan/authors/id/E/ET/ETHER/XS-Object-Magic-0.05.tar.gz";
28924       hash = "sha256-PcnkYM7pLhF0QGJ1RkOjN3jKUqVNIF/K/6SrDzzxXlo=";
28925     };
28926     buildInputs = [ ExtUtilsDepends TestFatal TestSimple13 ];
28927     meta = {
28928       description = "Opaque, extensible XS pointer backed objects using sv_magic";
28929       homepage = "https://github.com/karenetheridge/XS-Object-Magic";
28930       license = with lib.licenses; [ artistic1 gpl1Plus ];
28931     };
28932   };
28934   XSParseKeyword = buildPerlModule {
28935     pname = "XS-Parse-Keyword";
28936     version = "0.38";
28937     src = fetchurl {
28938       url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Keyword-0.38.tar.gz";
28939       hash = "sha256-JQDEeGnPXKjGHdI8Z7rav2a48e+14nkgdlfBzmk+IR4=";
28940     };
28941     buildInputs = [ ExtUtilsCChecker Test2Suite ];
28942     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
28943     meta = {
28944       description = "XS functions to assist in parsing keyword syntax";
28945       license = with lib.licenses; [ artistic1 gpl1Plus ];
28946       maintainers = [ maintainers.zakame ];
28947     };
28948   };
28950   XSParseSublike = buildPerlModule {
28951     pname = "XS-Parse-Sublike";
28952     version = "0.20";
28953     src = fetchurl {
28954       url = "mirror://cpan/authors/id/P/PE/PEVANS/XS-Parse-Sublike-0.20.tar.gz";
28955       hash = "sha256-Wn0myqMroqQQUZwMJLHYCznvMgdRN224vbef2u/pms0=";
28956     };
28957     buildInputs = [ Test2Suite ];
28958     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
28959     meta = {
28960       description = "XS functions to assist in parsing sub-like syntax";
28961       license = with lib.licenses; [ artistic1 gpl1Plus ];
28962       maintainers = [ maintainers.zakame ];
28963     };
28964   };
28966   XXX = buildPerlPackage {
28967     pname = "XXX";
28968     version = "0.38";
28969     src = fetchurl {
28970       url = "mirror://cpan/authors/id/I/IN/INGY/XXX-0.38.tar.gz";
28971       hash = "sha256-0QUQ6gD2Gav0erKZ8Ui9WzYM+gfcDtUYE4t87HJpLSo=";
28972     };
28973     propagatedBuildInputs = [ YAMLPP ];
28974     meta = {
28975       description = "See Your Data in the Nude";
28976       homepage = "https://github.com/ingydotnet/xxx-pm";
28977       license = with lib.licenses; [ artistic1 gpl1Plus ];
28978     };
28979   };
28981   YAML = buildPerlPackage {
28982     pname = "YAML";
28983     version = "1.30";
28984     src = fetchurl {
28985       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-1.30.tar.gz";
28986       hash = "sha256-UDCm1sv/rxJYMFC/VSqoANRkbKlnjBh63WSSJ/V0ec0=";
28987     };
28989     buildInputs = [ TestBase TestDeep TestYAML ];
28991     meta = {
28992       description = "YAML Ain't Markup Language (tm)";
28993       homepage = "https://github.com/ingydotnet/yaml-pm";
28994       license = with lib.licenses; [ artistic1 gpl1Plus ];
28995     };
28996   };
28998   YAMLOld = buildPerlPackage {
28999     pname = "YAML-Old";
29000     version = "1.23";
29001     src = fetchurl {
29002       url = "mirror://cpan/authors/id/I/IN/INGY/YAML-Old-1.23.tar.gz";
29003       hash = "sha256-+lRvzZrMWjm8iHGQL3/B66UOfceBxc1cCr8a7ObRfs0=";
29004     };
29005     buildInputs = [ TestYAML TestBase ];
29006     meta = {
29007       description = "Old YAML.pm Legacy Code";
29008       homepage = "https://github.com/ingydotnet/yaml-old-pm";
29009       license = with lib.licenses; [ artistic1 gpl1Plus ];
29010     };
29011   };
29013   YAMLSyck = buildPerlPackage {
29014     pname = "YAML-Syck";
29015     version = "1.34";
29016     src = fetchurl {
29017       url = "mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.34.tar.gz";
29018       hash = "sha256-zJFWzK69p5jr/i8xthnoBld/hg7RcEJi8X/608bjQVk=";
29019     };
29020     perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
29021     meta = {
29022       description = "Fast, lightweight YAML loader and dumper";
29023       homepage = "https://github.com/toddr/YAML-Syck";
29024       license = with lib.licenses; [ mit ];
29025     };
29026   };
29028   YAMLTiny = buildPerlPackage {
29029     pname = "YAML-Tiny";
29030     version = "1.74";
29031     src = fetchurl {
29032       url = "mirror://cpan/authors/id/E/ET/ETHER/YAML-Tiny-1.74.tar.gz";
29033       hash = "sha256-ezjKn1084kIwpri9wfR/Wy2zSOf3+WZsJvWVVjbjPWw=";
29034     };
29035     meta = {
29036       description = "Read/Write YAML files with as little code as possible";
29037       license = with lib.licenses; [ artistic1 gpl1Plus ];
29038     };
29039   };
29041   YAMLLibYAML = buildPerlPackage {
29042     pname = "YAML-LibYAML";
29043     version = "0.88";
29044     src = fetchurl {
29045       url = "mirror://cpan/authors/id/I/IN/INGY/YAML-LibYAML-0.88.tar.gz";
29046       hash = "sha256-qKJzjMzDMqj3VJxMJ/PgCQyasR7vD2yFZEUXc5gTVng=";
29047     };
29048     meta = {
29049       description = "Perl YAML Serialization using XS and libyaml";
29050       license = with lib.licenses; [ artistic1 gpl1Plus ];
29051     };
29052   };
29054   YAMLPP = buildPerlPackage {
29055     pname = "YAML-PP";
29056     version = "0.036";
29057     src = fetchurl {
29058       url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-PP-0.036.tar.gz";
29059       hash = "sha256-yLTlBYSt+S73Vz9rsB1u1Y5iF2MsV0J7cnTPp8pG/Bs=";
29060     };
29061     buildInputs = [ TestDeep TestWarn ];
29062     meta = {
29063       description = "YAML 1.2 Processor";
29064       license = with lib.licenses; [ artistic1 gpl1Plus ];
29065     };
29066   };
29068   Yancy = buildPerlPackage {
29069     pname = "Yancy";
29070     version = "1.088";
29071     src = fetchurl {
29072       url = "mirror://cpan/authors/id/P/PR/PREACTION/Yancy-1.088.tar.gz";
29073       hash = "sha256-addqs5ilrGiQc0Paisybr9UZ+0x4WrAU7CagUhA2vSo=";
29074     };
29075     buildInputs = [ FileShareDirInstall ];
29076     propagatedBuildInputs = [ ClassMethodModifiers JSONValidator Mojolicious MojoliciousPluginI18N MojoliciousPluginOpenAPI RoleTiny ];
29077     meta = {
29078       homepage = "http://preaction.me/yancy/";
29079       description = "The Best Web Framework Deserves the Best CMS";
29080       license = with lib.licenses; [ artistic1 gpl1Plus ];
29081     };
29082   };
29084   WebMachine = buildPerlPackage {
29085     pname = "Web-Machine";
29086     version = "0.17";
29087     src = fetchurl {
29088       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Web-Machine-0.17.tar.gz";
29089       hash = "sha256-8TnSsxFMVJ6RhH2qq4t1y2meV9r1u/Db0TKT8z/l4io=";
29090     };
29091     buildInputs = [ NetHTTP TestFailWarnings TestFatal ];
29092     propagatedBuildInputs = [ HTTPHeadersActionPack HTTPMessage HashMultiValue IOHandleUtil ModuleRuntime Plack SubExporter TryTiny ];
29093     meta = {
29094       description = "A Perl port of Webmachine";
29095       homepage = "https://metacpan.org/release/Web-Machine";
29096       license = with lib.licenses; [ artistic1 gpl1Plus ];
29097     };
29098   };
29100   WebScraper = buildPerlModule {
29101     pname = "Web-Scraper";
29102     version = "0.38";
29103     src = fetchurl {
29104       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Web-Scraper-0.38.tar.gz";
29105       hash = "sha256-+VtuX41/7r4RbQW/WaK3zxpR7Z0wvKgBI0MOxFZ1Q78=";
29106     };
29107     buildInputs = [ ModuleBuildTiny TestBase TestRequires ];
29108     propagatedBuildInputs = [ HTMLParser HTMLSelectorXPath HTMLTagset HTMLTree HTMLTreeBuilderXPath UNIVERSALrequire URI XMLXPathEngine YAML libwwwperl ];
29109     meta = {
29110       homepage = "https://github.com/miyagawa/web-scraper";
29111       description = "Web Scraping Toolkit using HTML and CSS Selectors or XPath expressions";
29112       license = with lib.licenses; [ artistic1 gpl1Plus ];
29113     };
29114   };
29116   WebServiceLinode = buildPerlModule {
29117     pname = "WebService-Linode";
29118     version = "0.29";
29119     src = fetchurl {
29120       url = "mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.29.tar.gz";
29121       hash = "sha256-EDqrJFME8I6eh6x7yITdtEpjDea6wHfckh9xbXEVSSI=";
29122     };
29123     buildInputs = [ ModuleBuildTiny ];
29124     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
29125     meta = {
29126       description = "Perl Interface to the Linode.com API";
29127       homepage = "https://github.com/mikegrb/WebService-Linode";
29128       license = with lib.licenses; [ artistic1 gpl1Plus ];
29129     };
29130   };
29132   WebServiceValidatorHTMLW3C = buildPerlModule {
29133     pname = "WebService-Validator-HTML-W3C";
29134     version = "0.28";
29135     src = fetchurl {
29136       url = "mirror://cpan/authors/id/S/ST/STRUAN/WebService-Validator-HTML-W3C-0.28.tar.gz";
29137       hash = "sha256-zLB60zegOuyBob6gqJzSlUaR/1uzZ9+aMrnZEw8XURA=";
29138     };
29139     buildInputs = [ ClassAccessor LWP ];
29140     meta = {
29141       description = "Access the W3Cs online HTML validator";
29142       license = with lib.licenses; [ artistic1 gpl1Plus ];
29143     };
29144   };
29146   ZonemasterCLI = buildPerlPackage {
29147     pname = "Zonemaster-CLI";
29148     version = "6.000003";
29149     src = fetchurl {
29150       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-CLI-v6.0.3.tar.gz";
29151       hash = "sha256-oYDBYVygvPUZ9vrGX/y5A0MAQ6zgSsrf6AtUdFcZG4Q=";
29152     };
29153     propagatedBuildInputs = [
29154       JSONXS
29155       MooseXGetopt
29156       TextReflow
29157       ZonemasterEngine
29158       ZonemasterLDNS
29159       libintl-perl
29160     ];
29162     preConfigure = ''
29163       patchShebangs script/
29164     '';
29166     meta = {
29167       description = "Run Zonemaster tests from the command line";
29168       license = with lib.licenses; [ bsd3 ];
29169       maintainers = with lib.maintainers; [ qbit ];
29170     };
29171   };
29173   ZonemasterEngine = buildPerlPackage {
29174     pname = "Zonemaster-Engine";
29175     version = "4.6.1";
29176     src = fetchurl {
29177       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-Engine-v4.6.1.tar.gz";
29178       hash = "sha256-4AXo3bZTOLnnPjjX5KNb/2O7MRqcAtlqpz5sPwNN9b0=";
29179     };
29180     buildInputs = [ PodCoverage TestDifferences TestException TestFatal TestNoWarnings TestPod ];
29181     propagatedBuildInputs = [ ClassAccessor Clone EmailValid FileShareDir FileSlurp IOSocketINET6 ListMoreUtils ModuleFind Moose MooseXSingleton NetIP NetIPXS Readonly TextCSV ZonemasterLDNS libintl-perl ];
29183     meta = {
29184       description = "A tool to check the quality of a DNS zone";
29185       license = with lib.licenses; [ bsd3 ];
29186     };
29187   };
29189   ZonemasterLDNS = buildPerlPackage {
29190     pname = "Zonemaster-LDNS";
29191     version = "3.2.0";
29192     src = fetchurl {
29193       url = "mirror://cpan/authors/id/Z/ZN/ZNMSTR/Zonemaster-LDNS-3.2.0.tar.gz";
29194       hash = "sha256-BpsWQRcpX6gtJSlAocqLMIrYsfPocjvk6CaqqX9wbWw=";
29195     };
29196     env.NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include -I${pkgs.libidn2}.dev}/include";
29197     NIX_CFLAGS_LINK = "-L${lib.getLib pkgs.openssl}/lib -L${lib.getLib pkgs.libidn2}/lib -lcrypto -lidn2";
29199     makeMakerFlags = [ "--prefix-openssl=${pkgs.openssl.dev}" ];
29201     nativeBuildInputs = [ pkgs.pkg-config ];
29202     buildInputs = [ DevelChecklib ModuleInstall ModuleInstallXSUtil TestFatal TestDifferences pkgs.ldns pkgs.libidn2 pkgs.openssl ];
29203     meta = {
29204       description = "Perl wrapper for the ldns DNS library";
29205       license = with lib.licenses; [ bsd3 ];
29206     };
29207   };
29209 } // lib.optionalAttrs config.allowAliases {
29210   autodie = null; # part of Perl
29211   AutoLoader = null; # part of Perl 5.22
29212   constant = null; # part of Perl 5.22
29213   DevelSelfStubber = null; # part of Perl 5.22
29214   Digest = null; # part of Perl 5.22
29215   Exporter = null; # part of Perl 5.22
29216   I18NCollate = null; # part of Perl 5.22
29217   lib_ = null; # part of Perl 5.22
29218   LocaleMaketextSimple = null; # part of Perl 5.22
29219   MathComplex = null; # part of Perl 5.22
29220   MIMEBase64 = null; # part of Perl 5.22
29221   PerlIOviaQuotedPrint = null; # part of Perl 5.22
29222   PodEscapes = null; # part of Perl 5.22
29223   Safe = null; # part of Perl 5.22
29224   SearchDict = null; # part of Perl 5.22
29225   Test = null; # part of Perl 5.22
29226   TextAbbrev = null; # part of Perl 5.22
29227   TextTabsWrap = null; # part of Perl 5.22
29228   DigestSHA = null;
29229   "if" = null;
29230   TestSimple = null;
29231   AttributeHandlers = null; # part of Perl 5.26
29232   base = null; # part of Perl 5.26
29233   CPANMeta = null; # part of Perl 5.26
29234   CPANMetaRequirements = null; # part of Perl 5.26
29235   CPANMetaYAML = null; # part of Perl 5.26
29236   DigestMD5 = null; # part of Perl 5.26
29237   LocaleMaketext = null; # part of Perl 5.26
29238   ModuleLoadConditional = null; # part of Perl 5.26
29239   ModuleMetadata = null; # part of Perl 5.26
29240   PerlOSType = null; # part of Perl 5.26
29241   PodUsage = null; # part of Perl 5.26
29242   TermANSIColor = null; # part of Perl 5.26
29243   TermCap = null; # part of Perl 5.26
29244   ThreadSemaphore = null; # part of Perl 5.26
29245   UnicodeNormalize = null; # part of Perl 5.26
29246   XSLoader = null; # part of Perl 5.26
29248   Carp = null; # part of Perl 5.28
29249   ExtUtilsCBuilder = null; # part of Perl 5.28
29250   ExtUtilsParseXS = null; # part of Perl 5.28
29251   FilterSimple = null; # part of Perl 5.28
29252   IOSocketIP = null; # part of Perl 5.28
29253   SelfLoader = null; # part of Perl 5.28
29254   Socket = null; # part of Perl 5.28
29255   TestHarness = null; # part of Perl 5.28
29256   threads = null; # part of Perl 5.28
29257   TimeHiRes = null; # part of Perl 5.28
29258   UnicodeCollate = null; # part of Perl 5.28
29259   ModuleCoreList = null; # part of Perl 5.28.2
29261   bignum = null; # part of Perl 5.30.3
29262   DataDumper = null; # part of Perl 5.30.3
29263   ExtUtilsManifest = null; # part of Perl 5.30.3
29264   FileTemp = null; # part of Perl 5.30.3
29265   MathBigRat = null; # part of Perl 5.30.3
29266   Storable = null; # part of Perl 5.30.3
29267   threadsshared = null; # part of Perl 5.30.3
29268   ThreadQueue = null; # part of Perl 5.30.3
29270   ArchiveZip_1_53 = self.ArchiveZip;
29271   Autobox = self.autobox;
29272   CommonSense = self.commonsense; # For backwards compatibility.
29273   if_ = self."if"; # For backwards compatibility.
29274   Log4Perl = self.LogLog4perl; # For backwards compatibility.
29275   MouseXGetOpt = self.MouseXGetopt;
29276   NamespaceAutoclean = self.namespaceautoclean; # Deprecated.
29277   NamespaceClean = self.namespaceclean; # Deprecated.
29278   CatalystPluginUnicodeEncoding = self.CatalystRuntime;
29279   ClassAccessorFast = self.ClassAccessor;
29280   ClassMOP = self.Moose;
29281   CompressZlib = self.IOCompress;
29282   constantdefer = self.constant-defer;
29283   DigestHMAC_SHA1 = self.DigestHMAC;
29284   DistZillaPluginNoTabsTests = self.DistZillaPluginTestNoTabs;
29285   EmailMIMEModifier = self.EmailMIME;
29286   ExtUtilsCommand = self.ExtUtilsMakeMaker;
29287   IOSocketInet6 = self.IOSocketINET6;
29288   IOstringy = self.IOStringy;
29289   libintl_perl = self.libintl-perl;
29290   libintlperl = self.libintl-perl;
29291   LWPProtocolconnect = self.LWPProtocolConnect;
29292   LWPProtocolhttps = self.LWPProtocolHttps;
29293   LWPUserAgent = self.LWP;
29294   MIMEtools = self.MIMETools;
29295   NetLDAP = self.perlldap;
29296   NetSMTP = self.libnet;
29297   OLEStorageLight = self.OLEStorage_Lite; # For backwards compatibility. Please use OLEStorage_Lite instead.
29298   ParseCPANMeta = self.CPANMeta;
29299   TestMoose = self.Moose;
29300   TestMore = self.TestSimple;
29301   TestTester = self.TestSimple;
29302   Testuseok = self.TestSimple;
29303   SubExporterUtil = self.SubExporter;
29304   version = self.Version;
29306   Gtk2GladeXML = throw "Gtk2GladeXML has been removed"; # 2022-01-15
29307   pcscperl = throw "'pcscperl' has been renamed to 'ChipcardPCSC'"; # Added 2023-12-07