about summary refs log tree commit diff
path: root/nixpkgs/pkgs/top-level/perl-packages.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/top-level/perl-packages.nix')
-rw-r--r--nixpkgs/pkgs/top-level/perl-packages.nix3435
1 files changed, 1756 insertions, 1679 deletions
diff --git a/nixpkgs/pkgs/top-level/perl-packages.nix b/nixpkgs/pkgs/top-level/perl-packages.nix
index 99bbdf1af1a4..ff7bd3d740af 100644
--- a/nixpkgs/pkgs/top-level/perl-packages.nix
+++ b/nixpkgs/pkgs/top-level/perl-packages.nix
@@ -90,7 +90,7 @@ let
     version = "3.3.1";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.3.1.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/ack-v3.3.1.tar.gz";
       sha256 = "12fm9zplyqndji52nb3b5d91z22g8gr61r1k153kjq84kw264fxf";
     };
 
@@ -107,7 +107,7 @@ let
 
     meta = with stdenv.lib; {
       description = "A grep-like tool tailored to working with large trees of source code";
-      homepage    = https://beyondgrep.com;
+      homepage    = "https://beyondgrep.com";
       license     = licenses.artistic2;
       maintainers = with maintainers; [ lovek323 ];
     };
@@ -117,7 +117,7 @@ let
     pname = "Algorithm-Annotate";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/Algorithm-Annotate-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/C/CL/CLKAO/Algorithm-Annotate-0.10.tar.gz";
       sha256 = "1y92k4nqkscfwpriv8q7c90rjfj85lvwq1k96niv2glk8d37dcf9";
     };
     propagatedBuildInputs = [ AlgorithmDiff ];
@@ -127,7 +127,7 @@ let
     pname = "Algorithm-C3";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Algorithm-C3-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Algorithm-C3-0.10.tar.gz";
       sha256 = "01hlcaxndls86bl92rkd3fvf9pfa3inxqaimv88bxs95803kmkss";
     };
     meta = {
@@ -140,7 +140,7 @@ let
     pname = "Algorithm-Diff";
     version = "1.1903";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz;
+      url = "mirror://cpan/authors/id/T/TY/TYEMQ/Algorithm-Diff-1.1903.tar.gz";
       sha256 = "0l8pk7ziz72d022hsn4xldhhb9f5649j5cgpjdibch0xng24ms1h";
     };
     buildInputs = [ pkgs.unzip ];
@@ -150,7 +150,7 @@ let
     pname = "Algorithm-Merge";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JS/JSMITH/Algorithm-Merge-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/J/JS/JSMITH/Algorithm-Merge-0.08.tar.gz";
       sha256 = "1kqn13wd0lfjrf6h19b9kgdqqwp7k2d9yfq5i0wvii0xi8jqh1lw";
     };
     propagatedBuildInputs = [ AlgorithmDiff ];
@@ -160,7 +160,7 @@ let
     pname = "Alien-Build";
     version = "1.98";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.98.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Build-1.98.tar.gz";
       sha256 = "12w9da57616gmcj69yv7cjv423cj957dm0f84cn2q093g64kjmif";
     };
     propagatedBuildInputs = [ CaptureTiny FFICheckLib FileWhich Filechdir PathTiny PkgConfig ];
@@ -175,7 +175,7 @@ let
     pname = "Alien-GMP";
     version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-GMP-1.14.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-GMP-1.14.tar.gz";
       sha256 = "116vvh1b0d1ykkklqgfxfn89g3bw90a4cj3qrvsnkw1kk5cmn60a";
     };
     propagatedBuildInputs = [ AlienBuild ];
@@ -190,7 +190,7 @@ let
     pname = "Alien-Libxml2";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Alien-Libxml2-0.12.tar.gz";
       sha256 = "0b3dj1510fxldhicijvw390gnh5j1k6rjzcc2jzs9f8nwfkqh6r2";
     };
     propagatedBuildInputs = [ AlienBuild ];
@@ -205,7 +205,7 @@ let
     pname = "aliased";
     version = "0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/aliased-0.34.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/aliased-0.34.tar.gz";
       sha256 = "1syyqzy462501kn5ma9gl6xbmcahqcn4qpafhsmpz0nd0x2m4l63";
     };
     buildInputs = [ ModuleBuildTiny ];
@@ -215,7 +215,7 @@ let
      pname = "asa";
      version = "1.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/E/ET/ETHER/asa-1.04.tar.gz;
+       url = "mirror://cpan/authors/id/E/ET/ETHER/asa-1.04.tar.gz";
        sha256 = "0pk783s1h2f45zbmm6a62yfgy71w4sqh8ppgs4cyxfikwxs3p0z5";
      };
      meta = {
@@ -249,7 +249,7 @@ let
     pname = "Alien-Tidyp";
     version = "1.4.7";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KM/KMX/Alien-Tidyp-v1.4.7.tar.gz;
+      url = "mirror://cpan/authors/id/K/KM/KMX/Alien-Tidyp-v1.4.7.tar.gz";
       sha256 = "0raapwp4155lqag1kzhsd20z4if10hav9wx4d7mc1xpvf7dcnr5r";
     };
 
@@ -262,7 +262,7 @@ let
     pname = "Alien-wxWidgets";
     version = "0.69";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MD/MDOOTSON/Alien-wxWidgets-0.69.tar.gz;
+      url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Alien-wxWidgets-0.69.tar.gz";
       sha256 = "0jg2dmkzhj03f6b0vmv597yryfw9cclsdn9ynvvlrzzgpd5lw8jk";
     };
     propagatedBuildInputs = [ pkgs.pkgconfig pkgs.gtk2 pkgs.wxGTK30 ModulePluggable ];
@@ -273,7 +273,7 @@ let
     pname = "AnyEvent";
     version = "7.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-7.17.tar.gz";
       sha256 = "50beea689c098fe4aaeb83806c40b9fe7f946d5769acf99f849f099091a4b985";
     };
     buildInputs = [ CanaryStability ];
@@ -286,13 +286,13 @@ let
     pname = "AnyEvent-CacheDNS";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PO/POTYL/AnyEvent-CacheDNS-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/P/PO/POTYL/AnyEvent-CacheDNS-0.08.tar.gz";
       sha256 = "41c1faf183b61806b55889ceea1237750c1f61b9ce2735fdf33dc05536712dae";
     };
     propagatedBuildInputs = [ AnyEvent ];
     doCheck = false; # does an DNS lookup
     meta = {
-      homepage = https://github.com/potyl/perl-AnyEvent-CacheDNS;
+      homepage = "https://github.com/potyl/perl-AnyEvent-CacheDNS";
       description = "Simple DNS resolver with caching";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -302,7 +302,7 @@ let
     pname = "AnyEvent-FastPing";
     version = "2.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-FastPing-2.1.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-FastPing-2.1.tar.gz";
       sha256 = "0b3ha864nw0qk22ybhzfgz0r0p69iyj01bi500x9hp6kga7ip4p5";
     };
     propagatedBuildInputs = [ AnyEvent commonsense ];
@@ -314,7 +314,7 @@ let
     pname = "AnyEvent-HTTP";
     version = "2.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-HTTP-2.24.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/AnyEvent-HTTP-2.24.tar.gz";
       sha256 = "0358a542baa45403d81c0a70e43e79c044ddfa1371161d043f002acef63121dd";
     };
     propagatedBuildInputs = [ AnyEvent commonsense ];
@@ -324,7 +324,7 @@ let
     pname = "AnyEvent-I3";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTPLBG/AnyEvent-I3-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSTPLBG/AnyEvent-I3-0.17.tar.gz";
       sha256 = "5382c984c9f138395f29f0c00af81aa0c8f4b765582055c73ede4b13f04a6d63";
     };
     propagatedBuildInputs = [ AnyEvent JSONXS ];
@@ -338,7 +338,7 @@ let
     pname = "AnyEvent-RabbitMQ";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DL/DLAMBLEY/AnyEvent-RabbitMQ-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/D/DL/DLAMBLEY/AnyEvent-RabbitMQ-1.19.tar.gz";
       sha256 = "a440ec2fa5a4018ad44739baaa9601cc460ad497282e89110ba8e3cf23312f0a";
     };
     buildInputs = [ TestException ];
@@ -353,7 +353,7 @@ let
     pname = "Any-Moose";
     version = "0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Any-Moose-0.27.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Any-Moose-0.27.tar.gz";
       sha256 = "0dc55mpayrixwx8dwql0vj0jalg4rlb3k64rprc84bl0z8vkx9m8";
     };
     propagatedBuildInputs = [ Moose Mouse ];
@@ -363,7 +363,7 @@ let
     pname = "Any-URI-Escape";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/Any-URI-Escape-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHRED/Any-URI-Escape-0.01.tar.gz";
       sha256 = "0k4c20bmw32yxksgkc2i44j4vfmzhqcqrq36pv0ab3qhkzn3r0g3";
     };
     propagatedBuildInputs = [ URI ];
@@ -376,7 +376,7 @@ let
     pname = "Apache-AuthCookie";
     version = "3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.28.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Apache-AuthCookie-3.28.tar.gz";
       sha256 = "bcd795a7f654a94ae0a6bd734ba4d8ba1085371fca486229dba49f1c2d62142b";
     };
     buildInputs = [ ApacheTest ];
@@ -397,7 +397,7 @@ let
     pname = "Apache-LogFormat-Compiler";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Apache-LogFormat-Compiler-0.36.tar.gz";
       sha256 = "05xcl7j65vakx7x79jqjikyw0nzf60bc2w6hhc0q5sklxq1ral4l";
     };
     buildInputs = [ HTTPMessage ModuleBuildTiny TestMockTime TestRequires TryTiny URI ];
@@ -405,7 +405,7 @@ let
     # We cannot change the timezone on the fly.
     prePatch = "rm t/04_tz.t";
     meta = {
-      homepage = https://github.com/kazeburo/Apache-LogFormat-Compiler;
+      homepage = "https://github.com/kazeburo/Apache-LogFormat-Compiler";
       description = "Compile a log format string to perl-code";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -415,7 +415,7 @@ let
     pname = "Apache-Session";
     version = "1.93";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.93.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/Apache-Session-1.93.tar.gz";
       sha256 = "8e5a4882ac8ec657d1018d74d3ba37854e2688a41ddd0e1d73955ea59f276e8d";
     };
     buildInputs = [ TestDeep TestException ];
@@ -429,7 +429,7 @@ let
     pname = "Apache-Test";
     version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.42.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHAY/Apache-Test-1.42.tar.gz";
       sha256 = "1sxk7dmpg3ib1dkl58ddh7zffnv5danwba7qxp82k54agmyz1086";
     };
     doCheck = false;
@@ -443,7 +443,7 @@ let
     pname = "App-CLI";
     version = "0.50";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PT/PTC/App-CLI-0.50.tar.gz;
+      url = "mirror://cpan/authors/id/P/PT/PTC/App-CLI-0.50.tar.gz";
       sha256 = "0ick5agl02rx2pjfxl97d0f9qksy8pjn0asmwm3gn6dm7a1zblsi";
     };
     propagatedBuildInputs = [ CaptureTiny ClassLoad ];
@@ -454,7 +454,7 @@ let
     pname = "App-ClusterSSH";
     version = "4.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-4.14.tar.gz;
+      url = "mirror://cpan/authors/id/D/DU/DUNCS/App-ClusterSSH-4.14.tar.gz";
       sha256 = "020p28xl9507blvr8lr7hdxk1cl8jjkz5rkrkh7g538g52sa2cmi";
     };
     propagatedBuildInputs = [ ExceptionClass Tk X11ProtocolOther XMLSimple ];
@@ -480,13 +480,13 @@ let
     pname = "App-Cmd";
     version = "0.331";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.331.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/App-Cmd-0.331.tar.gz";
       sha256 = "4a5d3df0006bd278880d01f4957aaa652a8f91fe8f66e93adf70fba0c3ecb680";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ CaptureTiny ClassLoad GetoptLongDescriptive IOTieCombine ModulePluggable StringRewritePrefix ];
     meta = {
-      homepage = https://github.com/rjbs/App-Cmd;
+      homepage = "https://github.com/rjbs/App-Cmd";
       description = "Write command line apps with less suffering";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -496,7 +496,7 @@ let
     pname = "AppConfig";
     version = "1.71";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/AppConfig-1.71.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/AppConfig-1.71.tar.gz";
       sha256 = "03vvi3mk4833mx2c6dkm9zhvakf02mb2b7wz9pk9xc7c4mq04xqi";
     };
     meta = {
@@ -509,7 +509,7 @@ let
      pname = "App-FatPacker";
      version = "0.010008";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MS/MSTROUT/App-FatPacker-0.010008.tar.gz;
+       url = "mirror://cpan/authors/id/M/MS/MSTROUT/App-FatPacker-0.010008.tar.gz";
        sha256 = "1kzcbpsf1p7ww45d9fl2w0nfn5jj5pz0r0c649c1lrj5r1nv778j";
      };
      meta = {
@@ -522,11 +522,11 @@ let
     pname = "App-cpanminus";
     version = "1.7044";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/App-cpanminus-1.7044.tar.gz";
       sha256 = "9b60767fe40752ef7a9d3f13f19060a63389a5c23acc3e9827e19b75500f81f3";
     };
     meta = {
-      homepage = https://github.com/miyagawa/cpanminus;
+      homepage = "https://github.com/miyagawa/cpanminus";
       description = "Get, unpack, build and install modules from CPAN";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -551,7 +551,7 @@ let
     pname = "App-perlbrew";
     version = "0.88";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.88.tar.gz;
+      url = "mirror://cpan/authors/id/G/GU/GUGOD/App-perlbrew-0.88.tar.gz";
       sha256 = "08aj77i7bh4nhilz16axp4zfv0zg66za2c4i0rcwfg3qxgxbcrzs";
     };
     buildInputs = [ pkgs.curl FileWhich IOAll ModuleBuildTiny PathClass TestException TestNoWarnings TestOutput TestSpec TestTempDirTiny ];
@@ -569,7 +569,7 @@ let
      pname = "Archive-Any-Lite";
      version = "0.11";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Archive-Any-Lite-0.11.tar.gz;
+       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Archive-Any-Lite-0.11.tar.gz";
        sha256 = "0w2i50fd81ip674zmnrb15nadw162fdpiw4rampbd94k74jqih8m";
      };
      propagatedBuildInputs = [ ArchiveZip ];
@@ -584,14 +584,14 @@ let
     version = "1.0.0";
     pname = "App-Sqitch";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v1.0.0.tar.gz;
+      url = "mirror://cpan/authors/id/D/DW/DWHEELER/App-Sqitch-v1.0.0.tar.gz";
       sha256 = "f46466c1e9ad8bbabf6844fed4f6e534ea475731de61b775ad7c331db1ca9c5c";
     };
     buildInputs = [ CaptureTiny TestDeep TestDir TestException TestFile TestFileContents TestMockModule TestNoWarnings TestWarn ];
     propagatedBuildInputs = [ Clone ConfigGitLike DBI DateTime EncodeLocale HashMerge IOPager IPCRun3 IPCSystemSimple ListMoreUtils PathClass PerlIOutf8_strict StringFormatter StringShellQuote TemplateTiny Throwable TypeTiny URIdb libintl_perl ];
     doCheck = false;  # Can't find home directory.
     meta = {
-      homepage = https://sqitch.org/;
+      homepage = "https://sqitch.org/";
       description = "Sane database change management";
       license = stdenv.lib.licenses.mit;
     };
@@ -601,7 +601,7 @@ let
     pname = "App-St";
     version = "1.1.4";
     src = fetchurl {
-      url = https://github.com/nferraz/st/archive/v1.1.4.tar.gz;
+      url = "https://github.com/nferraz/st/archive/v1.1.4.tar.gz";
       sha256 = "1f4bqm4jiazcxgzzja1i48671za96621k0s3ln87cdacgvv1can0";
     };
     postInstall =
@@ -611,7 +611,7 @@ let
     meta = {
       description = "A command that computes simple statistics";
       license = stdenv.lib.licenses.mit;
-      homepage = https://github.com/nferraz/st;
+      homepage = "https://github.com/nferraz/st";
       maintainers = [ maintainers.eelco ];
     };
   };
@@ -620,7 +620,7 @@ let
     pname = "Attribute-Params-Validate";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Attribute-Params-Validate-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Attribute-Params-Validate-1.21.tar.gz";
       sha256 = "586b939ceffdb37188b7c461dd1a8f9f35695184c8703b05c35f6d508c8090f5";
     };
     buildInputs = [ TestFatal ];
@@ -636,7 +636,7 @@ let
     pname = "Array-Compare";
     version = "3.0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.3.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Array-Compare-v3.0.3.tar.gz";
       sha256 = "13hn913cj7vswh5yy7gxpmhzrwmwknkc73qn7bhw0x7gx757rav2";
     };
 
@@ -648,7 +648,7 @@ let
      pname = "Array-Diff";
      version = "0.09";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Array-Diff-0.09.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Array-Diff-0.09.tar.gz";
        sha256 = "0xsh8k312spzl90xds075qprcaz4r0b93g1bgi9l3rv1k0p3j1l0";
      };
      propagatedBuildInputs = [ AlgorithmDiff ClassAccessor ];
@@ -662,13 +662,13 @@ let
     pname = "Array-FIFO";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DB/DBURKE/Array-FIFO-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/D/DB/DBURKE/Array-FIFO-0.13.tar.gz";
       sha256 = "be2aeb5f5a9af1a96f0033508a569ca93ad19ad15dc7c6b998e6d7bc740c66f7";
     };
     buildInputs = [ TestDeep TestSpec TestTrap ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
-      homepage = https://github.com/dwburke/perl-Array-FIFO;
+      homepage = "https://github.com/dwburke/perl-Array-FIFO";
       description = "A Simple limitable FIFO array, with sum and average methods";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -678,7 +678,7 @@ let
     pname = "AsyncPing";
     version = "2016.1207";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XI/XINFWANG/AsyncPing-2016.1207.tar.gz;
+      url = "mirror://cpan/authors/id/X/XI/XINFWANG/AsyncPing-2016.1207.tar.gz";
       sha256 = "0nn9k79gihzr9wfksi03jmdgc2ihsb4952ddz1v70xvsq7z9mgkg";
     };
     meta = {
@@ -691,7 +691,7 @@ let
     pname = "Archive-Cpio";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/P/PI/PIXEL/Archive-Cpio-0.10.tar.gz";
       sha256 = "246fb31669764e78336b2191134122e07c44f2d82dc4f37d552ab28f8668bed3";
     };
     meta = {
@@ -705,7 +705,7 @@ let
     pname = "Archive-Extract";
     version = "0.86";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.86.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Extract-0.86.tar.gz";
       sha256 = "9acd09cdb8e8cf0b6d08210a3b80342300c89a359855319bf6b00c14c4aab687";
     };
     meta = {
@@ -718,7 +718,7 @@ let
     pname = "Archive-Tar";
     version = "2.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Archive-Tar-2.32.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Archive-Tar-2.32.tar.gz";
       sha256 = "92783780731ab0c9247adf43e70f4801e8317e3915ea87e38b85c8f734e8fca2";
     };
     meta = {
@@ -731,7 +731,7 @@ let
      pname = "Archive-Tar-Wrapper";
      version = "0.37";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.37.tar.gz;
+       url = "mirror://cpan/authors/id/A/AR/ARFREITAS/Archive-Tar-Wrapper-0.37.tar.gz";
        sha256 = "0b1hi3zfnq487kfg514kr595j9w8x6wxddy3zlpqcxgiv90zlv3y";
      };
      propagatedBuildInputs = [ FileWhich IPCRun LogLog4perl ];
@@ -744,7 +744,7 @@ let
     pname = "Archive-Zip";
     version = "1.67";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.67.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHRED/Archive-Zip-1.67.tar.gz";
       sha256 = "0x17b7s5c3bqy9gx7psdqxbzkilylnwwd3c3i68vynbn9hs788my";
     };
     buildInputs = [ TestMockModule ];
@@ -758,7 +758,7 @@ let
     pname = "Audio-Scan";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AG/AGRUNDMA/Audio-Scan-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/Audio-Scan-1.01.tar.gz";
       sha256 = "0jk3djnk6yf0jsjh8qk3mj8bkx4avp6i4czcpr5xrbf7f41744l3";
     };
     buildInputs = [ pkgs.zlib TestWarn ];
@@ -774,7 +774,7 @@ let
     pname = "Authen-DecHpwd";
     version = "2.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-DecHpwd-2.007.tar.gz";
       sha256 = "f43a93bb02b41f7327d92f9e963b69505f67350a52e8f50796f98afc4fb3f177";
     };
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
@@ -789,7 +789,7 @@ let
     pname = "Authen-Htpasswd";
     version = "0.171";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Authen-Htpasswd-0.171.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSTROUT/Authen-Htpasswd-0.171.tar.gz";
       sha256 = "0rw06hwpxg388d26l0jvirczx304f768ijvc20l4b2ll7xzg9ymm";
     };
     propagatedBuildInputs = [ ClassAccessor CryptPasswdMD5 DigestSHA1 IOLockedFile ];
@@ -803,7 +803,7 @@ let
     pname = "Authen-ModAuthPubTkt";
     version = "0.1.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AG/AGORDON/Authen-ModAuthPubTkt-0.1.1.tar.gz;
+      url = "mirror://cpan/authors/id/A/AG/AGORDON/Authen-ModAuthPubTkt-0.1.1.tar.gz";
       sha256 = "7996e1a42c51216003ccf03c4b5250286b4c55684257971851f5ece9161dc7dd";
     };
     propagatedBuildInputs = [ pkgs.openssl IPCRun3 ];
@@ -839,7 +839,7 @@ let
     pname = "Authen-Passphrase";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Authen-Passphrase-0.008.tar.gz";
       sha256 = "55db4520617d859d88c0ee54965da815b7226d792b8cdc8debf92073559e0463";
     };
     propagatedBuildInputs = [ AuthenDecHpwd CryptDES CryptEksblowfish CryptMySQL CryptPasswdMD5 CryptUnixCryptXS DataEntropy DigestMD4 ModuleRuntime ];
@@ -853,7 +853,7 @@ let
     pname = "Authen-Radius";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PO/PORTAONE/Authen-Radius-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/P/PO/PORTAONE/Authen-Radius-0.31.tar.gz";
       sha256 = "bb5191484188ac7d6e281eb199d16c4e09fb0090af7c2187aa275c454c1fc012";
     };
     buildInputs = [ TestNoWarnings ];
@@ -868,7 +868,7 @@ let
     pname = "Authen-SASL";
     version = "2.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBARR/Authen-SASL-2.16.tar.gz;
+      url = "mirror://cpan/authors/id/G/GB/GBARR/Authen-SASL-2.16.tar.gz";
       sha256 = "02afhlrdq5hh5g8b32fa79fqq5i76qzwfqqvfi9zi57h31szl536";
     };
     propagatedBuildInputs = [ DigestHMAC ];
@@ -915,7 +915,7 @@ let
     pname = "Authen-Simple";
     version = "0.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-0.5.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-0.5.tar.gz";
       sha256 = "02cddab47f8bf1a1cbd4c9bf8d258f6d05111499c33f8315e7244812f72613aa";
     };
     propagatedBuildInputs = [ ClassAccessor ClassDataInheritable CryptPasswdMD5 ParamsValidate ];
@@ -929,7 +929,7 @@ let
      pname = "Authen-Simple-Passwd";
      version = "0.6";
      src = fetchurl {
-       url = mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-Passwd-0.6.tar.gz;
+       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Authen-Simple-Passwd-0.6.tar.gz";
        sha256 = "1ckl2ry9r5nb1rcn1ik2l5b5pp1i3g4bmllsmzb0zpwy4lvbqmfg";
      };
      propagatedBuildInputs = [ AuthenSimple ];
@@ -943,7 +943,7 @@ let
     pname = "autobox";
     version = "3.0.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-v3.0.1.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/autobox-v3.0.1.tar.gz";
       sha256 = "c303b7fccfaa1ff4d4c429ab3f15e5ca2a77554ef8c9fc3b8c62ba859e874c98";
     };
     propagatedBuildInputs = [ ScopeGuard ];
@@ -958,7 +958,7 @@ let
     pname = "Autodia";
     version = "2.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TE/TEEJAY/Autodia-2.14.tar.gz;
+      url = "mirror://cpan/authors/id/T/TE/TEEJAY/Autodia-2.14.tar.gz";
       sha256 = "08pl5y18nsvy8ihfzdsbd8rz6a8al09wqfna07zdjfdyib42b0dc";
     };
     propagatedBuildInputs = [ TemplateToolkit XMLSimple ];
@@ -978,7 +978,7 @@ let
         which includes C, C++, Java, Perl, Python, and more.
       '';
 
-      homepage = http://www.aarontrevena.co.uk/opensource/autodia/;
+      homepage = "http://www.aarontrevena.co.uk/opensource/autodia/";
       license = stdenv.lib.licenses.gpl2Plus;
     };
     buildInputs = [ DBI ];
@@ -988,7 +988,7 @@ let
     pname = "autovivification";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/V/VP/VPIT/autovivification-0.18.tar.gz";
       sha256 = "01giacr2sx6b9bgfz6aqw7ndcnf08j8n6kwhm7880a94hmb9g69d";
     };
     meta = {
@@ -1001,12 +1001,12 @@ let
     pname = "B-C";
     version = "1.57";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/B-C-1.57.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/B-C-1.57.tar.gz";
       sha256 = "1zs9a4gl63icja055kncgyny6xk1nsk6payfbzczkba3sc8sclh4";
     };
     propagatedBuildInputs = [ BFlags IPCRun Opcodes ];
     meta = {
-      homepage = https://github.com/rurban/perl-compiler;
+      homepage = "https://github.com/rurban/perl-compiler";
       description = "Perl compiler";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1017,7 +1017,7 @@ let
     pname = "B-COW";
     version = "0.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/B-COW-0.002.tar.gz;
+      url = "mirror://cpan/authors/id/A/AT/ATOOMIC/B-COW-0.002.tar.gz";
       sha256 = "0z2px2x15vr1y5rxsv7d80kh186ld7a45nbm4lsbs07g8y0p7rzw";
     };
     meta = {
@@ -1030,7 +1030,7 @@ let
     pname = "B-Flags";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/B-Flags-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Flags-0.17.tar.gz";
       sha256 = "1chhgkaw2h3qniz71dykynggqp0r6b6mi2f4nh4x3ghm2g89gny1";
     };
     meta = {
@@ -1043,7 +1043,7 @@ let
     version = "0.63";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.63.tar.gz;
+      url = "mirror://cpan/authors/id/P/PM/PMQS/BerkeleyDB-0.63.tar.gz";
       sha256 = "1lh2a75cy85hqxlridk862nwzhrp762h74vy27hcbfgb4a6r62by";
     };
 
@@ -1057,7 +1057,7 @@ let
     pname = "B-Hooks-EndOfScope";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-EndOfScope-0.24.tar.gz";
       sha256 = "1imcqxp23yc80a7p0h56sja9glbrh4qyhgzljqd4g9habpz3vah3";
     };
     propagatedBuildInputs = [ ModuleImplementation SubExporterProgressive ];
@@ -1071,7 +1071,7 @@ let
     pname = "B-Hooks-OP-Check";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/B-Hooks-OP-Check-0.22.tar.gz";
       sha256 = "1kfdv25gn6yik8jrwik4ajp99gi44s6idcvyyrzhiycyynzd3df7";
     };
     buildInputs = [ ExtUtilsDepends ];
@@ -1085,7 +1085,7 @@ let
     pname = "bignum";
     version = "0.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/bignum-0.51.tar.gz;
+      url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/bignum-0.51.tar.gz";
       sha256 = "8ac0f6efe0b6f24804690e53908bdc5346613667f1c0590d8cf808ec090e9c47";
     };
     meta = {
@@ -1099,7 +1099,7 @@ let
     pname = "Bit-Vector";
     version = "7.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz;
+      url = "mirror://cpan/authors/id/S/ST/STBEY/Bit-Vector-7.4.tar.gz";
       sha256 = "09m96p8c0ipgz42li2ywdgy0vxb57mb5nf59j9gw7yzc3xkslv9w";
     };
     propagatedBuildInputs = [ CarpClan ];
@@ -1109,7 +1109,7 @@ let
     pname = "B-Keywords";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/B-Keywords-1.21.tar.gz";
       sha256 = "12481z1z1nyrjlkizzqn4cdmcrfjkc3hvxppqipsf6r5gnffh9as";
     };
     meta = {
@@ -1122,11 +1122,11 @@ let
     pname = "boolean";
     version = "0.46";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/boolean-0.46.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/boolean-0.46.tar.gz";
       sha256 = "95c088085c3e83bf680fe6ce16d8264ec26310490f7d1680e416ea7a118f156a";
     };
     meta = {
-      homepage = https://github.com/ingydotnet/boolean-pm;
+      homepage = "https://github.com/ingydotnet/boolean-pm";
       description = "Boolean support for Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1136,7 +1136,7 @@ let
     pname = "Boost-Geometry-Utils";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AA/AAR/Boost-Geometry-Utils-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/A/AA/AAR/Boost-Geometry-Utils-0.15.tar.gz";
       sha256 = "1jnihz3029x51a455nxa0jx2z125x38q3vkkggsgdlrvawzxsm00";
     };
     patches = [
@@ -1151,7 +1151,7 @@ let
     pname = "BSD-Resource";
     version = "1.2911";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz;
+      url = "mirror://cpan/authors/id/J/JH/JHI/BSD-Resource-1.2911.tar.gz";
       sha256 = "0g8c7825ng2m0yz5sy6838rvfdl8j3vm29524wjgf66ccfhgn74x";
     };
     meta = {
@@ -1165,7 +1165,7 @@ let
      pname = "B-Utils";
      version = "0.27";
      src = fetchurl {
-       url = mirror://cpan/authors/id/E/ET/ETHER/B-Utils-0.27.tar.gz;
+       url = "mirror://cpan/authors/id/E/ET/ETHER/B-Utils-0.27.tar.gz";
        sha256 = "1spzhmk3z6c4blmra3kn84nq20fira2b3vjg86m0j085lgv56zzr";
      };
      propagatedBuildInputs = [ TaskWeaken ];
@@ -1180,7 +1180,7 @@ let
     pname = "Business-Hours";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/Business-Hours-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/Business-Hours-0.13.tar.gz";
       sha256 = "1hiybixagj3i1hsnfr134jgs9wv4azkwq6kijr9zlkxqzczzw1x8";
     };
     propagatedBuildInputs = [ SetIntSpan ];
@@ -1193,7 +1193,7 @@ let
     pname = "Business-ISBN";
     version = "3.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-3.005.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-3.005.tar.gz";
       sha256 = "0aifzqj3xvxi8x0103ddpb2bagfsz15c71k69vdpcqy582pgnc35";
     };
     propagatedBuildInputs = [ BusinessISBNData ];
@@ -1207,7 +1207,7 @@ let
     pname = "Business-ISBN-Data";
     version = "20191107";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20191107.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISBN-Data-20191107.tar.gz";
       sha256 = "03faqnxx7qxgr2dcdra2iq60ziilpkas2ra41cs8klwky5j4yk44";
     };
     meta = {
@@ -1220,7 +1220,7 @@ let
     pname = "Business-ISMN";
     version = "1.201";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.201.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISMN-1.201.tar.gz";
       sha256 = "1cpcfyaz1fl6fnm076jx2jsphw147wj6aszj2yzqrgsncjhk2cja";
     };
     propagatedBuildInputs = [ TieCycle ];
@@ -1234,7 +1234,7 @@ let
     pname = "Business-ISSN";
     version = "1.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-1.003.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Business-ISSN-1.003.tar.gz";
       sha256 = "1272456c19937a24bc5f9a0db9dc447043591137719ee4dc955a63be544b99d1";
     };
     meta = {
@@ -1262,7 +1262,7 @@ let
     pname = "Cache-Cache";
     version = "1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Cache-Cache-1.08.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Cache-Cache-1.08.tar.gz";
       sha256 = "1s6i670dc3yb6ngvdk48y6szdk5n1f4icdcjv2vi1l2xp9fzviyj";
     };
     propagatedBuildInputs = [ DigestSHA1 Error IPCShareLite ];
@@ -1273,7 +1273,7 @@ let
     pname = "Cache-FastMmap";
     version = "1.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROBM/Cache-FastMmap-1.48.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROBM/Cache-FastMmap-1.48.tar.gz";
       sha256 = "118y5lxwa092zrii7mcwnqypff7424w1dpgfkg8zlnz7h2mmnd9c";
     };
   };
@@ -1298,7 +1298,7 @@ let
     version = "1.30";
     src = fetchurl {
       url =
-      mirror://cpan/authors/id/D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz;
+      "mirror://cpan/authors/id/D/DO/DORMANDO/Cache-Memcached-1.30.tar.gz";
       sha256 = "1aa2mjn5767b13063nnsrwcikrnbspby7j1c5q007bzaq0gcbcri";
     };
     propagatedBuildInputs = [ StringCRC32 ];
@@ -1308,7 +1308,7 @@ let
     pname = "Cache-Memcached-Fast";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RAZ/Cache-Memcached-Fast-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RAZ/Cache-Memcached-Fast-0.25.tar.gz";
       sha256 = "0ijw5hlzas1aprp3s6wzabch426m1d8cvp1wn9qphrn4jj82aakq";
     };
     meta = {
@@ -1321,7 +1321,7 @@ let
     pname = "Cache";
     version = "2.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Cache-2.11.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Cache-2.11.tar.gz";
       sha256 = "14m513f4g02daklmnvdm7vqh3w3ick65wvmvqnmnc4cqfybdilp1";
     };
     propagatedBuildInputs = [ DBFile FileNFSLock HeapFibonacci IOString TimeDate ];
@@ -1332,7 +1332,7 @@ let
     pname = "Cache-Simple-TimedExpiry";
     version = "0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/Cache-Simple-TimedExpiry-0.27.tar.gz;
+      url = "mirror://cpan/authors/id/J/JE/JESSE/Cache-Simple-TimedExpiry-0.27.tar.gz";
       sha256 = "4e78b7e4dd231b5571a48cd0ee1b63953f5e34790c9d020e1595a7c7d0abbe49";
     };
     meta = {
@@ -1345,12 +1345,12 @@ let
     pname = "Cairo";
     version = "1.107";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.107.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-1.107.tar.gz";
       sha256 = "0sg1gf1f2pjq7pji0zsv4rbi3bzpsx82z98k7yqxafzrvlkf27ay";
     };
     buildInputs = [ pkgs.cairo ];
     meta = {
-      homepage = http://gtk2-perl.sourceforge.net/;
+      homepage = "http://gtk2-perl.sourceforge.net/";
       description = "Perl interface to the cairo 2D vector graphics library";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -1361,7 +1361,7 @@ let
     pname = "Cairo-GObject";
     version = "1.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Cairo-GObject-1.005.tar.gz";
       sha256 = "0l2wcz77ndmbgvxx34gdm919a3dxh9fixqr47p50n78ysx2692cd";
     };
     buildInputs = [ pkgs.cairo ];
@@ -1376,7 +1376,7 @@ let
     pname = "CAM-PDF";
     version = "1.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CD/CDOLAN/CAM-PDF-1.60.tar.gz;
+      url = "mirror://cpan/authors/id/C/CD/CDOLAN/CAM-PDF-1.60.tar.gz";
       sha256 = "12dv5ssf3y7yjz9mrrqnfzx8nf4ydk1qijf5fx59495671zzqsp7";
     };
     propagatedBuildInputs = [ CryptRC4 TextPDF ];
@@ -1386,7 +1386,7 @@ let
      pname = "capitalization";
      version = "0.03";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/capitalization-0.03.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/capitalization-0.03.tar.gz";
        sha256 = "0g7fpckydzxsf8mjkfbyj0pv42dzym4hwbizqahnh7wlfbaicdgi";
      };
      propagatedBuildInputs = [ DevelSymdump ];
@@ -1398,7 +1398,7 @@ let
     pname = "Canary-Stability";
     version = "2013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Canary-Stability-2013.tar.gz";
       sha256 = "a5c91c62cf95fcb868f60eab5c832908f6905221013fea2bce3ff57046d7b6ea";
     };
     meta = {
@@ -1410,7 +1410,7 @@ let
     pname = "Captcha-reCaptcha";
     version = "0.99";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz;
+      url = "mirror://cpan/authors/id/S/SU/SUNNYP/Captcha-reCaptcha-0.99.tar.gz";
       sha256 = "14j3lk6fhfzda5d3d7z6f373ng3fzxazzwpjyziysrhic1v3b4mq";
     };
     propagatedBuildInputs = [ HTMLTiny LWP ];
@@ -1420,7 +1420,7 @@ let
     pname = "Capture-Tiny";
     version = "0.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.48.tar.gz";
       sha256 = "069yrikrrb4vqzc3hrkkfj96apsh7q0hg8lhihq97lxshwz128vc";
     };
     meta = {
@@ -1433,7 +1433,7 @@ let
     pname = "Carp-Always";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/Carp-Always-0.16.tar.gz";
       sha256 = "1wb6b0qjga7kvn4p8df6k4g1pl2yzaqiln1713xidh3i454i3alq";
     };
     meta = {
@@ -1447,7 +1447,7 @@ let
     pname = "Carp-Assert";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Carp-Assert-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Carp-Assert-0.21.tar.gz";
       sha256 = "0km5fc6r6whxh6h5yd7g1j0bi96sgk0gkda6cardicrw9qmqwkwj";
     };
     meta = {
@@ -1458,7 +1458,7 @@ let
     pname = "Carp-Assert-More";
     version = "1.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.20.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/Carp-Assert-More-1.20.tar.gz";
       sha256 = "16jnhdjgfwymrc5fki4xlf1rlziszf9k6q0245g976124k708ac5";
     };
     propagatedBuildInputs = [ CarpAssert ];
@@ -1472,7 +1472,7 @@ let
     pname = "Carp-Clan";
     version = "6.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.08.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Carp-Clan-6.08.tar.gz";
       sha256 = "0237xx3rqa72sr4vdvws9r1m453h5f25bl85mdjmmk128kir4py7";
     };
     meta = {
@@ -1485,12 +1485,12 @@ let
     pname = "Carton";
     version = "1.0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Carton-v1.0.34.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Carton-v1.0.34.tar.gz";
       sha256 = "77d42b92732bcfc18a59d341e56ce476205b1c4d380eab3a07224f5745c23e45";
     };
     propagatedBuildInputs = [ MenloLegacy PathTiny TryTiny ];
     meta = {
-      homepage = https://github.com/perl-carton/carton;
+      homepage = "https://github.com/perl-carton/carton";
       description = "Perl module dependency manager (aka Bundler for Perl)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1500,7 +1500,7 @@ let
     pname = "Catalyst-Action-RenderView";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Action-RenderView-0.16.tar.gz";
       sha256 = "8565203950a057d43ecd64e9593715d565c2fbd8b02c91f43c53b2111acd3948";
     };
     propagatedBuildInputs = [ CatalystRuntime DataVisitor ];
@@ -1515,7 +1515,7 @@ let
     pname = "Catalyst-Action-REST";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Action-REST-1.21.tar.gz";
       sha256 = "ccf81bba5200d3a0ad6901f923af173a3d4416618aea08a6938baaffdef4cb20";
     };
     buildInputs = [ TestRequires ];
@@ -1530,7 +1530,7 @@ let
     pname = "Catalyst-Authentication-Credential-HTTP";
     version = "1.018";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Credential-HTTP-1.018.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Credential-HTTP-1.018.tar.gz";
       sha256 = "0ad5clfiyllnf37an99n139cxhhxf5g5rh8cxashsjv4xrnq38bg";
     };
     buildInputs = [ ModuleBuildTiny TestException TestMockObject TestNeeds ];
@@ -1545,7 +1545,7 @@ let
     pname = "Catalyst-Authentication-Store-Htpasswd";
     version = "1.006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Store-Htpasswd-1.006.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-Authentication-Store-Htpasswd-1.006.tar.gz";
       sha256 = "0kw0w2g1qmym896bgnqr1bfhvgb6xja39mv10701ipp8fmi8bzf7";
     };
     buildInputs = [ ModuleBuildTiny TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
@@ -1556,7 +1556,7 @@ let
     pname = "Catalyst-Authentication-Store-DBIx-Class";
     version = "0.1506";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Authentication-Store-DBIx-Class-0.1506.tar.gz";
       sha256 = "0i5ja7690fs9nhxcij6lw51j804sm8s06m5mvk1n8pi8jljrymvw";
     };
     propagatedBuildInputs = [ CatalystModelDBICSchema CatalystPluginAuthentication ];
@@ -1571,7 +1571,7 @@ let
     pname = "Catalyst-Component-InstancePerContext";
     version = "0.001001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRODITI/Catalyst-Component-InstancePerContext-0.001001.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRODITI/Catalyst-Component-InstancePerContext-0.001001.tar.gz";
       sha256 = "7f63f930e1e613f15955c9e6d73873675c50c0a3bc2a61a034733361ed26d271";
     };
     propagatedBuildInputs = [ CatalystRuntime ];
@@ -1585,7 +1585,7 @@ let
     pname = "Catalyst-Controller-HTML-FormFu";
     version = "2.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NIGELM/Catalyst-Controller-HTML-FormFu-2.04.tar.gz;
+      url = "mirror://cpan/authors/id/N/NI/NIGELM/Catalyst-Controller-HTML-FormFu-2.04.tar.gz";
       sha256 = "f13fb9b3b3b00b35f06abc31614461c8d7346fbe07fb569c71e8d586e5eb5ddc";
     };
     buildInputs = [ CatalystActionRenderView CatalystPluginSession CatalystPluginSessionStateCookie CatalystPluginSessionStoreFile CatalystViewTT CodeTidyAllPluginPerlAlignMooseAttributes PodCoverageTrustPod PodTidy TemplateToolkit TestCPANMeta TestDifferences TestEOL TestKwalitee TestLongString TestMemoryCycle TestNoTabs TestPAUSEPermissions TestPod TestPodCoverage TestWWWMechanize TestWWWMechanizeCatalyst ];
@@ -1601,7 +1601,7 @@ let
     pname = "Catalyst-Controller-POD";
     version = "1.0.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERLER/Catalyst-Controller-POD-1.0.0.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERLER/Catalyst-Controller-POD-1.0.0.tar.gz";
       sha256 = "ee2a4bb3ed78baa1464335408f284345b6ba0ef6576ad7bfbd7b656c788a39f9";
     };
     buildInputs = [ ModuleInstall TestLongString TestWWWMechanize TestWWWMechanizeCatalyst ];
@@ -1616,13 +1616,13 @@ let
     pname = "Catalyst-Devel";
     version = "1.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Devel-1.39.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Devel-1.39.tar.gz";
       sha256 = "bce371ba801c7d79eff3257e0af907cf62f140de968f0d63bf55be37d702a58a";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ CatalystActionRenderView CatalystPluginConfigLoader CatalystPluginStaticSimple ConfigGeneral FileChangeNotify FileCopyRecursive ModuleInstall TemplateToolkit ];
     meta = {
-      homepage = http://wiki.catalystframework.org/wiki/;
+      homepage = "http://wiki.catalystframework.org/wiki/";
       description = "Catalyst Development Tools";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1632,7 +1632,7 @@ let
     pname = "Catalyst-DispatchType-Regex";
     version = "5.90035";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90035.tar.gz;
+      url = "mirror://cpan/authors/id/M/MG/MGRIMES/Catalyst-DispatchType-Regex-5.90035.tar.gz";
       sha256 = "06jq1lmpq88rmp9zik5gqczg234xac0hiyc3l698iif7zsgcyb80";
     };
     propagatedBuildInputs = [ CatalystRuntime ];
@@ -1646,7 +1646,7 @@ let
     pname = "Catalyst-Manual";
     version = "5.9010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Manual-5.9010.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-Manual-5.9010.tar.gz";
       sha256 = "1xg2m6d76xl0a76vq0v4yv25458d6df00k5xq1ab2z8mzvwbm4ah";
     };
     meta = {
@@ -1659,7 +1659,7 @@ let
     pname = "Catalyst-Model-DBIC-Schema";
     version = "0.65";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBJK/Catalyst-Model-DBIC-Schema-0.65.tar.gz;
+      url = "mirror://cpan/authors/id/G/GB/GBJK/Catalyst-Model-DBIC-Schema-0.65.tar.gz";
       sha256 = "26a911ef5ef7ffc81b6ce65c3156f71fb35083c456ad27e6d82d2dc02493eeea";
     };
     buildInputs = [ DBDSQLite TestException TestRequires ];
@@ -1674,13 +1674,13 @@ let
     pname = "Catalyst-Runtime";
     version = "5.90126";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90126.tar.gz;
+      url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Runtime-5.90126.tar.gz";
       sha256 = "66f08334bf8b70049e77c0dcafd741c568e6f1341b2ffbb531a93833638d3986";
     };
     buildInputs = [ TestFatal TypeTiny ];
     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 ];
     meta = {
-      homepage = http://wiki.catalystframework.org/wiki/;
+      homepage = "http://wiki.catalystframework.org/wiki/";
       description = "The Catalyst Framework Runtime";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1690,7 +1690,7 @@ let
     pname = "Catalyst-Plugin-AccessLog";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/A/AR/ARODLAND/Catalyst-Plugin-AccessLog-1.10.tar.gz";
       sha256 = "873db8e4e72a994e3e17aeb53d2b837e6d524b4b8b0f3539f262135c88cc2120";
     };
     propagatedBuildInputs = [ CatalystRuntime DateTime ];
@@ -1704,7 +1704,7 @@ let
     pname = "Catalyst-Plugin-Authentication";
     version = "0.10023";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10023.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authentication-0.10023.tar.gz";
       sha256 = "0v6hb4r1wv3djrnqvnjcn3xx1scgqzx8nyjdg9lfc1ybvamrl0rn";
     };
     buildInputs = [ TestException ];
@@ -1719,7 +1719,7 @@ let
     pname = "Catalyst-Plugin-Authorization-ACL";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-Authorization-ACL-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-Authorization-ACL-0.16.tar.gz";
       sha256 = "0z4328rr6l9xi45hyv6q9pwwamp0864q6skcp29jrz9f919ycdra";
     };
     propagatedBuildInputs = [ CatalystRuntime ClassThrowable ];
@@ -1730,7 +1730,7 @@ let
     pname = "Catalyst-Plugin-Authorization-Roles";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Authorization-Roles-0.09.tar.gz";
       sha256 = "0l83lkwmq0lngwh8b1rv3r719pn8w1gdbyhjqm74rnd0wbjl8h7f";
     };
     buildInputs = [ TestException ];
@@ -1745,7 +1745,7 @@ let
     pname = "Catalyst-Plugin-Cache";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Cache-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Cache-0.12.tar.gz";
       sha256 = "1q23aipvrl888h06ldr4mmjbykz0j4rqwipxg1jv094kki2fspr9";
     };
     buildInputs = [ ClassAccessor TestDeep TestException ];
@@ -1760,7 +1760,7 @@ let
     pname = "Catalyst-Plugin-Cache-HTTP";
     version = "0.001000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRAF/Catalyst-Plugin-Cache-HTTP-0.001000.tar.gz";
       sha256 = "0v5iphbq4csc4r6wkvxnqlh97p8g0yhjky9qqmsdyqczn87agbba";
     };
     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst ];
@@ -1775,7 +1775,7 @@ let
     pname = "Catalyst-Plugin-Captcha";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DI/DIEGOK/Catalyst-Plugin-Captcha-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/D/DI/DIEGOK/Catalyst-Plugin-Captcha-0.04.tar.gz";
       sha256 = "0llyj3v5nx9cx46jdbbvxf1lc9s9cxq5ml22xmx3wkb201r5qgaa";
     };
     propagatedBuildInputs = [ CatalystPluginSession GDSecurityImage ];
@@ -1788,7 +1788,7 @@ let
     pname = "Catalyst-Plugin-ConfigLoader";
     version = "0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-ConfigLoader-0.34.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-ConfigLoader-0.34.tar.gz";
       sha256 = "19j7p4v7mbx6wrmpvmrnd974apx7hdl2s095ga3b9zcbdrl77h5q";
     };
     propagatedBuildInputs = [ CatalystRuntime ConfigAny DataVisitor ];
@@ -1798,7 +1798,7 @@ let
     pname = "Catalyst-Plugin-FormValidator";
     version = "0.094";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-0.094.tar.gz;
+      url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-0.094.tar.gz";
       sha256 = "5834f11bf5c9f4b5d336d65c7ce6639b76ce7bfe7a2875eb048d7ea1c82ce05a";
     };
     propagatedBuildInputs = [ CatalystRuntime DataFormValidator ];
@@ -1812,7 +1812,7 @@ let
     pname = "Catalyst-Plugin-FormValidator-Simple";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-Simple-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/D/DH/DHOSS/Catalyst-Plugin-FormValidator-Simple-0.15.tar.gz";
       sha256 = "486c6a0e8f410fd017279f4804ab9e35ba46321d33a0a9721fe1e08a391de7a0";
     };
     propagatedBuildInputs = [ CatalystPluginFormValidator FormValidatorSimple ];
@@ -1825,7 +1825,7 @@ let
     pname = "Catalyst-Plugin-Log-Handler";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEPE/Catalyst-Plugin-Log-Handler-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEPE/Catalyst-Plugin-Log-Handler-0.08.tar.gz";
       sha256 = "0db3c3a57b4ee3d789ba5129890e2858913fef00d8185bdc9c5d7fde31e043ef";
     };
     propagatedBuildInputs = [ ClassAccessor LogHandler MROCompat ];
@@ -1839,7 +1839,7 @@ let
     pname = "Catalyst-Plugin-Session";
     version = "0.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Plugin-Session-0.41.tar.gz;
+      url = "mirror://cpan/authors/id/J/JJ/JJNAPIORK/Catalyst-Plugin-Session-0.41.tar.gz";
       sha256 = "0a451997zc2vjx7rvndgx1ldbrpic8sfbddyvncynh0zr8bhlqc5";
     };
     buildInputs = [ TestDeep TestException TestWWWMechanizePSGI ];
@@ -1854,7 +1854,7 @@ let
     pname = "Catalyst-Plugin-Session-DynamicExpiry";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-DynamicExpiry-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-DynamicExpiry-0.04.tar.gz";
       sha256 = "7707c56734cdb1512f733dc400fadf6f4c53cb217b58207857824dad6780a079";
     };
     propagatedBuildInputs = [ CatalystPluginSession ];
@@ -1868,7 +1868,7 @@ let
     pname = "Catalyst-Plugin-Session-State-Cookie";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-Session-State-Cookie-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSTROUT/Catalyst-Plugin-Session-State-Cookie-0.17.tar.gz";
       sha256 = "1rvxbfnpf9x2pc2zgpazlcgdlr2dijmxgmcs0m5nazs0w6xikssb";
     };
     propagatedBuildInputs = [ CatalystPluginSession ];
@@ -1878,7 +1878,7 @@ let
     pname = "Catalyst-Plugin-Session-Store-FastMmap";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-FastMmap-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-Session-Store-FastMmap-0.16.tar.gz";
       sha256 = "0x3j6zv3wr41jlwr6yb2jpmcx019ibyn11y8653ffnwhpzbpzsxs";
     };
     propagatedBuildInputs = [ CacheFastMmap CatalystPluginSession ];
@@ -1888,7 +1888,7 @@ let
     pname = "Catalyst-Plugin-Session-Store-File";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Catalyst-Plugin-Session-Store-File-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/Catalyst-Plugin-Session-Store-File-0.18.tar.gz";
       sha256 = "54738e3ce76f8be8b66947092d28973c73d79d1ee19b5d92b057552f8ff09b4f";
     };
     propagatedBuildInputs = [ CacheCache CatalystPluginSession ClassDataInheritable ];
@@ -1902,7 +1902,7 @@ let
     pname = "Catalyst-Plugin-SmartURI";
     version = "0.041";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-SmartURI-0.041.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/Catalyst-Plugin-SmartURI-0.041.tar.gz";
       sha256 = "0msz3w2vfdb5w4ixi5llq66xlhm0181gjz9xj8yj0lalk232326b";
     };
     propagatedBuildInputs = [ CatalystRuntime ClassC3Componentised ];
@@ -1917,7 +1917,7 @@ let
     pname = "Catalyst-Plugin-StackTrace";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-Plugin-StackTrace-0.12.tar.gz";
       sha256 = "1b2ksz74cpigxqzf63rddar3vfmnbpwpdcbs11v0ml89pb8ar79j";
     };
     propagatedBuildInputs = [ CatalystRuntime ];
@@ -1931,7 +1931,7 @@ let
     pname = "Catalyst-Plugin-Static-Simple";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/Catalyst-Plugin-Static-Simple-0.36.tar.gz";
       sha256 = "0m4l627p2fvzr4i6sgdxhdvsx4wpa6qmaibsbxlg5x5yjs7k7drn";
     };
     patches = [ ../development/perl-modules/catalyst-plugin-static-simple-etag.patch ];
@@ -1946,7 +1946,7 @@ let
     pname = "Catalyst-Plugin-StatusMessage";
     version = "1.002000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Plugin-StatusMessage-1.002000.tar.gz;
+      url = "mirror://cpan/authors/id/H/HK/HKCLARK/Catalyst-Plugin-StatusMessage-1.002000.tar.gz";
       sha256 = "649c894ab16f9f48ada8f9cc599a7ecbb8891ab3761ff6fd510520c6de407c1f";
     };
     propagatedBuildInputs = [ CatalystRuntime strictures ];
@@ -1960,7 +1960,7 @@ let
     pname = "Catalyst-View-CSV";
     version = "1.7";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MC/MCB/Catalyst-View-CSV-1.7.tar.gz;
+      url = "mirror://cpan/authors/id/M/MC/MCB/Catalyst-View-CSV-1.7.tar.gz";
       sha256 = "e41326b6099891f244b432921ed10096ac619f32b8c4f8b41633313bd54662db";
     };
     buildInputs = [ CatalystActionRenderView CatalystModelDBICSchema CatalystPluginConfigLoader CatalystXComponentTraits ConfigGeneral DBDSQLite DBIxClass TestException ];
@@ -1975,7 +1975,7 @@ let
     pname = "Catalyst-View-Download";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAUDEON/Catalyst-View-Download-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAUDEON/Catalyst-View-Download-0.09.tar.gz";
       sha256 = "1qgq6y9iwfbhbkbgpw9czang2ami6z8jk1zlagrzdisy4igqzkvs";
     };
     buildInputs = [ CatalystRuntime TestLongString TestSimple13 TestWWWMechanize TestWWWMechanizeCatalyst TextCSV XMLSimple ];
@@ -1988,7 +1988,7 @@ let
     pname = "Catalyst-View-JSON";
     version = "0.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Catalyst-View-JSON-0.37.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Catalyst-View-JSON-0.37.tar.gz";
       sha256 = "1v4xkzazs743sc7cd1kxkbi99cf00a4dadyyancckcbpi9p3znn5";
     };
     propagatedBuildInputs = [ CatalystRuntime ];
@@ -2002,7 +2002,7 @@ let
     pname = "Catalyst-View-TT";
     version = "0.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Catalyst-View-TT-0.44.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Catalyst-View-TT-0.44.tar.gz";
       sha256 = "06d1zg4nbb6kcyjbnyxrkf8z4zlscxr8650d94f7187jygfl8rvh";
     };
     propagatedBuildInputs = [ CatalystRuntime ClassAccessor TemplateTimer ];
@@ -2016,7 +2016,7 @@ let
     pname = "CatalystX-Component-Traits";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/CatalystX-Component-Traits-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/CatalystX-Component-Traits-0.19.tar.gz";
       sha256 = "0iq4ci8m6g2c4g01fvdl568y7pjz28f3widk986v3pyhr7ll8j88";
     };
     propagatedBuildInputs = [ CatalystRuntime MooseXTraitsPluggable ];
@@ -2026,7 +2026,7 @@ let
     pname = "CatalystX-RoleApplicator";
     version = "0.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HD/HDP/CatalystX-RoleApplicator-0.005.tar.gz;
+      url = "mirror://cpan/authors/id/H/HD/HDP/CatalystX-RoleApplicator-0.005.tar.gz";
       sha256 = "0vwaapxn8g5hs2xp63c4dwv9jmapmji4272fakssvgc9frklg3p2";
     };
     propagatedBuildInputs = [ CatalystRuntime MooseXRelatedClassRoles ];
@@ -2036,7 +2036,7 @@ let
     pname = "Catalyst-TraitFor-Request-ProxyBase";
     version = "0.000005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-TraitFor-Request-ProxyBase-0.000005.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Catalyst-TraitFor-Request-ProxyBase-0.000005.tar.gz";
       sha256 = "a7bf0faa7e12ca5df625d9f5fc710f11bfd16ba5385837e48d42b3d286c9710a";
     };
     buildInputs = [ CatalystRuntime CatalystXRoleApplicator HTTPMessage ];
@@ -2051,7 +2051,7 @@ let
     pname = "CatalystX-Script-Server-Starman";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABRAXXA/CatalystX-Script-Server-Starman-0.03.tar.gz";
       sha256 = "08jvibq4v8xjj0c3cr93h0w8w0c88ajwjn37xjy7ygxl9krlffp6";
     };
     patches = [
@@ -2070,7 +2070,7 @@ let
     pname = "CDB_File";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/CDB_File-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/CDB_File-1.02.tar.gz";
       sha256 = "a0ae46916a190dd746be9fb11cda51cfb27dfec0f21e15e1ec2773dadc50c05f";
     };
     meta = {
@@ -2085,7 +2085,7 @@ let
     pname = "Catmandu";
     version = "1.2011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NICS/Catmandu-1.2011.tar.gz;
+      url = "mirror://cpan/authors/id/N/NI/NICS/Catmandu-1.2011.tar.gz";
       sha256 = "0awl5qhciphnr1ihq66ssd2hzxvh1ddbr016sxb0qhxbzqv77sb9";
     };
     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 ];
@@ -2101,7 +2101,7 @@ let
     pname = "CDDB_get";
     version = "2.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-2.28.tar.gz;
+      url = "mirror://cpan/authors/id/F/FO/FONKIE/CDDB_get-2.28.tar.gz";
       sha256 = "1jfrwvfasylcafbvb0jjm94ad4v6k99a7rf5i4qwzhg4m0gvmk5x";
     };
     meta = {
@@ -2115,7 +2115,7 @@ let
     pname = "CGI";
     version = "4.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/CGI-4.45.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-4.45.tar.gz";
       sha256 = "f6c1513740ee502e947d30131da18a5595dbcd19962d3dd0ff5dedf3cd1ed407";
     };
     buildInputs = [ TestDeep TestNoWarnings TestWarn ];
@@ -2130,7 +2130,7 @@ let
      pname = "CGI-Compile";
      version = "0.24";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RK/RKITOVER/CGI-Compile-0.24.tar.gz;
+       url = "mirror://cpan/authors/id/R/RK/RKITOVER/CGI-Compile-0.24.tar.gz";
        sha256 = "1zyz35hmflgm9jibi0mkni7n13lg5wwfvkavpzqgyza6kgzp515j";
      };
      propagatedBuildInputs = [ Filepushd SubName ];
@@ -2146,7 +2146,7 @@ let
     pname = "CGI-Cookie-XS";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AG/AGENT/CGI-Cookie-XS-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/A/AG/AGENT/CGI-Cookie-XS-0.18.tar.gz";
       sha256 = "1iixvnm0l1q24vdlnayb4vd8fns2bdlhm6zb7fpi884ppm5cp6a6";
     };
   };
@@ -2155,13 +2155,13 @@ let
     pname = "CGI-Emulate-PSGI";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/CGI-Emulate-PSGI-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/CGI-Emulate-PSGI-0.23.tar.gz";
       sha256 = "dd5b6c353f08fba100dae09904284f7f73f8328d31f6a67b2c136fad728d158b";
     };
     buildInputs = [ TestRequires ];
     propagatedBuildInputs = [ CGI HTTPMessage ];
     meta = {
-      homepage = https://github.com/tokuhirom/p5-cgi-emulate-psgi;
+      homepage = "https://github.com/tokuhirom/p5-cgi-emulate-psgi";
       description = "PSGI adapter for CGI";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -2171,7 +2171,7 @@ let
     pname = "CGI-Expand";
     version = "2.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOWMANBS/CGI-Expand-2.05.tar.gz";
       sha256 = "1ad48nd067j5irjampxpw3zvzpg8wpnpan6szkdc5h64wccd30kf";
     };
     meta = {
@@ -2184,7 +2184,7 @@ let
     pname = "CGI-Fast";
     version = "2.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.15.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEEJO/CGI-Fast-2.15.tar.gz";
       sha256 = "e5342df3dc593edfb724c7afe850b1a0ee753f4d733f5193e037b04633dfeece";
     };
     propagatedBuildInputs = [ CGI FCGI ];
@@ -2198,7 +2198,7 @@ let
     pname = "CGI-FormBuilder";
     version = "3.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BIGPRESH/CGI-FormBuilder-3.10.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BIGPRESH/CGI-FormBuilder-3.10.tar.gz";
       sha256 = "163ixq9kninqq094z2rnkg9pv3bcmvjphlww4vksfrzhq3h9pjdf";
     };
 
@@ -2209,7 +2209,7 @@ let
     pname = "CGI-Minimal";
     version = "1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SN/SNOWHARE/CGI-Minimal-1.29.tar.gz;
+      url = "mirror://cpan/authors/id/S/SN/SNOWHARE/CGI-Minimal-1.29.tar.gz";
       sha256 = "36c785ffacf5cdee4f1a7219ca1848b7e1700bdd71cd9116e1f00545ec88475d";
     };
     meta = {
@@ -2222,7 +2222,7 @@ let
     pname = "CGI-PSGI";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/CGI-PSGI-0.15.tar.gz";
       sha256 = "c50dcb10bf8486a9843baed032ad89d879ff2f41c993342dead62f947a598d91";
     };
     propagatedBuildInputs = [ CGI ];
@@ -2236,7 +2236,7 @@ let
     pname = "CGI-Session";
     version = "4.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKSTOS/CGI-Session-4.48.tar.gz";
       sha256 = "1xsl2pz1jrh127pq0b01yffnj4mnp9nvkp88h5mndrscq9hn8xa6";
     };
     propagatedBuildInputs = [ CGI ];
@@ -2246,7 +2246,7 @@ let
     pname = "CGI-Simple";
     version = "1.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.22.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MANWAR/CGI-Simple-1.22.tar.gz";
       sha256 = "13c7iwnnavky10ab87pi8jc1kqph03s0rhvj7myn7szhbfisc4gn";
     };
     propagatedBuildInputs = [ IOStringy ];
@@ -2261,7 +2261,7 @@ let
     pname = "CGI-Struct";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FU/FULLERMD/CGI-Struct-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/F/FU/FULLERMD/CGI-Struct-1.21.tar.gz";
       sha256 = "d13d8da7fdcd6d906054e4760fc28a718aec91bd3cf067a58927fb7cb1c09d6c";
     };
     buildInputs = [ TestDeep ];
@@ -2275,7 +2275,7 @@ let
     pname = "CHI";
     version = "0.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JS/JSWARTZ/CHI-0.60.tar.gz;
+      url = "mirror://cpan/authors/id/J/JS/JSWARTZ/CHI-0.60.tar.gz";
       sha256 = "c7f1a2b3570a8fede484e933f89ba1729e0abd05935791d146c522dd120ee851";
     };
     preConfigure = ''
@@ -2294,7 +2294,7 @@ let
     pname = "Chart";
     version = "2.4.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHARTGRP/Chart-2.4.10.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHARTGRP/Chart-2.4.10.tar.gz";
       sha256 = "84bd99a1a0ce72477b15e35881e6120398bb3f553aeeb5e8d72b088520e4f6bf";
     };
     propagatedBuildInputs = [ GD ];
@@ -2323,7 +2323,7 @@ let
     pname = "Class-Accessor";
     version = "0.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KASEI/Class-Accessor-0.51.tar.gz";
       sha256 = "07215zzr4ydf49832vn54i3gf2q5b97lydkv8j56wb2svvjs64mz";
     };
     meta = {
@@ -2335,7 +2335,7 @@ let
     pname = "Class-Accessor-Chained";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Class-Accessor-Chained-0.01.tar.gz";
       sha256 = "1lilrjy1s0q5hyr0888kf0ifxjyl2iyk4vxil4jsv0sgh39lkgx5";
     };
     propagatedBuildInputs = [ ClassAccessor ];
@@ -2345,7 +2345,7 @@ let
     pname = "Class-Accessor-Grouped";
     version = "0.10014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Class-Accessor-Grouped-0.10014.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Class-Accessor-Grouped-0.10014.tar.gz";
       sha256 = "35d5b03efc09f67f3a3155c9624126c3e162c8e3ca98ff826db358533a44c4bb";
     };
     buildInputs = [ TestException ];
@@ -2360,7 +2360,7 @@ let
     pname = "Class-Accessor-Lite";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/Class-Accessor-Lite-0.08.tar.gz";
       sha256 = "75b3b8ec8efe687677b63f0a10eef966e01f60735c56656ce75cbb44caba335a";
     };
     meta = {
@@ -2373,7 +2373,7 @@ let
     pname = "Class-Autouse";
     version = "2.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Class-Autouse-2.01.tar.gz;
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/Class-Autouse-2.01.tar.gz";
       sha256 = "c05b3236c05719d819c20db0fdeb6d0954747e43d7a738294eed7fbcf36ecf1b";
     };
     meta = {
@@ -2386,7 +2386,7 @@ let
     pname = "Class-Base";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YA/YANICK/Class-Base-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YA/YANICK/Class-Base-0.09.tar.gz";
       sha256 = "117dmsrb30a09zlrv919fb5h5rg8r4asa24i99k04n2habgbv9g1";
     };
     propagatedBuildInputs = [ Clone ];
@@ -2396,7 +2396,7 @@ let
     pname = "Class-C3";
     version = "0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.34.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-0.34.tar.gz";
       sha256 = "1dcibc31v5jwmi6hsdzi7c5ag1sb4wp3kxkibc889qrdj7jm12sd";
     };
     propagatedBuildInputs = [ AlgorithmC3 ];
@@ -2410,7 +2410,7 @@ let
     pname = "Class-C3-Adopt-NEXT";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Class-C3-Adopt-NEXT-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Class-C3-Adopt-NEXT-0.14.tar.gz";
       sha256 = "1xsbydmiskpa1qbmnf6n39cb83nlb432xgkad9kfhxnvm8jn4rw5";
     };
     buildInputs = [ ModuleBuildTiny TestException ];
@@ -2425,7 +2425,7 @@ let
     pname = "Class-C3-Componentised";
     version = "1.001002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Class-C3-Componentised-1.001002.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Class-C3-Componentised-1.001002.tar.gz";
       sha256 = "14wn1g45z3b5apqq7dcai5drk01hfyqydsd2m6hsxzhyvi3b2l9h";
     };
     buildInputs = [ TestException ];
@@ -2439,7 +2439,7 @@ let
     pname = "Class-Classgen-classgen";
     version = "3.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHLUE/Class-Classgen-classgen-3.03.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHLUE/Class-Classgen-classgen-3.03.tar.gz";
       sha256 = "9b65d41b991538992e816b32cc4fa9b4a4a0bb3e9c10e7eebeff82658dbbc8f6";
     };
   };
@@ -2448,7 +2448,7 @@ let
     pname = "Class-Container";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Class-Container-0.13.tar.gz";
       sha256 = "f5d495b1dfb826d5c0c45d03b4d0e6b6047cbb06cdbf6be15fd4dc902aeeb70b";
     };
     propagatedBuildInputs = [ ParamsValidate ];
@@ -2462,7 +2462,7 @@ let
     pname = "Class-Data-Accessor";
     version = "0.04004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLACO/Class-Data-Accessor-0.04004.tar.gz;
+      url = "mirror://cpan/authors/id/C/CL/CLACO/Class-Data-Accessor-0.04004.tar.gz";
       sha256 = "0578m3rplk41059rkkjy1009xrmrdivjnv8yxadwwdk1vzidc8n1";
     };
   };
@@ -2471,7 +2471,7 @@ let
     pname = "Class-Data-Inheritable";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/T/TM/TMTM/Class-Data-Inheritable-0.08.tar.gz";
       sha256 = "0jpi38wy5xh6p1mg2cbyjjw76vgbccqp46685r27w8hmxb7gwrwr";
     };
   };
@@ -2480,7 +2480,7 @@ let
     pname = "Class-EHierarchy";
     version = "2.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORLISS/Class-EHierarchy/Class-EHierarchy-2.01.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CORLISS/Class-EHierarchy/Class-EHierarchy-2.01.tar.gz";
       sha256 = "637ab76beb3832a9b071b999a1b15bf05d297df6a662ccb1a8004f2987308382";
     };
     meta = {
@@ -2494,7 +2494,7 @@ let
     pname = "Class-Factory";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/Class-Factory-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHRED/Class-Factory-1.06.tar.gz";
       sha256 = "c37a2d269eb935f36a23e113480ae0946fa7c12a12781396a1226c8e435f30f5";
     };
   };
@@ -2503,7 +2503,7 @@ let
     pname = "Class-Factory-Util";
     version = "1.7";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Class-Factory-Util-1.7.tar.gz";
       sha256 = "09ifd6v0c94vr20n9yr1dxgcp7hyscqq851szdip7y24bd26nlbc";
     };
     meta = {
@@ -2516,7 +2516,7 @@ let
     pname = "Class-Gomor";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GO/GOMOR/Class-Gomor-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/G/GO/GOMOR/Class-Gomor-1.03.tar.gz";
       sha256 = "02r0zylv8c5cb34j0w2kmf8hfw6g6bymfif7z65skzz9kkm3rns7";
     };
     meta = {
@@ -2529,7 +2529,7 @@ let
     pname = "Class-Inspector";
     version = "1.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Class-Inspector-1.36.tar.gz";
       sha256 = "0kk900bp8iq7bw5jyllfb31gvf93mmp24n4x90j7qs3jlhimsafc";
     };
     meta = {
@@ -2542,7 +2542,7 @@ let
     pname = "Class-ISA";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-ISA-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-ISA-0.36.tar.gz";
       sha256 = "0r5r574i6wgxm8zsq4bc34d0dzprrh6h6mpp1nhlks1qk97g65l8";
     };
   };
@@ -2551,7 +2551,7 @@ let
     pname = "Class-Iterator";
     version = "0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TE/TEXMEC/Class-Iterator-0.3.tar.gz;
+      url = "mirror://cpan/authors/id/T/TE/TEXMEC/Class-Iterator-0.3.tar.gz";
       sha256 = "db1ba87ca9107f161fe9c1e9e7e267c0026defc26fe3e73bcad8ab8ffc18ef9d";
     };
     meta = {
@@ -2562,7 +2562,7 @@ let
     pname = "Class-MakeMethods";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EV/EVO/Class-MakeMethods-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/E/EV/EVO/Class-MakeMethods-1.01.tar.gz";
       sha256 = "0ricb0mn0i06ngfhq5y035yx8i7ahlx83yyqwixqmv6hg4p79b5c";
     };
     preConfigure = ''
@@ -2575,7 +2575,7 @@ let
     pname = "Class-MethodMaker";
     version = "2.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.24.tar.gz;
+      url = "mirror://cpan/authors/id/S/SC/SCHWIGON/class-methodmaker/Class-MethodMaker-2.24.tar.gz";
       sha256 = "0a03i4k3a33qqwhykhz5k437ld5mag2vq52vvsy03gbynb65ivsy";
     };
     # Remove unnecessary, non-autoconf, configure script.
@@ -2590,7 +2590,7 @@ let
     pname = "Class-Method-Modifiers";
     version = "2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.13.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Method-Modifiers-2.13.tar.gz";
       sha256 = "0qzx83mgd71hlc2m1kpw15dqsjzjq7b2cj3sdgg45a0q23vhfn5b";
     };
     buildInputs = [ TestFatal TestNeeds ];
@@ -2605,7 +2605,7 @@ let
     pname = "Class-Mix";
     version = "0.006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Class-Mix-0.006.tar.gz";
       sha256 = "8747f643893914f8c44979f1716d0c1ec8a41394796555447944e860f1ff7c0b";
     };
     propagatedBuildInputs = [ ParamsClassify ];
@@ -2619,7 +2619,7 @@ let
     pname = "Class-ReturnValue";
     version = "0.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/Class-ReturnValue-0.55.tar.gz;
+      url = "mirror://cpan/authors/id/J/JE/JESSE/Class-ReturnValue-0.55.tar.gz";
       sha256 = "ed3836885d78f734ccd7a98550ec422a616df7c31310c1b7b1f6459f5fb0e4bd";
     };
     propagatedBuildInputs = [ DevelStackTrace ];
@@ -2633,7 +2633,7 @@ let
     pname = "Class-Singleton";
     version = "1.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/Class-Singleton-1.5.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHAY/Class-Singleton-1.5.tar.gz";
       sha256 = "0y7ngrjf551bjgmijp5rsidbkq6c8hb5lmy2jcqq0fify020s8iq";
     };
   };
@@ -2642,7 +2642,7 @@ let
     pname = "Class-Throwable";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/K/KM/KMX/Class-Throwable-0.13.tar.gz";
       sha256 = "1kmwzdxvp9ca2z44vl0ygkfygdbxqkilzjd8vqhc4vdmvbh136nw";
     };
   };
@@ -2651,7 +2651,7 @@ let
      pname = "Class-Tiny";
      version = "1.006";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.006.tar.gz;
+       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Class-Tiny-1.006.tar.gz";
        sha256 = "0knbi1agcfc9d7fca0szvxr6335pb22pc5n648q1vrcba8qvvz1f";
      };
      meta = {
@@ -2665,13 +2665,13 @@ let
     pname = "Class-Load";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-0.25.tar.gz";
       sha256 = "2a48fa779b5297e56156380e8b32637c6c58decb4f4a7f3c7350523e11275f8f";
     };
     buildInputs = [ TestFatal TestNeeds ];
     propagatedBuildInputs = [ DataOptList PackageStash ];
     meta = {
-      homepage = https://github.com/moose/Class-Load;
+      homepage = "https://github.com/moose/Class-Load";
       description = "A working (require \"Class::Name\") and more";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -2681,13 +2681,13 @@ let
     pname = "Class-Load-XS";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Class-Load-XS-0.10.tar.gz";
       sha256 = "5bc22cf536ebfd2564c5bdaf42f0d8a4cee3d1930fc8b44b7d4a42038622add1";
     };
     buildInputs = [ TestFatal TestNeeds ];
     propagatedBuildInputs = [ ClassLoad ];
     meta = {
-      homepage = https://github.com/moose/Class-Load-XS;
+      homepage = "https://github.com/moose/Class-Load-XS";
       description = "XS implementation of parts of Class::Load";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -2697,7 +2697,7 @@ let
     pname = "Class-Observable";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CW/CWINTERS/Class-Observable-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/C/CW/CWINTERS/Class-Observable-1.04.tar.gz";
       sha256 = "3ef18733a0f03c113f3bcf8ac50476e09ca1fe6234f4aaacaa24dfca95168094";
     };
     propagatedBuildInputs = [ ClassISA ];
@@ -2707,7 +2707,7 @@ let
     pname = "Class-Std";
     version = "0.013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Class-Std-0.013.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/Class-Std-0.013.tar.gz";
       sha256 = "bcd6d82f6c8af0fe069fced7dd165a4795b0b6e92351c7d4e5a1ab9a14fc35c6";
     };
     meta = {
@@ -2720,7 +2720,7 @@ let
     pname = "Class-Std-Fast";
     version = "0.0.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz;
+      url = "mirror://cpan/authors/id/A/AC/ACID/Class-Std-Fast-v0.0.8.tar.gz";
       sha256 = "1057rz95jsr66gam472i4zdv04v7bmzph3m3jwq1hwx3qrikgm0v";
     };
     propagatedBuildInputs = [ ClassStd ];
@@ -2735,7 +2735,7 @@ let
     pname = "Class-Unload";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/Class-Unload-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/Class-Unload-0.11.tar.gz";
       sha256 = "0pqa98z3ij6a3v9wkmvc8b410kv30y0xxqf0i6if3lp4lx3rgqjj";
     };
     propagatedBuildInputs = [ ClassInspector ];
@@ -2746,7 +2746,7 @@ let
     pname = "Class-Virtual";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Class-Virtual-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Class-Virtual-0.08.tar.gz";
       sha256 = "c6499b42d3b4e5c6488a5e82fbc28698e6c9860165072dddfa6749355a9cfbb2";
     };
     propagatedBuildInputs = [ CarpAssert ClassDataInheritable ClassISA ];
@@ -2760,7 +2760,7 @@ let
     pname = "Class-XSAccessor";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.19.tar.gz";
       sha256 = "1wm6013il899jnm0vn50a7iv9v6r4nqywbqzj0csyf8jbwwnpicr";
     };
     meta = {
@@ -2773,7 +2773,7 @@ let
     pname = "Clipboard";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Clipboard-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Clipboard-0.22.tar.gz";
       sha256 = "9fdb4dfc2e9bc2f3990b5b71649094dfe83aa12172c5a1809cf7e8b3be295ca7";
     };
     meta = {
@@ -2793,7 +2793,7 @@ let
     pname = "Clone";
     version = "0.43";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Clone-0.43.tar.gz;
+      url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Clone-0.43.tar.gz";
       sha256 = "1npf5s4b90ds6lv8gn76b2w4bdh0z5ni5zk4skgc2db5d12560lr";
     };
     meta = {
@@ -2807,7 +2807,7 @@ let
      pname = "Clone-Choose";
      version = "0.010";
      src = fetchurl {
-       url = mirror://cpan/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz;
+       url = "mirror://cpan/authors/id/H/HE/HERMES/Clone-Choose-0.010.tar.gz";
        sha256 = "0cin2bjn5z8xhm9v4j7pwlkx88jnvz8al0njdjwyvs6fb0glh8sn";
      };
      buildInputs = [ Clone ClonePP TestWithoutModule ];
@@ -2821,7 +2821,7 @@ let
      pname = "Clone-PP";
      version = "1.07";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-1.07.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-1.07.tar.gz";
        sha256 = "15dkhqvih6rx9dnngfwwljcm9s8afb0nbyl2vdvhd8frnw4y31dz";
      };
      meta = {
@@ -2833,7 +2833,7 @@ let
      pname = "Code-TidyAll";
      version = "0.75";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.75.tar.gz;
+       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Code-TidyAll-0.75.tar.gz";
        sha256 = "0gplkyds3zmiqpvw8x8kg3g81jcm58kcxvwg5yk4dm2fdkl77xqf";
      };
      propagatedBuildInputs = [ CaptureTiny ConfigINI FileWhich Filepushd IPCRun3 IPCSystemSimple ListCompare ListSomeUtils LogAny Moo ScopeGuard SpecioLibraryPathTiny TextDiff TimeDate TimeDurationParse ];
@@ -2848,7 +2848,7 @@ let
      pname = "Code-TidyAll-Plugin-Perl-AlignMooseAttributes";
      version = "0.01";
      src = fetchurl {
-       url = mirror://cpan/authors/id/J/JS/JSWARTZ/Code-TidyAll-Plugin-Perl-AlignMooseAttributes-0.01.tar.gz;
+       url = "mirror://cpan/authors/id/J/JS/JSWARTZ/Code-TidyAll-Plugin-Perl-AlignMooseAttributes-0.01.tar.gz";
        sha256 = "1r8w5kfm17j1dyrrsjhwww423zzdzhx1i3d3brl32wzhasgf47cd";
      };
      propagatedBuildInputs = [ CodeTidyAll TextAligner ];
@@ -2862,7 +2862,7 @@ let
     pname = "common-sense";
     version = "3.74";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.74.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/common-sense-3.74.tar.gz";
       sha256 = "1wxv2s0hbjkrnssvxvsds0k213awg5pgdlrpkr6xkpnimc17s7vp";
     };
     meta = {
@@ -2875,7 +2875,7 @@ let
     pname = "Compress-Bzip2";
     version = "2.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.26.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Compress-Bzip2-2.26.tar.gz";
       sha256 = "5132f0c5f377a54d77ee36d332aa0ece585c22a40f2c31f2619e40262f5c4f0c";
     };
     meta = {
@@ -2888,7 +2888,7 @@ let
     pname = "Compress-Raw-Bzip2";
     version = "2.093";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.093.tar.gz;
+      url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Bzip2-2.093.tar.gz";
       sha256 = "1sb6sazwyxaan26laclbkbnr57mkm1yx7c5l6d0045pw3q9q6mi9";
     };
 
@@ -2908,7 +2908,7 @@ let
     version = "2.093";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.093.tar.gz;
+      url = "mirror://cpan/authors/id/P/PM/PMQS/Compress-Raw-Zlib-2.093.tar.gz";
       sha256 = "1x794dz83888c26lmls81rvvnhk3j91cwh407f6p65aazaa73v5m";
     };
 
@@ -2933,7 +2933,7 @@ let
     pname = "Compress-unLZMA";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Compress-unLZMA-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/Compress-unLZMA-0.05.tar.gz";
       sha256 = "1f0pcpcjjj60whqc5sc5jd0dd7z3si4fnp268w4ykmcjini03s2d";
     };
   };
@@ -2942,7 +2942,7 @@ let
     pname = "Config-Any";
     version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Config-Any-0.32.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Config-Any-0.32.tar.gz";
       sha256 = "0l31sg7dwh4dwwnql42hp7arkhcm15bhsgfg4i6xvbjzy9f2mnk8";
     };
     propagatedBuildInputs = [ ModulePluggable ];
@@ -2956,7 +2956,7 @@ let
     pname = "Config-AutoConf";
     version = "0.318";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REHSACK/Config-AutoConf-0.318.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/Config-AutoConf-0.318.tar.gz";
       sha256 = "0d5bxsax2x3xy8bgqrbzs0562x7bpglan8m23hjxw0rhxkz31j9k";
     };
     propagatedBuildInputs = [ CaptureTiny ];
@@ -2970,7 +2970,7 @@ let
     pname = "Config-General";
     version = "2.63";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.63.tar.gz;
+      url = "mirror://cpan/authors/id/T/TL/TLINDEN/Config-General-2.63.tar.gz";
       sha256 = "1bbg3wp0xcpj04cmm86j1x0j5968jqi5s2c87qs7dgmap1vzk6qa";
     };
     meta = {
@@ -2982,7 +2982,7 @@ let
     pname = "Config-GitLike";
     version = "1.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.17.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/Config-GitLike-1.17.tar.gz";
       sha256 = "674a07b814fdcf9d323088d093245bcd066aaee24ec0914cb4decc9a943de54e";
     };
     buildInputs = [ TestException ];
@@ -2997,11 +2997,11 @@ let
     pname = "Config-Grammar";
     version = "1.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSCHWEI/Config-Grammar-1.13.tar.gz;
+      url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Config-Grammar-1.13.tar.gz";
       sha256 = "a8b3a3a2c9c8c43b92dc401bf2709d6514f15b467fd4f72c48d356335771d6e3";
     };
     meta = {
-      homepage = https://github.com/schweikert/Config-Grammar;
+      homepage = "https://github.com/schweikert/Config-Grammar";
       description = "A grammar-based, user-friendly config parser";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3011,12 +3011,12 @@ let
     pname = "Config-INI";
     version = "0.025";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.025.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-INI-0.025.tar.gz";
       sha256 = "628bf76d5b91f89dde22d4813ec033026ebf71b772bb61ccda909da00c869732";
     };
     propagatedBuildInputs = [ MixinLinewise ];
     meta = {
-      homepage = https://github.com/rjbs/Config-INI;
+      homepage = "https://github.com/rjbs/Config-INI";
       description = "Simple .ini-file format";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3026,7 +3026,7 @@ let
      pname = "Config-Identity";
      version = "0.0019";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Config-Identity-0.0019.tar.gz;
+       url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Config-Identity-0.0019.tar.gz";
        sha256 = "1a0jx12pxwpbnkww4xg4lav8j6ls89hrdimhj4a697k56zdhnli9";
      };
      propagatedBuildInputs = [ FileHomeDir IPCRun ];
@@ -3042,7 +3042,7 @@ let
     pname = "Config-IniFiles";
     version = "3.000002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Config-IniFiles-3.000002.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Config-IniFiles-3.000002.tar.gz";
       sha256 = "d92ed6ed2db98d5addf732c96d2a9c15d9f878c7e8b355bb7a5c1668e3f8ba09";
     };
     propagatedBuildInputs = [ IOStringy ];
@@ -3057,7 +3057,7 @@ let
     pname = "Config-Merge";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DRTECH/Config-Merge-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DRTECH/Config-Merge-1.04.tar.gz";
       sha256 = "a932477b43ae5fb04a16f071a891da7bd2086c10c680592f2888fa9d9972cccf";
     };
     buildInputs = [ YAML ];
@@ -3072,7 +3072,7 @@ let
     pname = "Config-Onion";
     version = "1.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSHEROH/Config-Onion-1.007.tar.gz;
+      url = "mirror://cpan/authors/id/D/DS/DSHEROH/Config-Onion-1.007.tar.gz";
       sha256 = "1bx81nakvgj9m7x1q7pnra2cm1rzfdyf7fm2wmlj92qkivvdszrj";
     };
     propagatedBuildInputs = [ ConfigAny HashMergeSimple Moo ];
@@ -3087,13 +3087,13 @@ let
     pname = "Config-MVP";
     version = "2.200011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200011.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-2.200011.tar.gz";
       sha256 = "23c95666fc43c4adaebcc093b1b56091efc2a6aa2d75366a216d18eda96ad716";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ModulePluggable MooseXOneArgNew RoleHasMessage RoleIdentifiable Throwable TieIxHash ];
     meta = {
-      homepage = https://github.com/rjbs/Config-MVP;
+      homepage = "https://github.com/rjbs/Config-MVP";
       description = "Multivalue-property package-oriented configuration";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3103,12 +3103,12 @@ let
     pname = "Config-MVP-Reader-INI";
     version = "2.101463";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-Reader-INI-2.101463.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Config-MVP-Reader-INI-2.101463.tar.gz";
       sha256 = "0iflnsh0sgihff3ra8sr7awiiscmqvrp1anaskkwksqi6yzidab9";
     };
     propagatedBuildInputs = [ ConfigINI ConfigMVP ];
     meta = {
-      homepage = https://github.com/rjbs/Config-MVP-Reader-INI;
+      homepage = "https://github.com/rjbs/Config-MVP-Reader-INI";
       description = "An MVP config reader for .ini files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3118,7 +3118,7 @@ let
     pname = "Config-Simple";
     version = "4.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.58.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHERZODR/Config-Simple-4.58.tar.gz";
       sha256 = "1d7dhvis1i03xlj8z3g5l8mz88kf7dn13zngbjhq94qgdxq9b6fx";
     };
     meta = {
@@ -3130,7 +3130,7 @@ let
     pname = "Config-Std";
     version = "0.903";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.903.tar.gz;
+      url = "mirror://cpan/authors/id/B/BR/BRICKER/Config-Std-0.903.tar.gz";
       sha256 = "b7709ff663bd279d264ab9c2f51e9e9588479a3367a8c4cfc18659c2a11480fe";
     };
     propagatedBuildInputs = [ ClassStd ];
@@ -3143,7 +3143,7 @@ let
     pname = "Config-Tiny";
     version = "2.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Config-Tiny-2.24.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Config-Tiny-2.24.tgz";
       sha256 = "0cjj2f0pj9y3cx1lgk2qp6arsnyaacf7kj6v33iqczn59f798r0h";
     };
     buildInputs = [ TestPod ];
@@ -3153,7 +3153,7 @@ let
     pname = "Config-Versioned";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Config-Versioned-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Config-Versioned-1.01.tar.gz";
       sha256 = "bc9a4ae3738bd89f86a07bca673627ca3c92ba969737cd6dbc7ab7ad17cd2348";
     };
     propagatedBuildInputs = [ ConfigStd GitPurePerl ];
@@ -3168,7 +3168,7 @@ let
     pname = "Connector";
     version = "1.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.28.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Connector-1.28.tar.gz";
       sha256 = "0cd1575bab80e78294aa79809904f40d2f534d99b78e0161454f037625c6bf7d";
     };
     buildInputs = [ ConfigMerge ConfigStd ConfigVersioned DBDSQLite DBI ProcSafeExec TemplateToolkit YAML ];
@@ -3188,7 +3188,7 @@ let
      pname = "Const-Fast";
      version = "0.014";
      src = fetchurl {
-       url = mirror://cpan/authors/id/L/LE/LEONT/Const-Fast-0.014.tar.gz;
+       url = "mirror://cpan/authors/id/L/LE/LEONT/Const-Fast-0.014.tar.gz";
        sha256 = "1nwlldgrx86yn7y6a53cqgvzm2ircsvxg1addahlcy6510x9a1gq";
      };
      propagatedBuildInputs = [ SubExporterProgressive ];
@@ -3203,7 +3203,7 @@ let
     pname = "Convert-ASN1";
     version = "0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GB/GBARR/Convert-ASN1-0.27.tar.gz;
+      url = "mirror://cpan/authors/id/G/GB/GBARR/Convert-ASN1-0.27.tar.gz";
       sha256 = "12nmsca6hzgxq57sx7dp8yq6zxqhl41z5a6018877sf5w25ag93l";
     };
   };
@@ -3228,7 +3228,7 @@ let
     pname = "Convert-Color";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Convert-Color-0.11.tar.gz";
       sha256 = "b41217c72931034ba4417d7a9e1e2999f04580d4e6b31c70993fedccc2440d38";
     };
     buildInputs = [ TestNumberDelta ];
@@ -3239,11 +3239,24 @@ let
     };
   };
 
+  ConvertUU = buildPerlPackage rec {
+    pname = "Convert-UU";
+    version = "0.5201";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/A/AN/ANDK/${pname}-${version}.tar.gz";
+      sha256 = "92329ce1c32b5952c48e1223db018c8c58ceafef03bfa0fd4817cd89c355a3bd";
+    };
+    meta = {
+      description = "Perl module for uuencode and uudecode";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   constantboolean = buildPerlModule {
     pname = "constant-boolean";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/constant-boolean-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/constant-boolean-0.02.tar.gz";
       sha256 = "1s8gxfg4xqp543aqanv5lbp64vqqyw6ic4x3fm4imkk1h3amjb6d";
     };
     propagatedBuildInputs = [ SymbolUtil ];
@@ -3253,7 +3266,7 @@ let
      pname = "curry";
      version = "1.001000";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MS/MSTROUT/curry-1.001000.tar.gz;
+       url = "mirror://cpan/authors/id/M/MS/MSTROUT/curry-1.001000.tar.gz";
        sha256 = "1m2n3w67cskh8ic6vf6ik0fmap9zma875kr5rhyznr1041wn064b";
      };
      meta = {
@@ -3266,7 +3279,7 @@ let
     pname = "constant-defer";
     version = "6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KRYDE/constant-defer-6.tar.gz;
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/constant-defer-6.tar.gz";
       sha256 = "1ykgk0rd05p7kyrdxbv047fj7r0b4ix9ibpkzxp6h8nak0qjc8bv";
     };
   };
@@ -3275,7 +3288,7 @@ let
     pname = "Context-Preserve";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Context-Preserve-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Context-Preserve-0.03.tar.gz";
       sha256 = "07zxgmb11bn4zj3w9g1zwbb9iv4jyk5q7hc0nv59knvv5i64m489";
     };
     buildInputs = [ TestException TestSimple13 ];
@@ -3285,13 +3298,13 @@ let
     pname = "Cookie-Baker";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Cookie-Baker-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cookie-Baker-0.11.tar.gz";
       sha256 = "59275f474e07c0aa3611e3e684b894e7db913333d8214420be63f12ec18cd7ab";
     };
     buildInputs = [ ModuleBuildTiny TestTime ];
     propagatedBuildInputs = [ URI ];
     meta = {
-      homepage = https://github.com/kazeburo/Cookie-Baker;
+      homepage = "https://github.com/kazeburo/Cookie-Baker";
       description = "Cookie string generator / parser";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3301,7 +3314,7 @@ let
     pname = "Cookie-XS";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AG/AGENT/Cookie-XS-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/A/AG/AGENT/Cookie-XS-0.11.tar.gz";
       sha256 = "1616rcn2qn1cwiv3rxb8mq5fmwxpj4gya1lxxxq2w952h03p3fd3";
     };
     propagatedBuildInputs = [ CGICookieXS ];
@@ -3311,7 +3324,7 @@ let
      pname = "Coro";
      version = "6.55";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.55.tar.gz;
+       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Coro-6.55.tar.gz";
        sha256 = "0c4ams0lqxlh9nwp2l3gd0if35dw0m3774pfl16dmz3hf419rms3";
      };
      propagatedBuildInputs = [ AnyEvent Guard commonsense ];
@@ -3324,7 +3337,7 @@ let
      pname = "Corona";
      version = "0.1004";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Corona-0.1004.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Corona-0.1004.tar.gz";
        sha256 = "0g5gpma3998rn61qfjv5csv2nrdi4sc84ipkb4k6synyhfgd3xgz";
      };
      propagatedBuildInputs = [ NetServerCoro Plack ];
@@ -3339,7 +3352,7 @@ let
     pname = "CPAN";
     version = "2.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.27.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-2.27.tar.gz";
       sha256 = "b4b1471a2881e2d616f59e723879b4110ae485b79d5962f115119c28cf69e07f";
     };
     patches = [
@@ -3360,7 +3373,7 @@ let
     pname = "Cpanel-JSON-XS";
     version = "4.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.17.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Cpanel-JSON-XS-4.17.tar.gz";
       sha256 = "fa80ae47caa9beee6db9b12df2c04482e98df1d62041a114ccd82b681a8706fb";
     };
     meta = {
@@ -3373,7 +3386,7 @@ let
     pname = "CPAN-Changes";
     version = "0.400002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/CPAN-Changes-0.400002.tar.gz";
       sha256 = "01eedea90d07468cb58e4a50bfa3bb1d4eeda9073596add1118fc359153abe8d";
     };
     meta = {
@@ -3386,7 +3399,7 @@ let
     pname = "CPAN-Checksums";
     version = "2.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.12.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDK/CPAN-Checksums-2.12.tar.gz";
       sha256 = "0f1dbpp4638jfdfwrywjmz88na5wzw4fdsmm2r7gh1x0s6r0yq4r";
     };
     propagatedBuildInputs = [ CompressBzip2 DataCompare ModuleSignature ];
@@ -3399,13 +3412,13 @@ let
     pname = "CPAN-Common-Index";
     version = "0.010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Common-Index-0.010.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/CPAN-Common-Index-0.010.tar.gz";
       sha256 = "c43ddbb22fd42b06118fe6357f53700fbd77f531ba3c427faafbf303cbf4eaf0";
     };
     buildInputs = [ TestDeep TestFailWarnings TestFatal ];
     propagatedBuildInputs = [ CPANDistnameInfo ClassTiny TieHandleOffset URI ];
     meta = {
-      homepage = https://github.com/Perl-Toolchain-Gang/CPAN-Common-Index;
+      homepage = "https://github.com/Perl-Toolchain-Gang/CPAN-Common-Index";
       description = "Common library for searching CPAN modules, authors and distributions";
       license = stdenv.lib.licenses.asl20;
     };
@@ -3415,7 +3428,7 @@ let
      pname = "CPAN-DistnameInfo";
      version = "0.12";
      src = fetchurl {
-       url = mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz;
+       url = "mirror://cpan/authors/id/G/GB/GBARR/CPAN-DistnameInfo-0.12.tar.gz";
        sha256 = "0d94kx596w7k328cvq4y96z1gz12hdhn3z1mklkbrb7fyzlzn91g";
      };
      meta = {
@@ -3428,7 +3441,7 @@ let
     pname = "CPAN-Meta-Check";
     version = "0.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.014.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/CPAN-Meta-Check-0.014.tar.gz";
       sha256 = "07rmdbz1rbnb7w33vswn1wixlyh947sqr93xrvcph1hwzhmmg818";
     };
     buildInputs = [ TestDeep ];
@@ -3442,11 +3455,11 @@ let
     pname = "CPAN-Perl-Releases";
     version = "5.20200120";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-5.20200120.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/CPAN-Perl-Releases-5.20200120.tar.gz";
       sha256 = "0xhn05aiyrdcxhmps0qg9ivr9p7278mjix7719rv2k5kd2nf1jg8";
     };
     meta = {
-      homepage = https://github.com/bingos/cpan-perl-releases;
+      homepage = "https://github.com/bingos/cpan-perl-releases";
       description = "Mapping Perl releases on CPAN to the location of the tarballs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3456,12 +3469,12 @@ let
     pname = "CPANPLUS";
     version = "0.9906";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9906.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/CPANPLUS-0.9906.tar.gz";
       sha256 = "0w1gi4w7xriqhh44ssgg2abk5dfxchshqfab4cs3j4ab6p8vf9j5";
     };
     propagatedBuildInputs = [ ArchiveExtract ModulePluggable ObjectAccessor PackageConstants TermUI ];
     meta = {
-      homepage = https://github.com/jib/cpanplus-devel;
+      homepage = "https://github.com/jib/cpanplus-devel";
       description = "Ameliorated interface to the CPAN";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3471,12 +3484,12 @@ let
     pname = "CPAN-Uploader";
     version = "0.103013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103013.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/CPAN-Uploader-0.103013.tar.gz";
       sha256 = "07k8ia8gvj9mrz7a2lckgd3vxjsahfr43lgrb85474dkhz94f5pq";
     };
     propagatedBuildInputs = [ FileHomeDir GetoptLongDescriptive LWPProtocolHttps TermReadKey ];
     meta = {
-      homepage = https://github.com/rjbs/cpan-uploader;
+      homepage = "https://github.com/rjbs/cpan-uploader";
       description = "Upload things to the CPAN";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3486,7 +3499,7 @@ let
     pname = "Crypt-Blowfish";
     version = "2.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz;
+      url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-Blowfish-2.14.tar.gz";
       sha256 = "1cb7g8cyfs9alrfdykxhs8m6azj091fmcycz6p5vkxbbzcgl7cs6";
     };
   };
@@ -3495,7 +3508,7 @@ let
     pname = "Crypt-CBC";
     version = "2.33";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-2.33.tar.gz;
+      url = "mirror://cpan/authors/id/L/LD/LDS/Crypt-CBC-2.33.tar.gz";
       sha256 = "0ig698lmpjz7fslnznxm0609lvlnvf4f3s370082nzycnqhxww3a";
     };
   };
@@ -3504,7 +3517,7 @@ let
     pname = "Crypt-Curve25519";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/A/AJ/AJGB/Crypt-Curve25519-0.06.tar.gz";
       sha256 = "1ir0gfxm8i7r9zyfs2zvil5jgwirl7j6cb9cm1p2kjpfnhyp0j4z";
     };
     patches = [
@@ -3523,7 +3536,7 @@ let
     pname = "Crypt-DES";
     version = "2.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-2.07.tar.gz;
+      url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-DES-2.07.tar.gz";
       sha256 = "1rypxlhpd1jc0c327aghgl9y6ls47drmpvn0a40b4k3vhfsypc9d";
     };
   };
@@ -3532,7 +3545,7 @@ let
     pname = "Crypt-DH";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MITHALDU/Crypt-DH-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MITHALDU/Crypt-DH-0.07.tar.gz";
       sha256 = "0pvzlgwpx8fzdy64ki15155vhsj30i9zxmw6i4p7irh17d1g7368";
     };
     propagatedBuildInputs = [ MathBigIntGMP ];
@@ -3542,7 +3555,7 @@ let
     pname = "Crypt-DH-GMP";
     version = "0.00012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DM/DMAKI/Crypt-DH-GMP-0.00012.tar.gz;
+      url = "mirror://cpan/authors/id/D/DM/DMAKI/Crypt-DH-GMP-0.00012.tar.gz";
       sha256 = "0f5gdprcql4kwzgxl2s6ngcfg1jl45lzcqh7dkv5bkwlwmxa9rsi";
     };
     buildInputs = [ pkgs.gmp DevelChecklib TestRequires ];
@@ -3567,7 +3580,7 @@ let
     pname = "Crypt-Eksblowfish";
     version = "0.009";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Crypt-Eksblowfish-0.009.tar.gz";
       sha256 = "3cc7126d5841107237a9be2dc5c7fbc167cf3c4b4ce34678a8448b850757014c";
     };
     propagatedBuildInputs = [ ClassMix ];
@@ -3578,7 +3591,7 @@ let
     pname = "Crypt-IDEA";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/D/DP/DPARIS/Crypt-IDEA-1.10.tar.gz";
       sha256 = "0690lzlyjqgmnb94dq7dm5n6pgybg10fkpgfycgzr814370pig9k";
     };
   };
@@ -3587,7 +3600,7 @@ let
     pname = "Crypt-JWT";
     version = "0.025";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.025.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIK/Crypt-JWT-0.025.tar.gz";
       sha256 = "2def87936645723de70fcc11cb380b1faddf9c5678832e4fc6116f267987087d";
     };
     propagatedBuildInputs = [ CryptX JSONMaybeXS ];
@@ -3601,7 +3614,7 @@ let
     pname = "Crypt-PasswdMD5";
     version = "1.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Crypt-PasswdMD5-1.40.tgz";
       sha256 = "0j0r74f18nk63phddzqbf7wqma2ci4p4bxvrwrxsy0aklbp6lzdp";
     };
   };
@@ -3610,7 +3623,7 @@ let
     pname = "Crypt-PKCS10";
     version = "2.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-PKCS10-2.001.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRSCOTTY/Crypt-PKCS10-2.001.tar.gz";
       sha256 = "f7945b76a2d8f4d8ecf627b2eb8ea4f41d001e6a915efe82e71d6b97fea3ffa9";
     };
     buildInputs = [ pkgs.unzip ModuleBuildTiny ];
@@ -3640,7 +3653,7 @@ let
     pname = "Crypt-Random-Source";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Crypt-Random-Source-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Crypt-Random-Source-0.14.tar.gz";
       sha256 = "1rpdds3sy5l1fhngnkrsgwsmwd54wpicx3i9ds69blcskwkcwkpc";
     };
     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
@@ -3669,7 +3682,7 @@ let
     pname = "Crypt-RC4";
     version = "2.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-2.02.tar.gz;
+      url = "mirror://cpan/authors/id/S/SI/SIFUKURT/Crypt-RC4-2.02.tar.gz";
       sha256 = "1sp099cws0q225h6j4y68hmfd1lnv5877gihjs40f8n2ddf45i2y";
     };
   };
@@ -3678,7 +3691,7 @@ let
     pname = "Crypt-RandPasswd";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Crypt-RandPasswd-0.06.tar.gz";
       sha256 = "0ca8544371wp4vvqsa19lnhl02hczpkbwkgsgm65ziwwim3r1gdi";
     };
   };
@@ -3687,7 +3700,7 @@ let
     pname = "Crypt-MySQL";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/I/IK/IKEBE/Crypt-MySQL-0.04.tar.gz";
       sha256 = "93ebdfaaefcfe9ab683f0121c85f24475d8197f0bcec46018219e4111434dde3";
     };
     propagatedBuildInputs = [ DigestSHA1 ];
@@ -3698,7 +3711,7 @@ let
     pname = "Crypt-Rijndael";
     version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-1.14.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Crypt-Rijndael-1.14.tar.gz";
       sha256 = "03l5nwq97a8q9na4dpd4m3r7vrwpranx225vw8xm40w7zvgw6lb4";
     };
   };
@@ -3707,7 +3720,7 @@ let
     pname = "Crypt-UnixCrypt_XS";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BORISZ/Crypt-UnixCrypt_XS-0.11.tar.gz";
       sha256 = "1ajg3x6kwxy4x9p3nw1j36qjxpjvdpi9wkca5gfd86y9q8939sv2";
     };
   };
@@ -3756,7 +3769,7 @@ let
     pname = "Crypt-OpenSSL-AES";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/T/TT/TTAR/Crypt-OpenSSL-AES-0.02.tar.gz";
       sha256 = "b66fab514edf97fc32f58da257582704a210c2b35e297d5c31b7fa2ffd08e908";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
@@ -3771,7 +3784,7 @@ let
     pname = "Crypt-OpenSSL-Bignum";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/K/KM/KMX/Crypt-OpenSSL-Bignum-0.09.tar.gz";
       sha256 = "1p22znbajq91lbk2k3yg12ig7hy5b4vy8igxwqkmbm4nhgxp4ki3";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
@@ -3782,7 +3795,7 @@ let
      pname = "Crypt-OpenSSL-Guess";
      version = "0.11";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-0.11.tar.gz;
+       url = "mirror://cpan/authors/id/A/AK/AKIYM/Crypt-OpenSSL-Guess-0.11.tar.gz";
        sha256 = "0rvi9l4ljcbhwwvspq019nfq2h2v746dk355h2nwnlmqikiihsxa";
      };
      meta = {
@@ -3796,7 +3809,7 @@ let
     pname = "Crypt-OpenSSL-Random";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Crypt-OpenSSL-Random-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Crypt-OpenSSL-Random-0.15.tar.gz";
       sha256 = "1x6ffps8q7mnawmcfq740llzy7i10g3319vap0wiw4d33fm6z1zh";
     };
     NIX_CFLAGS_COMPILE = "-I${pkgs.openssl.dev}/include";
@@ -3808,7 +3821,7 @@ let
     pname = "Crypt-OpenSSL-RSA";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/Crypt-OpenSSL-RSA-0.31.tar.gz";
       sha256 = "4173403ad4cf76732192099f833fbfbf3cd8104e0246b3844187ae384d2c5436";
     };
     propagatedBuildInputs = [ CryptOpenSSLRandom ];
@@ -3855,7 +3868,7 @@ let
     pname = "Crypt-Ed25519";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Crypt-Ed25519-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Crypt-Ed25519-1.04.tar.gz";
       sha256 = "1jwh6b8b2ppvzxaljz287zakj4q3ip4zq121i23iwh26wxhlll2q";
     };
 
@@ -3886,7 +3899,7 @@ let
     pname = "CSS-DOM";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SP/SPROUT/CSS-DOM-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/S/SP/SPROUT/CSS-DOM-0.17.tar.gz";
       sha256 = "09phb6c9czpcp9imq06khm54kspsx6hnvfrjxramx663ygmpifb5";
     };
     propagatedBuildInputs = [ Clone ];
@@ -3896,7 +3909,7 @@ let
     pname = "CSS-Minifier-XS";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/G/GT/GTERMARS/CSS-Minifier-XS-0.09.tar.gz";
       sha256 = "1myswrmh0sqp5xjpp03x45z8arfmgkjx0srl3r6kjsyzl1zrk9l8";
     };
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
@@ -3910,7 +3923,7 @@ let
     pname = "CSS-Squish";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSIBLEY/CSS-Squish-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSIBLEY/CSS-Squish-0.10.tar.gz";
       sha256 = "65fc0d69acd1fa33d9a4c3b09cce0fbd737d747b1fcc4e9d87ebd91050cbcb4e";
     };
     buildInputs = [ TestLongString ];
@@ -3939,7 +3952,7 @@ let
     pname = "Curses-UI";
     version = "0.9609";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MD/MDXI/Curses-UI-0.9609.tar.gz;
+      url = "mirror://cpan/authors/id/M/MD/MDXI/Curses-UI-0.9609.tar.gz";
       sha256 = "1bqf4h8z70f78nzqq5yj4ahvsbhxxal6bc2g301l9qdn2fjjgf0a";
     };
     meta = {
@@ -3953,7 +3966,7 @@ let
     pname = "CryptX";
     version = "0.066";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIK/CryptX-0.066.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIK/CryptX-0.066.tar.gz";
       sha256 = "e7e823ac4db0b452e885b0e0d5adfc8a9c5f688938f1adf3f1d91432b3238335";
     };
     meta = {
@@ -3966,7 +3979,7 @@ let
     pname = "Cwd-Guard";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/Cwd-Guard-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Cwd-Guard-0.05.tar.gz";
       sha256 = "0xwf4rmii55k3lp19mpbh00mbgby7rxdk2lk84148bjhp6i7rz3s";
     };
     meta = {
@@ -3980,7 +3993,7 @@ let
     pname = "Data-Clone";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/Data-Clone-0.004.tar.gz";
       sha256 = "0g1qhi5qyk4fp0pwyaw90vxiyyn8las0i8ghzrnr4srai1wy3r9g";
     };
     buildInputs = [ TestRequires ];
@@ -3994,7 +4007,7 @@ let
     pname = "Data-Compare";
     version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Compare-1.27.tar.gz";
       sha256 = "1gg8rqbv3x6a1lrpabv6vnlab53zxmpwz2ygad9fcx4gygqj12l1";
     };
     propagatedBuildInputs = [ Clone FileFindRule ];
@@ -4004,7 +4017,7 @@ let
     pname = "Data-Dump";
     version = "1.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.23.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/Data-Dump-1.23.tar.gz";
       sha256 = "0r9ba52b7p8nnn6nw0ygm06lygi8g68piri78jmlqyrqy5gb0lxg";
     };
     meta = {
@@ -4017,7 +4030,7 @@ let
     pname = "Data-Dumper";
     version = "2.173";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XS/XSAWYERX/Data-Dumper-2.173.tar.gz;
+      url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Data-Dumper-2.173.tar.gz";
       sha256 = "697608b39330988e519131be667ff47168aaaaf99f06bd2095d5b46ad05d76fa";
     };
     outputs = [ "out" ];
@@ -4030,7 +4043,7 @@ let
     pname = "Data-Dumper-Concise";
     version = "2.023";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Data-Dumper-Concise-2.023.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Dumper-Concise-2.023.tar.gz";
       sha256 = "a6c22f113caf31137590def1b7028a7e718eface3228272d0672c25e035d5853";
     };
     meta = {
@@ -4043,7 +4056,7 @@ let
     pname = "Data-Entropy";
     version = "0.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-0.007.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Entropy-0.007.tar.gz";
       sha256 = "2611c4a1a3038594d79ea4ed14d9e15a9af8f77105f51667795fe4f8a53427e4";
     };
     propagatedBuildInputs = [ CryptRijndael DataFloat HTTPLite ParamsClassify ];
@@ -4053,7 +4066,7 @@ let
     pname = "Data-Float";
     version = "0.013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-0.013.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Float-0.013.tar.gz";
       sha256 = "e2b1523d858930b8bbdbd196f08235f5e678b84919ba87712e26313b9c27518a";
     };
   };
@@ -4062,7 +4075,7 @@ let
     pname = "Data-FormValidator";
     version = "4.88";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DF/DFARRELL/Data-FormValidator-4.88.tar.gz;
+      url = "mirror://cpan/authors/id/D/DF/DFARRELL/Data-FormValidator-4.88.tar.gz";
       sha256 = "c1a539f91c92cbcd8a8d83597ec9a7643fcd8ccf5a94e15382c3765289170066";
     };
     propagatedBuildInputs = [ DateCalc EmailValid FileMMagic ImageSize MIMETypes RegexpCommon ];
@@ -4077,12 +4090,12 @@ let
     pname = "Data-GUID";
     version = "0.049";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.049.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-GUID-0.049.tar.gz";
       sha256 = "0yx7d4qwsr9n85gslip0y3mdwr5fkncfbwxz7si2a17x95yl7bxq";
     };
     propagatedBuildInputs = [ DataUUID SubExporter ];
     meta = {
-      homepage = https://github.com/rjbs/Data-GUID;
+      homepage = "https://github.com/rjbs/Data-GUID";
       description = "Globally unique identifiers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4092,7 +4105,7 @@ let
     pname = "Data-HexDump";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FT/FTASSIN/Data-HexDump-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/F/FT/FTASSIN/Data-HexDump-0.02.tar.gz";
       sha256 = "1a9d843e7f667c1c6f77c67af5d77e7462ff23b41937cb17454d03535cd9be70";
     };
     meta = {
@@ -4105,7 +4118,7 @@ let
     pname = "Data-Hexdumper";
     version = "3.0001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Hexdumper-3.0001.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Data-Hexdumper-3.0001.tar.gz";
       sha256 = "f9243cbe8affed5045fe4df505726a7a7289471e30c51ac065b3ed6ce0d1a604";
     };
     meta = {
@@ -4118,7 +4131,7 @@ let
     pname = "Data-Hierarchy";
     version = "0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/Data-Hierarchy-0.34.tar.gz;
+      url = "mirror://cpan/authors/id/C/CL/CLKAO/Data-Hierarchy-0.34.tar.gz";
       sha256 = "1vfrkygdaq0k7006i83jwavg9wgszfcyzbl9b7fp37z2acmyda5k";
     };
     buildInputs = [ TestException ];
@@ -4128,7 +4141,7 @@ let
     pname = "Data-ICal";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/Data-ICal-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/Data-ICal-0.24.tar.gz";
       sha256 = "7331c7c84886c53337c0db823615e0e7134a8f13efd284e5c20726d5bcd52dff";
     };
     buildInputs = [ TestLongString TestNoWarnings TestWarn ];
@@ -4143,7 +4156,7 @@ let
     pname = "Data-IEEE754";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/Data-IEEE754-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/Data-IEEE754-0.02.tar.gz";
       sha256 = "07b73dlxd0qmxgkkrpa2xr61y18v3adlf1qgnl9k90kj8q9spx66";
     };
     buildInputs = [ TestBits ];
@@ -4157,7 +4170,7 @@ let
     pname = "Data-Integer";
     version = "0.006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-0.006.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Data-Integer-0.006.tar.gz";
       sha256 = "0m53zxhx9sn49yqh7azlpyy9m65g54v8cd2ha98y77337gg7xdv3";
     };
   };
@@ -4182,12 +4195,12 @@ let
     pname = "Data-OptList";
     version = "0.110";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-0.110.tar.gz";
       sha256 = "1hzmgr2imdg1fc3hmwx0d56fhsdfyrgmgx7jb4jkyiv6575ifq9n";
     };
     propagatedBuildInputs = [ ParamsUtil SubInstall ];
     meta = {
-      homepage = https://github.com/rjbs/data-optlist;
+      homepage = "https://github.com/rjbs/data-optlist";
       description = "Parse and validate simple name/value option pairs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4197,7 +4210,7 @@ let
     pname = "Data-Page";
     version = "2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Data-Page-2.03.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Data-Page-2.03.tar.gz";
       sha256 = "12rxrr2b11qjk0c437cisw2kfqkafw1awcng09cv6yhzglb55yif";
     };
     propagatedBuildInputs = [ ClassAccessorChained ];
@@ -4208,7 +4221,7 @@ let
     pname = "Data-Page-Pageset";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHUNZI/Data-Page-Pageset-1.02.tar.gz";
       sha256 = "142isi8la383dbjxj7lfgcbmmrpzwckcc4wma6rdl8ryajsipb6f";
     };
     buildInputs = [ ClassAccessor DataPage TestException ];
@@ -4222,7 +4235,7 @@ let
     pname = "Data-Password";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RAZINF/Data-Password-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RAZINF/Data-Password-1.12.tar.gz";
       sha256 = "830cde81741ff384385412e16faba55745a54a7cc019dd23d7ed4f05d551a961";
     };
   };
@@ -4231,13 +4244,13 @@ let
     pname = "Data-Perl";
     version = "0.002011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Data-Perl-0.002011.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOBYINK/Data-Perl-0.002011.tar.gz";
       sha256 = "8d34dbe314cfa2d99bd9aae546bbde94c38bb05b74b07c89bde1673a6f6c55f4";
     };
     buildInputs = [ TestDeep TestFatal TestOutput ];
     propagatedBuildInputs = [ ClassMethodModifiers ListMoreUtils ModuleRuntime RoleTiny strictures ];
     meta = {
-      homepage = https://github.com/mattp-/Data-Perl;
+      homepage = "https://github.com/mattp-/Data-Perl";
       description = "Base classes wrapping fundamental Perl data types";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4247,7 +4260,7 @@ let
     pname = "Data-Printer";
     version = "0.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GARU/Data-Printer-0.40.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GARU/Data-Printer-0.40.tar.gz";
       sha256 = "0njjh8zp5afc4602jrnmg89icj7gfsil6i955ypcqxc2gl830sb0";
     };
     propagatedBuildInputs = [ ClonePP FileHomeDir PackageStash SortNaturally ];
@@ -4261,12 +4274,12 @@ let
     pname = "Data-Section";
     version = "0.200007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-0.200007.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-Section-0.200007.tar.gz";
       sha256 = "1pmlxca0a8sv2jjwvhwgqavq6iwys6kf457lby4anjp3f1dpx4yd";
     };
     propagatedBuildInputs = [ MROCompat SubExporter ];
     meta = {
-      homepage = https://github.com/rjbs/data-section;
+      homepage = "https://github.com/rjbs/data-section";
       description = "Read multiple hunks of data out of your DATA section";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4277,7 +4290,7 @@ let
     pname = "Data-Serializer";
     version = "0.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.60.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEELY/Data-Serializer-0.60.tar.gz";
       sha256 = "0ca4s811l7f2bqkx7vnyxbpp4f0qska89g2pvsfb3k0bhhbk0jdk";
     };
     meta = {
@@ -4304,7 +4317,7 @@ let
     pname = "Data-SpreadPagination";
     version = "0.1.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KN/KNEW/Data-SpreadPagination-0.1.2.tar.gz;
+      url = "mirror://cpan/authors/id/K/KN/KNEW/Data-SpreadPagination-0.1.2.tar.gz";
       sha256 = "74ebfd847132c38cc9e835e14e82c43f1809a95cbc98bb84d1f7ce2e4ef487e3";
     };
     propagatedBuildInputs = [ DataPage MathRound ];
@@ -4317,7 +4330,7 @@ let
     pname = "Data-Stream-Bulk";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Data-Stream-Bulk-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/Data-Stream-Bulk-0.11.tar.gz";
       sha256 = "06e08432a6b97705606c925709b99129ad926516e477d58e4461e4b3d9f30917";
     };
     buildInputs = [ TestRequires ];
@@ -4332,7 +4345,7 @@ let
     pname = "Data-Structure-Util";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDYA/Data-Structure-Util-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDYA/Data-Structure-Util-0.16.tar.gz";
       sha256 = "9cd42a13e65cb15f3a76296eb9a134da220168ec747c568d331a50ae7a2ddbc6";
     };
     buildInputs = [ TestPod ];
@@ -4346,7 +4359,7 @@ let
     pname = "Data-Taxi";
     version = "0.96";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKO/Data-Taxi-0.96.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKO/Data-Taxi-0.96.tar.gz";
       sha256 = "0y4wls4jlwd6prvd77szymddhq9sfj06kaqnk4frlvd0zh83djxb";
     };
     buildInputs = [ DebugShowStuff ];
@@ -4356,7 +4369,7 @@ let
     pname = "Data-Uniqid";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/M/MW/MWX/Data-Uniqid-0.12.tar.gz";
       sha256 = "b6919ba49b9fe98bfdf3e8accae7b9b7f78dc9e71ebbd0b7fef7a45d99324ccb";
     };
   };
@@ -4365,7 +4378,7 @@ let
     pname = "Data-Util";
     version = "0.66";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYOHEX/Data-Util-0.66.tar.gz;
+      url = "mirror://cpan/authors/id/S/SY/SYOHEX/Data-Util-0.66.tar.gz";
       sha256 = "1x662pqjg9p0wcigi7pwf969b2ymk66ncm2vd5dfm5i08pdkjpf3";
     };
     buildInputs = [ HashUtilFieldHashCompat ModuleBuildXSUtil ScopeGuard TestException ];
@@ -4381,7 +4394,7 @@ let
     pname = "Data-URIEncode";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RH/RHANDOM/Data-URIEncode-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/R/RH/RHANDOM/Data-URIEncode-0.11.tar.gz";
       sha256 = "51c9efbf8423853616eaa24841e4d1996b2db0036900617fb1dbc76c75a1f360";
     };
     meta = {
@@ -4393,7 +4406,7 @@ let
     pname = "Data-UUID";
     version = "1.224";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.224.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Data-UUID-1.224.tar.gz";
       sha256 = "0z7l3fc710v830n1krgrp7wzfispi5s0h10cyk65xvxv09sw2n69";
     };
   };
@@ -4402,7 +4415,7 @@ let
     pname = "Data-UUID-MT";
     version = "1.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Data-UUID-MT-1.001.tar.gz";
       sha256 = "0bb7qibq1c5lhaihxa1sck9pb744p8c7172jgx5zh4c32ac4nk1h";
     };
     buildInputs = [ ListAllUtils ];
@@ -4417,7 +4430,7 @@ let
     pname = "Data-Validate-Domain";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-Domain-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-Domain-0.14.tar.gz";
       sha256 = "4470f253b8d2720a4dd3fa3ae550995417c2269f3be7ff030e01afa04a3a9421";
     };
     buildInputs = [ Test2Suite ];
@@ -4432,7 +4445,7 @@ let
     pname = "Data-Validate-IP";
     version = "0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-IP-0.27.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Data-Validate-IP-0.27.tar.gz";
       sha256 = "e1aa92235dcb9c6fd9b6c8cda184d1af73537cc77f4f83a0f88207a8bfbfb7d6";
     };
     buildInputs = [ TestRequires ];
@@ -4447,7 +4460,7 @@ let
     pname = "Data-Validate-URI";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SO/SONNEN/Data-Validate-URI-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/S/SO/SONNEN/Data-Validate-URI-0.07.tar.gz";
       sha256 = "f06418d2a4603913d1b6ce52b167dd13e787e13bf2be325a065df7d408f79c60";
     };
     propagatedBuildInputs = [ DataValidateDomain DataValidateIP ];
@@ -4461,7 +4474,7 @@ let
     pname = "Data-Visitor";
     version = "0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Data-Visitor-0.30.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/Data-Visitor-0.30.tar.gz";
       sha256 = "0m7d1505af9z2hj5aw020grcmjjlvnkjpvjam457d7k5qfy4m8lf";
     };
     buildInputs = [ TestRequires ];
@@ -4472,7 +4485,7 @@ let
     pname = "Date-Calc";
     version = "6.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.4.tar.gz;
+      url = "mirror://cpan/authors/id/S/ST/STBEY/Date-Calc-6.4.tar.gz";
       sha256 = "1barz0jgdaan3jm7ciphs5n3ahwkl42imprs3y8c1dwpwyr3gqbw";
     };
     propagatedBuildInputs = [ BitVector ];
@@ -4483,7 +4496,7 @@ let
     pname = "Date-Extract";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Date-Extract-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/Date-Extract-0.06.tar.gz";
       sha256 = "bc7658d5c50c3525ec0efcb55236a5de2d5d4fc06fc147fa3929c8f0953cda2b";
     };
     buildInputs = [ TestMockTime ];
@@ -4494,7 +4507,7 @@ let
     pname = "Date-Manip";
     version = "6.79";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.79.tar.gz;
+      url = "mirror://cpan/authors/id/S/SB/SBECK/Date-Manip-6.79.tar.gz";
       sha256 = "0fllcvsd08wz71wyppyhgb6mingfihhsf5raraildggdwhnc9a3i";
     };
     # for some reason, parsing /etc/localtime does not work anymore - make sure that the fallback "/bin/date +%Z" will work
@@ -4512,7 +4525,7 @@ let
     pname = "Date-Simple";
     version = "3.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz;
+      url = "mirror://cpan/authors/id/I/IZ/IZUT/Date-Simple-3.03.tar.gz";
       sha256 = "29a1926314ce1681a312d6155c29590c771ddacf91b7485873ce449ef209dd04";
     };
     meta = {
@@ -4524,7 +4537,7 @@ let
     pname = "DateTime";
     version = "1.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.51.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-1.51.tar.gz";
       sha256 = "1ibfq6acz1ih28vl613yygbb3r2d8ykx6di669vajhvswl6xl8ny";
     };
     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
@@ -4539,7 +4552,7 @@ let
     pname = "DateTime-Calendar-Julian";
     version = "0.102";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz;
+      url = "mirror://cpan/authors/id/W/WY/WYANT/DateTime-Calendar-Julian-0.102.tar.gz";
       sha256 = "0j95dhma66spjyb04zi6rwy7l33hibnrx02mn0znd9m89aiq52s6";
     };
     meta = {
@@ -4553,7 +4566,7 @@ let
     pname = "DateTime-Event-ICal";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-ICal-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-ICal-0.13.tar.gz";
       sha256 = "1skmykxbrf98ldi72d5s1v6228gfdr5iy4y0gpl0xwswxy247njk";
     };
     propagatedBuildInputs = [ DateTimeEventRecurrence ];
@@ -4567,7 +4580,7 @@ let
     pname = "DateTime-Event-Recurrence";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Event-Recurrence-0.19.tar.gz";
       sha256 = "f9408789a461107766ca1a232bb3ec1e702eec7ca8167401ea6ec3f4b6d0b5a5";
     };
     propagatedBuildInputs = [ DateTimeSet ];
@@ -4577,7 +4590,7 @@ let
     pname = "DateTime-Format-Builder";
     version = "0.82";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.82.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Builder-0.82.tar.gz";
       sha256 = "383faeb22b992c77ca65a5257992dd2f6db91a7db73ea4601c512e1c6c2e1ca3";
     };
     propagatedBuildInputs = [ DateTimeFormatStrptime ParamsValidate ];
@@ -4591,7 +4604,7 @@ let
     pname = "DateTime-Format-DateParse";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-DateParse-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-DateParse-0.05.tar.gz";
       sha256 = "f6eca4c8be66ce9992ee150932f8fcf07809fd3d1664caf200b8a5fd3a7e5ebc";
     };
     propagatedBuildInputs = [ DateTime TimeDate ];
@@ -4605,7 +4618,7 @@ let
     pname = "DateTime-Format-Flexible";
     version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.32.tar.gz;
+      url = "mirror://cpan/authors/id/T/TH/THINC/DateTime-Format-Flexible-0.32.tar.gz";
       sha256 = "50a7b9feb287bb14b27323a53c2324486181a3ab6cb3f4c7662d42be901ad8ee";
     };
     propagatedBuildInputs = [ DateTimeFormatBuilder ListMoreUtils ModulePluggable ];
@@ -4620,7 +4633,7 @@ let
     pname = "DateTime-Format-HTTP";
     version = "0.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.42.tar.gz;
+      url = "mirror://cpan/authors/id/C/CK/CKRAS/DateTime-Format-HTTP-0.42.tar.gz";
       sha256 = "0h6qqdg1yzqkdxp7hqlp0qa7d1y64nilgimxs79dys2ryjfpcknh";
     };
     propagatedBuildInputs = [ DateTime HTTPDate ];
@@ -4634,7 +4647,7 @@ let
     pname = "DateTime-Format-ICal";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-ICal-0.09.tar.gz";
       sha256 = "8b09f6539f5e9c0df0e6135031699ed4ef9eef8165fc80aefeecc817ef997c33";
     };
     propagatedBuildInputs = [ DateTimeEventICal ];
@@ -4648,7 +4661,7 @@ let
     pname = "DateTime-Format-ISO8601";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/J/JH/JHOBLITT/DateTime-Format-ISO8601-0.08.tar.gz";
       sha256 = "1syccqd5jlwms8v78ksnf68xijzl97jky5vbwhnyhxi5gvgfx8xk";
     };
     propagatedBuildInputs = [ DateTimeFormatBuilder ];
@@ -4662,7 +4675,7 @@ let
     pname = "DateTime-Format-Mail";
     version = "0.403";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.403.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOOK/DateTime-Format-Mail-0.403.tar.gz";
       sha256 = "8df8e35c4477388ff5c7ce8b3e8b6ae4ed30209c7a5051d41737bd14d755fcb0";
     };
     propagatedBuildInputs = [ DateTime ParamsValidate ];
@@ -4676,7 +4689,7 @@ let
     pname = "DateTime-Format-Natural";
     version = "1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.08.tar.gz;
+      url = "mirror://cpan/authors/id/S/SC/SCHUBIGER/DateTime-Format-Natural-1.08.tar.gz";
       sha256 = "0hfk9cqfy0j49vqllhxfikbkqjhf7jrm6zb9i2bxq2ywm8qnz1rj";
     };
     buildInputs = [ ModuleUtil TestMockTime ];
@@ -4691,7 +4704,7 @@ let
     pname = "DateTime-Format-MySQL";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XM/XMIKEW/DateTime-Format-MySQL-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/X/XM/XMIKEW/DateTime-Format-MySQL-0.06.tar.gz";
       sha256 = "07cgz60gxvrv7xqvngyll60pa8cx93h3jyx9kc9wdkn95qbd864q";
     };
     propagatedBuildInputs = [ DateTimeFormatBuilder ];
@@ -4705,7 +4718,7 @@ let
     pname = "DateTime-Format-Pg";
     version = "0.16013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16013.tar.gz;
+      url = "mirror://cpan/authors/id/D/DM/DMAKI/DateTime-Format-Pg-0.16013.tar.gz";
       sha256 = "16siw0f3a0ilzv5fnfas5s9n92drjy271yf6qvmmpm0vwnjjx1kz";
     };
     propagatedBuildInputs = [ DateTimeFormatBuilder ];
@@ -4720,7 +4733,7 @@ let
     pname = "DateTime-Format-Strptime";
     version = "1.76";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.76.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Format-Strptime-1.76.tar.gz";
       sha256 = "593c26466ed7a3d2cefe9215f1619666c5116bd3a551e0aa74b64a6353fcb50d";
     };
     buildInputs = [ TestFatal TestWarnings ];
@@ -4735,7 +4748,7 @@ let
     pname = "DateTime-Format-SQLite";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/C/CF/CFAERBER/DateTime-Format-SQLite-0.11.tar.gz";
       sha256 = "cc1f4e0ae1d39b0d4c3dddccfd7423c77c67a70950c4b5ecabf8ca553ab294b4";
     };
     propagatedBuildInputs = [ DateTimeFormatBuilder ];
@@ -4749,7 +4762,7 @@ let
     pname = "DateTime-Format-W3CDTF";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/G/GW/GWILLIAMS/DateTime-Format-W3CDTF-0.07.tar.gz";
       sha256 = "69a02b661bbf1daa14a4813cb6786eaa66dbdf2743f0b3f458e30234c3a26268";
     };
     propagatedBuildInputs = [ DateTime ];
@@ -4763,7 +4776,7 @@ let
     pname = "DateTime-Locale";
     version = "1.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.25.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-Locale-1.25.tar.gz";
       sha256 = "aa79746bd488b32aa4dbccccd05f1e5505642be013d8064a5d6f8a76a3c45d0b";
     };
     buildInputs = [ CPANMetaCheck FileShareDirInstall IPCSystemSimple TestFatal TestFileShareDir TestRequires TestWarnings ];
@@ -4778,7 +4791,7 @@ let
     pname = "DateTime-Set";
     version = "0.3900";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3900.tar.gz;
+      url = "mirror://cpan/authors/id/F/FG/FGLOCK/DateTime-Set-0.3900.tar.gz";
       sha256 = "94f41c3924aafde4ef7fa6b58e0595d4038d8ac5ffd62ba111b13c5f4dbc0946";
     };
     propagatedBuildInputs = [ DateTime ParamsValidate SetInfinite ];
@@ -4792,7 +4805,7 @@ let
     pname = "DateTime-TimeZone";
     version = "2.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/DateTime-TimeZone-2.38.tar.gz";
       sha256 = "0e5c99ef22471f4d262ac590ce5ce8177094d7a92f380d8eea6219f5a12dc0cd";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -4807,7 +4820,7 @@ let
     pname = "DateTimeX-Easy";
     version = "0.089";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROKR/DateTimeX-Easy-0.089.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROKR/DateTimeX-Easy-0.089.tar.gz";
       sha256 = "17e6d202e7ac6049523048e97bb8f195e3c79208570da1504f4313584e487a79";
     };
     buildInputs = [ TestMost ];
@@ -4823,7 +4836,7 @@ let
     pname = "Debug-ShowStuff";
     version = "1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKO/Debug-ShowStuff-1.16.tar.gz";
       sha256 = "1drcrnji3yrd0s3xb69bxnqa51s19c13w68vhvjad3nvswn5vpd4";
     };
     propagatedBuildInputs = [ ClassISA DevelStackTrace StringUtil TermReadKey TextTabularDisplay TieIxHash ];
@@ -4837,7 +4850,7 @@ let
     pname = "Devel-Caller";
     version = "2.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.06.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Devel-Caller-2.06.tar.gz";
       sha256 = "1pxpimifzmnjnvf4icclx77myc15ahh0k56sj1djad1855mawwva";
     };
     propagatedBuildInputs = [ PadWalker ];
@@ -4851,7 +4864,7 @@ let
      pname = "Devel-CheckBin";
      version = "0.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Devel-CheckBin-0.04.tar.gz;
+       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Devel-CheckBin-0.04.tar.gz";
        sha256 = "1r735yzgvsxkj4m6ks34xva5m21cfzp9qiis2d4ivv99kjskszqm";
      };
      meta = {
@@ -4865,7 +4878,7 @@ let
      pname = "Devel-CheckCompiler";
      version = "0.07";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz;
+       url = "mirror://cpan/authors/id/S/SY/SYOHEX/Devel-CheckCompiler-0.07.tar.gz";
        sha256 = "1db973a4dbyknjxq608hywil5ai6vplnayshqxrd7m5qnjbpd2vn";
      };
      buildInputs = [ ModuleBuildTiny ];
@@ -4880,7 +4893,7 @@ let
     pname = "Devel-CheckLib";
     version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.14.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATTN/Devel-CheckLib-1.14.tar.gz";
       sha256 = "15621qh5gaan1sgmk9y9svl70nm8viw17x5h1kf0zknkk8lmw77j";
     };
     buildInputs = [ CaptureTiny MockConfig ];
@@ -4890,7 +4903,7 @@ let
     pname = "Devel-CheckOS";
     version = "1.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-CheckOS-1.81.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Devel-CheckOS-1.81.tar.gz";
       sha256 = "f3c17b56b79283b62616f938d36c57adc9df06bfaa295ff98be21e9014a23b10";
     };
     propagatedBuildInputs = [ DataCompare ];
@@ -4913,12 +4926,12 @@ let
     pname = "Devel-PatchPerl";
     version = "1.84";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.84.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Devel-PatchPerl-1.84.tar.gz";
       sha256 = "1nlil7mq8vc3lbsr5p3zr7jqaclkr0blhmb8sgkyc7mbvhml9jzp";
     };
     propagatedBuildInputs = [ Filepushd ModulePluggable ];
     meta = {
-      homepage = https://github.com/bingos/devel-patchperl;
+      homepage = "https://github.com/bingos/devel-patchperl";
       description = "Patch perl source a la Devel::PPPort's buildperl.pl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4928,7 +4941,7 @@ let
     pname = "Devel-Refcount";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Devel-Refcount-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Devel-Refcount-0.10.tar.gz";
       sha256 = "0jnaraqkigyinhwz4nqk1ndq7ssjizr98nd1dd183a6icdlx8m5n";
     };
     buildInputs = [ TestFatal ];
@@ -4942,7 +4955,7 @@ let
     pname = "Devel-PPPort";
     version = "3.56";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.56.tar.gz;
+      url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Devel-PPPort-3.56.tar.gz";
       sha256 = "628476dbfeb7be92471e48f75fe0d36659b92493669ebd02cf04e3a13429521b";
     };
     meta = {
@@ -4955,7 +4968,7 @@ let
     pname = "Devel-Trace";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/M/MJ/MJD/Devel-Trace-0.12.tar.gz";
       sha256 = "0s1q1a05gk3xvwqkya3k05vqjk13rvb489g0frprhzpzfvvwl0gm";
     };
     meta = {
@@ -4997,11 +5010,21 @@ let
     };
   };
 
+  DBDCSV = buildPerlPackage {
+    pname = "DBD-CSV";
+    version = "0.54";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/H/HM/HMBRAND/DBD-CSV-0.54.tgz";
+      sha256 = "bc597cd7195e5a023e2b3413d8dc614602b9b3f279f436027881796464d4f0be";
+    };
+    propagatedBuildInputs = [ DBI TextCSV_XS SQLStatement ModuleRuntime ParamsUtil ];
+  };
+
   DBDMock = buildPerlModule {
     pname = "DBD-Mock";
     version = "1.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.55.tar.gz;
+      url = "mirror://cpan/authors/id/J/JL/JLCOOPER/DBD-Mock-1.55.tar.gz";
       sha256 = "827ca7a363eca8d1d4912decc920eb55ef8e8173e0f756808e2ed304f0dad20c";
     };
     propagatedBuildInputs = [ DBI ];
@@ -5013,7 +5036,7 @@ let
     version = "1.64";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.64.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/DBD-SQLite-1.64.tar.gz";
       sha256 = "00gz5aw3xrr92lf9nfk0dhmy7a8jzmxhznddd9b0a8w4a1xqzbpl";
     };
 
@@ -5046,7 +5069,7 @@ let
     version = "4.050";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz;
+      url = "mirror://cpan/authors/id/D/DV/DVEEDEN/DBD-mysql-4.050.tar.gz";
       sha256 = "0y4djb048i09dk19av7mzfb3khr72vw11p3ayw2p82jsy4gm8j2g";
     };
 
@@ -5063,7 +5086,7 @@ let
     version = "1.80";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJEVANS/DBD-Oracle-1.80.tar.gz;
+      url = "mirror://cpan/authors/id/M/MJ/MJEVANS/DBD-Oracle-1.80.tar.gz";
       sha256 = "1rza36dywbsaync99ibscpqdp53m0yg2748bbib16gbf4cl2apph";
     };
 
@@ -5082,7 +5105,7 @@ let
     version = "3.10.3";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.10.3.tar.gz;
+      url = "mirror://cpan/authors/id/T/TU/TURNSTEP/DBD-Pg-3.10.3.tar.gz";
       sha256 = "0swj2pkga92z15rnq9f0j9s84j5ancgas0ncd4k230bd8advlgn6";
     };
 
@@ -5106,7 +5129,7 @@ let
     version = "1.16";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.16.tar.gz;
+      url = "mirror://cpan/authors/id/M/ME/MEWP/DBD-Sybase-1.16.tar.gz";
       sha256 = "1k6n261nrrcll9wxn5xwi4ibpavqv1il96687k62mbpznzl2gx37";
     };
 
@@ -5123,7 +5146,7 @@ let
     version = "1.853";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.853.tar.gz;
+      url = "mirror://cpan/authors/id/P/PM/PMQS/DB_File-1.853.tar.gz";
       sha256 = "1y967si45vj0skip1hnhicbv9da29fv6qcfwnsbnvj06n36mkj6h";
     };
 
@@ -5141,7 +5164,7 @@ let
     pname = "DBI";
     version = "1.642";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TIMB/DBI-1.642.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TIMB/DBI-1.642.tar.gz";
       sha256 = "3f2025023a56286cebd15cb495e36ccd9b456c3cc229bf2ce1f69e9ebfc27f5d";
     };
     postInstall = stdenv.lib.optionalString (perl ? crossVersion) ''
@@ -5183,7 +5206,7 @@ let
       EOF
     '';
     meta = {
-      homepage = https://dbi.perl.org/;
+      homepage = "https://dbi.perl.org/";
       description = "Database independent interface for Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5210,13 +5233,13 @@ let
     pname = "DBIx-Class";
     version = "0.082841";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082841.tar.gz;
+      url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/DBIx-Class-0.082841.tar.gz";
       sha256 = "d705f85825aced299020534349778537524526d64f524217ca362787f683c3bd";
     };
     buildInputs = [ DBDSQLite TestDeep TestException TestWarn ];
     propagatedBuildInputs = [ ClassAccessorGrouped ClassC3Componentised ConfigAny ContextPreserve DBI DataDumperConcise DataPage DevelGlobalDestruction ModuleFind PathClass SQLAbstract ScopeGuard SubName namespaceclean ];
     meta = {
-      homepage = https://metacpan.org/pod/DBIx::Class;
+      homepage = "https://metacpan.org/pod/DBIx::Class";
       description = "Extensible and flexible object <-> relational mapper";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5226,13 +5249,13 @@ let
     pname = "DBIx-Class-Candy";
     version = "0.005003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.005003.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Candy-0.005003.tar.gz";
       sha256 = "b8a229a7b15f559095d4561cf8220460128541ba7fc3545ed35869923d46565c";
     };
     buildInputs = [ TestDeep TestFatal ];
     propagatedBuildInputs = [ DBIxClass LinguaENInflect SubExporter ];
     meta = {
-      homepage = https://github.com/frioux/DBIx-Class-Candy;
+      homepage = "https://github.com/frioux/DBIx-Class-Candy";
       description = "Sugar for your favorite ORM, DBIx::Class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5242,7 +5265,7 @@ let
     pname = "DBIx-Class-Cursor-Cached";
     version = "1.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001004.tar.gz;
+      url = "mirror://cpan/authors/id/A/AR/ARCANEZ/DBIx-Class-Cursor-Cached-1.001004.tar.gz";
       sha256 = "09b2jahn2x12qm4f7qm1jzsxbz7qn1czp6a3fnl5l2i3l4r5421p";
     };
     buildInputs = [ CacheCache DBDSQLite ];
@@ -5274,7 +5297,7 @@ let
     pname = "DBIx-Class-HTMLWidget";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDREMAR/DBIx-Class-HTMLWidget-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDREMAR/DBIx-Class-HTMLWidget-0.16.tar.gz";
       sha256 = "05zhniyzl31nq410ywhxm0vmvac53h7ax42hjs9mmpvf45ipahj1";
     };
     propagatedBuildInputs = [ DBIxClass HTMLWidget ];
@@ -5284,13 +5307,13 @@ let
     pname = "DBIx-Class-Helpers";
     version = "2.034002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034002.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Class-Helpers-2.034002.tar.gz";
       sha256 = "08ab0eae514653b7f59444a0a19188ef65351889e9aefb19a2ea5a159fe2574b";
     };
     buildInputs = [ DBDSQLite DateTimeFormatSQLite TestDeep TestFatal TestRoo aliased ];
     propagatedBuildInputs = [ CarpClan DBIxClassCandy DBIxIntrospector SafeIsa TextBrew ];
     meta = {
-      homepage = https://github.com/frioux/DBIx-Class-Helpers;
+      homepage = "https://github.com/frioux/DBIx-Class-Helpers";
       description = "Simplify the common case stuff for DBIx::Class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5317,7 +5340,7 @@ let
     pname = "DBIx-Class-IntrospectableM2M";
     version = "0.001002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-IntrospectableM2M-0.001002.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-IntrospectableM2M-0.001002.tar.gz";
       sha256 = "c6baafb4241693fdb34b29ebd906993add364bf31aafa4462f3e062204cc87f0";
     };
     propagatedBuildInputs = [ DBIxClass ];
@@ -5331,7 +5354,7 @@ let
     pname = "DBIx-Class-Schema-Loader";
     version = "0.07049";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-Schema-Loader-0.07049.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/DBIx-Class-Schema-Loader-0.07049.tar.gz";
       sha256 = "e869cdde1378cfebccf229b0cde58d2746dc6080b75f56d072aa5f1fce76a764";
     };
     buildInputs = [ DBDSQLite TestDeep TestDifferences TestException TestWarn ];
@@ -5346,7 +5369,7 @@ let
     pname = "DBIx-Connector";
     version = "0.56";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/DBIx-Connector-0.56.tar.gz;
+      url = "mirror://cpan/authors/id/D/DW/DWHEELER/DBIx-Connector-0.56.tar.gz";
       sha256 = "57c08d2c1951486cb95cfb83f518f462a3dbf20d353f3eee4f46af44fa19c359";
     };
     buildInputs = [ TestMockModule ];
@@ -5361,7 +5384,7 @@ let
     pname = "DBIx-DBSchema";
     version = "0.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IV/IVAN/DBIx-DBSchema-0.45.tar.gz;
+      url = "mirror://cpan/authors/id/I/IV/IVAN/DBIx-DBSchema-0.45.tar.gz";
       sha256 = "7a2a978fb6d9feaa3e4b109c71c963b26a008a2d130c5876ecf24c5a72338a1d";
     };
     propagatedBuildInputs = [ DBI ];
@@ -5371,7 +5394,7 @@ let
     pname = "DBIx-SearchBuilder";
     version = "1.67";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.67.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/DBIx-SearchBuilder-1.67.tar.gz";
       sha256 = "453179c22a61af573e502c8396f3f28daea03dfdc162094b90f9b3c331d563da";
     };
     buildInputs = [ DBDSQLite ];
@@ -5386,7 +5409,7 @@ let
     pname = "DBIx-Simple";
     version = "1.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.37.tar.gz;
+      url = "mirror://cpan/authors/id/J/JU/JUERD/DBIx-Simple-1.37.tar.gz";
       sha256 = "46d311aa2ce08907401c56119658426dbb044c5a40de73d9a7b79bf50390cae3";
     };
     propagatedBuildInputs = [ DBI ];
@@ -5399,7 +5422,7 @@ let
     pname = "Data-Binary";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SN/SNKWATT/Data-Binary-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/S/SN/SNKWATT/Data-Binary-0.01.tar.gz";
       sha256 = "0wwdrgkz4yqpzdmfvid63v5v10b9hwdsg15jvks0hwdc23ga48a8";
     };
     meta = {
@@ -5412,7 +5435,7 @@ let
     pname = "DBIx-Introspector";
     version = "0.001005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/DBIx-Introspector-0.001005.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/DBIx-Introspector-0.001005.tar.gz";
       sha256 = "0fp6h71xv4pgb8l815rs6ad4camzhjqf64s1sf7zmhchqqn4vacn";
     };
 
@@ -5424,7 +5447,7 @@ let
     pname = "Devel-Cycle";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/L/LD/LDS/Devel-Cycle-1.12.tar.gz";
       sha256 = "1hhb77kz3dys8yaik452j22cm3510zald2mpvfyv5clqv326aczx";
     };
     meta = {
@@ -5436,7 +5459,7 @@ let
     pname = "Devel-Declare";
     version = "0.006019";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Devel-Declare-0.006019.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-Declare-0.006019.tar.gz";
       sha256 = "ac719dc289cbf53fbb3b090ccd3a55a9d207f24e09480423c96f7185af131808";
     };
     buildInputs = [ ExtUtilsDepends TestRequires ];
@@ -5451,7 +5474,7 @@ let
     pname = "Devel-FindPerl";
     version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.015.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Devel-FindPerl-0.015.tar.gz";
       sha256 = "1z1xfj3178w632mqddyklk355a19bsgzkilznrng3rvg4bfbfxaj";
     };
     meta = {
@@ -5464,7 +5487,7 @@ let
     pname = "Devel-GlobalDestruction";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalDestruction-0.14.tar.gz";
       sha256 = "1aslj6myylsvzr0vpqry1cmmvzbmpbdcl4v9zrl18ccik7rabf1l";
     };
     propagatedBuildInputs = [ SubExporterProgressive ];
@@ -5477,7 +5500,7 @@ let
      pname = "Devel-GlobalPhase";
      version = "0.003003";
      src = fetchurl {
-       url = mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalPhase-0.003003.tar.gz;
+       url = "mirror://cpan/authors/id/H/HA/HAARG/Devel-GlobalPhase-0.003003.tar.gz";
        sha256 = "1x9jzy3l7gwikj57swzl94qsq03j9na9h1m69azzs7d7ghph58wd";
      };
      meta = {
@@ -5490,7 +5513,7 @@ let
     pname = "Devel-Hide";
     version = "0.0010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Devel-Hide-0.0010.tar.gz;
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/Devel-Hide-0.0010.tar.gz";
       sha256 = "10jyv9nmv513hs75rls5yx2xn82513xnnhjir3dxiwgb1ykfyvvm";
     };
   };
@@ -5499,12 +5522,12 @@ let
     pname = "Devel-NYTProf";
     version = "6.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TIMB/Devel-NYTProf-6.06.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TIMB/Devel-NYTProf-6.06.tar.gz";
       sha256 = "a14227ca79f1750b92cc7b8b0a5806c92abc4964a21a7fb100bd4907d6c4be55";
     };
     propagatedBuildInputs = [ FileWhich JSONMaybeXS ];
     meta = {
-      homepage = https://github.com/timbunce/devel-nytprof;
+      homepage = "https://github.com/timbunce/devel-nytprof";
       description = "Powerful fast feature-rich Perl source code profiler";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5515,7 +5538,7 @@ let
      pname = "Devel-OverloadInfo";
      version = "0.005";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.005.tar.gz;
+       url = "mirror://cpan/authors/id/I/IL/ILMARI/Devel-OverloadInfo-0.005.tar.gz";
        sha256 = "1rx6g8pyhi7lx6z130b7vlf8syzrq92w9ky8mpw4d6bwlkzy5zcb";
      };
      propagatedBuildInputs = [ MROCompat PackageStash SubIdentify ];
@@ -5530,7 +5553,7 @@ let
     pname = "Devel-PartialDump";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Devel-PartialDump-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Devel-PartialDump-0.20.tar.gz";
       sha256 = "01yrsdpn9ns9iwwc92bhjn2605b7ys7i3198gjb935lsllzgzw5f";
     };
     propagatedBuildInputs = [ ClassTiny SubExporter namespaceclean ];
@@ -5541,7 +5564,7 @@ let
     pname = "Devel-StackTrace";
     version = "2.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Devel-StackTrace-2.04.tar.gz";
       sha256 = "cd3c03ed547d3d42c61fa5814c98296139392e7971c092e09a431f2c9f5d6855";
     };
     meta = {
@@ -5554,7 +5577,7 @@ let
     pname = "Devel-StackTrace-AsHTML";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Devel-StackTrace-AsHTML-0.15.tar.gz";
       sha256 = "0iri5nb2lb76qv5l9z0vjpfrq5j2fyclkd64kh020bvy37idp0v2";
     };
     propagatedBuildInputs = [ DevelStackTrace ];
@@ -5568,7 +5591,7 @@ let
     pname = "Devel-Symdump";
     version = "2.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDK/Devel-Symdump-2.18.tar.gz";
       sha256 = "826f81a107f5592a2516766ed43beb47e10cc83edc9ea48090b02a36040776c0";
     };
     meta = {
@@ -5581,7 +5604,7 @@ let
     pname = "Digest-CRC";
     version = "0.22.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-0.22.2.tar.gz;
+      url = "mirror://cpan/authors/id/O/OL/OLIMAUL/Digest-CRC-0.22.2.tar.gz";
       sha256 = "112b50f7fbc6f6baf5d4584ee97f542ced6c9ec03a3147f7902c84b8b26778cb";
     };
     meta = {
@@ -5594,7 +5617,7 @@ let
     pname = "Digest-HMAC";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-HMAC-1.03.tar.gz";
       sha256 = "0naavabbm1c9zgn325ndy66da4insdw9l3mrxwxdfi7i7xnjrirv";
     };
     meta = {
@@ -5607,7 +5630,7 @@ let
     pname = "Digest-JHash";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Digest-JHash-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Digest-JHash-0.10.tar.gz";
       sha256 = "c746cf0a861a004090263cd54d7728d0c7595a0cf90cbbfd8409b396ee3b0063";
     };
     meta = {
@@ -5620,7 +5643,7 @@ let
     pname = "Digest-MD4";
     version = "1.9";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-1.9.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKEM/DigestMD4/Digest-MD4-1.9.tar.gz";
       sha256 = "19ma1hmvgiznq95ngzvm6v4dfxc9zmi69k8iyfcg6w14lfxi0lb6";
     };
   };
@@ -5629,7 +5652,7 @@ let
     pname = "Digest-MD5-File";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/D/DM/DMUEY/Digest-MD5-File-0.08.tar.gz";
       sha256 = "060jzf45dlwysw5wsm7av1wvpl06xgk415kwwpvv89r6wda3md5d";
     };
     propagatedBuildInputs = [ LWP ];
@@ -5642,7 +5665,7 @@ let
     pname = "Digest-Perl-MD5";
     version = "1.9";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DELTA/Digest-Perl-MD5-1.9.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DELTA/Digest-Perl-MD5-1.9.tar.gz";
       sha256 = "7100cba1710f45fb0e907d8b1a7bd8caef35c64acd31d7f225aff5affeecd9b1";
     };
     meta = {
@@ -5655,7 +5678,7 @@ let
     pname = "Digest-SHA1";
     version = "2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/Digest-SHA1-2.13.tar.gz";
       sha256 = "1k23p5pjk42vvzg8xcn4iwdii47i0qm4awdzgbmz08bl331dmhb8";
     };
     meta = {
@@ -5683,7 +5706,7 @@ let
     pname = "Dir-Manifest";
     version = "0.6.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Dir-Manifest-0.6.1.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Dir-Manifest-0.6.1.tar.gz";
       sha256 = "01g54wlvp647zvhn0sxl2pqajly17044qd3pxib8cpixhwk75zw4";
     };
     propagatedBuildInputs = [ Moo PathTiny ];
@@ -5697,7 +5720,7 @@ let
     pname = "Dispatch-Class";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAUKE/Dispatch-Class-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAUKE/Dispatch-Class-0.02.tar.gz";
       sha256 = "10k5l4n2mp0hfn9jwn785k211n75y56zwny1zx3bvs7r38xv8kfp";
     };
     propagatedBuildInputs = [ ExporterTiny ];
@@ -5711,7 +5734,7 @@ let
     pname = "Dist-CheckConflicts";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/Dist-CheckConflicts-0.11.tar.gz";
       sha256 = "1i7dr9jpdiy2nijl2p4q5zg2q2s9ckbj2hs4kmnnckf9hsb4p17a";
     };
     buildInputs = [ TestFatal ];
@@ -5726,13 +5749,13 @@ let
     pname = "Dist-Zilla";
     version = "6.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-6.012.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-6.012.tar.gz";
       sha256 = "0w1hhvxcdf52ln940f8i37adv2gp7l8ryf2nm6m7haynyrsk0n37";
     };
     buildInputs = [ CPANMetaCheck TestDeep TestFailWarnings TestFatal TestFileShareDir ];
     propagatedBuildInputs = [ AppCmd CPANUploader ConfigMVPReaderINI DateTime FileCopyRecursive FileFindRule FileShareDirInstall Filepushd LogDispatchouli MooseXLazyRequire MooseXSetOnce MooseXTypesPerl PathTiny PerlPrereqScanner PodEventual SoftwareLicense TermEncoding TermUI YAMLTiny ];
     meta = {
-      homepage = http://dzil.org/;
+      homepage = "http://dzil.org/";
       description = "Distribution builder; installer not included!";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5743,7 +5766,7 @@ let
     pname = "Dist-Zilla-PluginBundle-TestingMania";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-PluginBundle-TestingMania-0.25.tar.gz";
       sha256 = "072rsilh88xnk18ldbr8d0svji72r79sabyird6xc3ql1z0b42sy";
     };
     buildInputs = [ MooseAutobox TestCPANMeta TestPerlCritic TestVersion ];
@@ -5759,7 +5782,7 @@ let
     pname = "Dist-Zilla-Plugin-CheckChangeLog";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/F/FA/FAYLAND/Dist-Zilla-Plugin-CheckChangeLog-0.05.tar.gz";
       sha256 = "b0b34d6d70b56f1944d03c5f0dc3b8f6f24474c816d07b657a116c692c2e052a";
     };
     propagatedBuildInputs = [ DistZilla ];
@@ -5774,12 +5797,12 @@ let
     pname = "Dist-Zilla-Plugin-MojibakeTests";
     version = "0.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.8.tar.gz;
+      url = "mirror://cpan/authors/id/S/SY/SYP/Dist-Zilla-Plugin-MojibakeTests-0.8.tar.gz";
       sha256 = "f1fff547ea24a8f7a483406a72ed6c4058d746d9dae963725502ddba025ab380";
     };
     propagatedBuildInputs = [ DistZilla ];
     meta = {
-      homepage = https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests;
+      homepage = "https://github.com/creaktive/Dist-Zilla-Plugin-MojibakeTests";
       description = "Release tests for source encoding";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5790,12 +5813,12 @@ let
     pname = "Dist-Zilla-Plugin-PodWeaver";
     version = "4.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-4.008.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Dist-Zilla-Plugin-PodWeaver-4.008.tar.gz";
       sha256 = "0ff1i26s54z292j8w8vm3gw3p7w1yq35wi8g978c84ia7y1y7n8z";
     };
     propagatedBuildInputs = [ DistZilla PodElementalPerlMunger PodWeaver ];
     meta = {
-      homepage = https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver;
+      homepage = "https://github.com/rjbs/Dist-Zilla-Plugin-PodWeaver";
       description = "Weave your Pod together from configuration and Dist::Zilla";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5805,13 +5828,13 @@ let
     pname = "Dist-Zilla-Plugin-ReadmeAnyFromPod";
     version = "0.163250";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250.tar.gz;
+      url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeAnyFromPod-0.163250.tar.gz";
       sha256 = "d44f2799922f78b2a7961ed89123e11bdd77abfe85ba2040d82b80ad72ed13bc";
     };
     buildInputs = [ TestDeep TestDifferences TestException TestFatal TestMost TestRequires TestSharedFork TestWarn ];
     propagatedBuildInputs = [ DistZillaRoleFileWatcher MooseXHasSugar PodMarkdownGithub ];
     meta = {
-      homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod;
+      homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeAnyFromPod";
       description = "Automatically convert POD to a README in any format for Dist::Zilla";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5821,13 +5844,13 @@ let
     pname = "Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
     version = "0.141140";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140.tar.gz;
+      url = "mirror://cpan/authors/id/R/RT/RTHOMPSON/Dist-Zilla-Plugin-ReadmeMarkdownFromPod-0.141140.tar.gz";
       sha256 = "9caad7b366ea59119ad73cdd99dcdd53f877a515bd0164fc28b339c01739a801";
     };
     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
     propagatedBuildInputs = [ DistZillaPluginReadmeAnyFromPod ];
     meta = {
-      homepage = https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod;
+      homepage = "https://github.com/DarwinAwardWinner/Dist-Zilla-Plugin-ReadmeMarkdownFromPod";
       description = "Automatically convert POD to a README.mkdn for Dist::Zilla";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5837,7 +5860,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-CPAN-Changes";
     version = "0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Changes-0.012.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Changes-0.012.tar.gz";
       sha256 = "215b3a5c3c58c8bab0ea27130441bbdaec737eecc00f0670937f608bdbf64806";
     };
     buildInputs = [ CPANChanges TestDeep ];
@@ -5852,13 +5875,13 @@ let
     pname = "Dist-Zilla-Plugin-Test-CPAN-Meta-JSON";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-CPAN-Meta-JSON-0.004.tar.gz";
       sha256 = "0a573e1d5640374e6ee4d56d4fb94a3c67d4e75d52b3ddeae70cfa6450e1af22";
     };
     buildInputs = [ MooseAutobox TestCPANMetaJSON TestDeep ];
     propagatedBuildInputs = [ DistZilla ];
     meta = {
-      homepage = http://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON;
+      homepage = "http://p3rl.org/Dist::Zilla::Plugin::Test::CPAN::Meta::JSON";
       description = "Release tests for your META.json";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5868,13 +5891,13 @@ let
     pname = "Dist-Zilla-Plugin-Test-Compile";
     version = "2.058";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.058.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Compile-2.058.tar.gz";
       sha256 = "d0cf93e525f102eca0f7f3967124d2e59d0a212f738ce54c1ddd91dda268d88a";
     };
     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestDeep TestMinimumVersion TestWarnings ];
     propagatedBuildInputs = [ DistZilla ];
     meta = {
-      homepage = https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile;
+      homepage = "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile";
       description = "Common tests to check syntax of your modules, only using core modules";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5884,7 +5907,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-DistManifest";
     version = "2.000005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-DistManifest-2.000005.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-DistManifest-2.000005.tar.gz";
       sha256 = "4f0af27bb38745d2dec7d941bcf749e6d7fbeaf8e7bcf8a79a1310a9639b0f65";
     };
     buildInputs = [ TestDeep TestDistManifest TestOutput ];
@@ -5899,7 +5922,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-EOL";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-EOL-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-EOL-0.19.tar.gz";
       sha256 = "0f23g931azz1k41xdfxw7kayy4snhw4qdr9ysknk5k1cl33mkfd2";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestEOL TestWarnings ];
@@ -5914,7 +5937,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-Kwalitee";
     version = "2.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.12.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Kwalitee-2.12.tar.gz";
       sha256 = "bddbcfcc75e8eb2d2d9c8611552f00cdc1b051f0f00798623b8692ff5030af2f";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestKwalitee ];
@@ -5929,7 +5952,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-MinimumVersion";
     version = "2.000010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-MinimumVersion-2.000010.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-MinimumVersion-2.000010.tar.gz";
       sha256 = "b8b71f4b64b689f4b647a3a87d6aaaae45a68892d35e36baa976f605736370fb";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestMinimumVersion TestOutput ];
@@ -5944,7 +5967,7 @@ let
      pname = "Dist-Zilla-Plugin-Test-NoTabs";
      version = "0.15";
      src = fetchurl {
-       url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-NoTabs-0.15.tar.gz;
+       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-NoTabs-0.15.tar.gz";
        sha256 = "196hchmn8y591533v3p7kl75nlhpaygbfdiw2iqbnab9j510qq8v";
      };
      propagatedBuildInputs = [ DistZilla ];
@@ -5960,7 +5983,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-Perl-Critic";
     version = "3.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Perl-Critic-3.001.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Perl-Critic-3.001.tar.gz";
       sha256 = "9250b59d5dc1ae4c6893ba783bd3f05131b14ff9e91afb4555314f55268a3825";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestPerlCritic ];
@@ -5975,13 +5998,13 @@ let
     pname = "Dist-Zilla-Plugin-Test-Pod-LinkCheck";
     version = "1.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.004.tar.gz;
+      url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Dist-Zilla-Plugin-Test-Pod-LinkCheck-1.004.tar.gz";
       sha256 = "325d236da0940388d2aa86ec5c1326516b4ad45adef8e7a4f83bb91d5ee15490";
     };
 #    buildInputs = [ TestPodLinkCheck ];
     propagatedBuildInputs = [ DistZilla ];
     meta = {
-      homepage = https://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck;
+      homepage = "https://github.com/rwstauner/Dist-Zilla-Plugin-Test-Pod-LinkCheck";
       description = "Add release tests for POD links";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -5991,7 +6014,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-Portability";
     version = "2.001000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Portability-2.001000.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Plugin-Test-Portability-2.001000.tar.gz";
       sha256 = "e08ff5bd9e24cf9503055330148913808d91a3dfe320a2bdf8b0fc638719b179";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestPortabilityFiles TestWarnings ];
@@ -6006,7 +6029,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-Synopsis";
     version = "2.000007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000007.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-Synopsis-2.000007.tar.gz";
       sha256 = "e7d5e2530cd8a5bb5aadf3e1669a653aaa96e32cad7bd6b9caba6b425ceab563";
     };
     buildInputs = [ TestDeep TestOutput TestSynopsis ];
@@ -6021,7 +6044,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-UnusedVars";
     version = "2.000007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-UnusedVars-2.000007.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOHERTY/Dist-Zilla-Plugin-Test-UnusedVars-2.000007.tar.gz";
       sha256 = "ea0199a3a0043213ddc132508b9ed9b131ef717735b8f93d78291191d04b43c2";
     };
     buildInputs = [ TestDeep TestOutput TestVars ];
@@ -6036,7 +6059,7 @@ let
     pname = "Dist-Zilla-Plugin-Test-Version";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Dist-Zilla-Plugin-Test-Version-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Dist-Zilla-Plugin-Test-Version-1.09.tar.gz";
       sha256 = "7240508731bc1bf6dfad7701ec65450a18ef9245a521ab26ebd6acb39a9ebe17";
     };
     buildInputs = [ Filechdir TestDeep TestEOL TestNoTabs TestScript TestVersion ];
@@ -6051,7 +6074,7 @@ let
      pname = "Dist-Zilla-Role-FileWatcher";
      version = "0.006";
      src = fetchurl {
-       url = mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Role-FileWatcher-0.006.tar.gz;
+       url = "mirror://cpan/authors/id/E/ET/ETHER/Dist-Zilla-Role-FileWatcher-0.006.tar.gz";
        sha256 = "15jfpr257xxp27gz156npgpj7kh2dchzgfmvzivi5bvdb2wl8fpy";
      };
      propagatedBuildInputs = [ DistZilla SafeIsa ];
@@ -6067,7 +6090,7 @@ let
     pname = "Dumbbench";
     version = "0.111";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Dumbbench-0.111.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Dumbbench-0.111.tar.gz";
       sha256 = "1ixjb9y9d0k1vd4mzbi4sgvr99ay4z9jkgychf0r5gbjsskkq7fk";
     };
     propagatedBuildInputs = [ CaptureTiny ClassXSAccessor DevelCheckOS NumberWithError StatisticsCaseResampling ];
@@ -6082,12 +6105,12 @@ let
     pname = "Email-Abstract";
     version = "3.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.008.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Abstract-3.008.tar.gz";
       sha256 = "fc7169acb6c43df7f005e7ef6ad08ee8ca6eb6796b5d1604593c997337cc8240";
     };
     propagatedBuildInputs = [ EmailSimple MROCompat ModulePluggable ];
     meta = {
-      homepage = https://github.com/rjbs/Email-Abstract;
+      homepage = "https://github.com/rjbs/Email-Abstract";
       description = "Unified interface to mail representations";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6097,7 +6120,7 @@ let
     pname = "Email-Address";
     version = "1.912";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.912.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Address-1.912.tar.gz";
       sha256 = "1vzr0vx4zsw4zbc9xdffc31wnkc1raqmyfiyws06fbyck197i8qg";
     };
     meta = {
@@ -6110,7 +6133,7 @@ let
     pname = "Email-Address-List";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/Email-Address-List-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/Email-Address-List-0.06.tar.gz";
       sha256 = "305b94c778011cee70d9f21514d92e985fa9dccbb84c64798f0c1f0b24eb870e";
     };
     buildInputs = [ JSON ];
@@ -6125,7 +6148,7 @@ let
      pname = "Email-Address-XS";
      version = "1.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/P/PA/PALI/Email-Address-XS-1.04.tar.gz;
+       url = "mirror://cpan/authors/id/P/PA/PALI/Email-Address-XS-1.04.tar.gz";
        sha256 = "0gjrrl81z3sfwavgx5kwjd87gj44mlnbbqsm3dgdv1xllw26spwr";
      };
      meta = {
@@ -6138,11 +6161,11 @@ let
     pname = "Email-Date-Format";
     version = "1.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Date-Format-1.005.tar.gz";
       sha256 = "579c617e303b9d874411c7b61b46b59d36f815718625074ae6832e7bb9db5104";
     };
     meta = {
-      homepage = https://github.com/rjbs/Email-Date-Format;
+      homepage = "https://github.com/rjbs/Email-Date-Format";
       description = "Produce RFC 2822 date strings";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6152,7 +6175,7 @@ let
     pname = "Email-Reply";
     version = "1.204";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Reply-1.204.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Reply-1.204.tar.gz";
       sha256 = "ba4fd80ac5017d6d132e0358c786b0ecd1c7adcbeee5c19fb3da2964791a56f0";
     };
     propagatedBuildInputs = [ EmailAbstract EmailAddress EmailMIME ];
@@ -6166,7 +6189,7 @@ let
     pname = "Email-MessageID";
     version = "1.406";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.406.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MessageID-1.406.tar.gz";
       sha256 = "1f22sdnfq169qw1l0lg7y74pmiam7j9v95bggjnf3q4mygdmshpc";
     };
     meta = {
@@ -6179,12 +6202,12 @@ let
     pname = "Email-MIME";
     version = "1.946";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-1.946.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-1.946.tar.gz";
       sha256 = "68ee79023165d77bec99a2e12ef89ad4e12501e6c321f6822053dc4f411c337c";
     };
     propagatedBuildInputs = [ EmailAddressXS EmailMIMEContentType EmailMIMEEncodings EmailMessageID EmailSimple MIMETypes ModuleRuntime ];
     meta = {
-      homepage = https://github.com/rjbs/Email-MIME;
+      homepage = "https://github.com/rjbs/Email-MIME";
       description = "Easy MIME message handling";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6197,7 +6220,7 @@ let
     propagatedBuildInputs = [ EmailAbstract EmailMIME ];
 
     src = fetchurl {
-        url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz;
+        url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Attachment-Stripper-1.317.tar.gz";
         sha256 = "dcb98b09dc3e8f757ec3882a4234548108bb2d12e3cfadf95a26cef381a9e789";
     };
     meta = {
@@ -6210,11 +6233,11 @@ let
     pname = "Email-MIME-ContentType";
     version = "1.022";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-ContentType-1.022.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-ContentType-1.022.tar.gz";
       sha256 = "9abb7280b0da62a855ae5528b14deb94341a84e721af0a7e5a2adc3534ec5310";
     };
     meta = {
-      homepage = https://github.com/rjbs/Email-MIME-ContentType;
+      homepage = "https://github.com/rjbs/Email-MIME-ContentType";
       description = "Parse a MIME Content-Type Header";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6224,12 +6247,12 @@ let
     pname = "Email-MIME-Encodings";
     version = "1.315";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Encodings-1.315.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-MIME-Encodings-1.315.tar.gz";
       sha256 = "4c71045507b31ec853dd60152b40e33ba3741779c0f49bb143b50cf8d243ab5c";
     };
     buildInputs = [ CaptureTiny ];
     meta = {
-      homepage = https://github.com/rjbs/Email-MIME-Encodings;
+      homepage = "https://github.com/rjbs/Email-MIME-Encodings";
       description = "A unified interface to MIME encoding and decoding";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6239,12 +6262,12 @@ let
     pname = "Email-Send";
     version = "2.201";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Send-2.201.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Send-2.201.tar.gz";
       sha256 = "4bbec933558d7cc9b8152bad86dd313de277a21a89b4ea83d84e61587e95dbc6";
     };
     propagatedBuildInputs = [ EmailAbstract EmailAddress ReturnValue ];
     meta = {
-      homepage = https://github.com/rjbs/Email-Send;
+      homepage = "https://github.com/rjbs/Email-Send";
       description = "Simply Sending Email";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6255,12 +6278,12 @@ let
     pname = "Email-Outlook-Message";
     version = "0.919";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MV/MVZ/Email-Outlook-Message-0.919.tar.gz;
+      url = "mirror://cpan/authors/id/M/MV/MVZ/Email-Outlook-Message-0.919.tar.gz";
       sha256 = "0fb1gymqa8nlj540dmbb1rhs2b0ln3y9ippbgj0miswcw92iaayb";
     };
     propagatedBuildInputs = [ EmailMIME EmailSender IOAll IOString OLEStorage_Lite ];
     meta = with stdenv.lib; {
-      homepage = https://www.matijs.net/software/msgconv/;
+      homepage = "https://www.matijs.net/software/msgconv/";
       description = "A .MSG to mbox converter";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ peterhoeg ];
@@ -6271,7 +6294,7 @@ let
     pname = "Email-Sender";
     version = "1.300034";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-1.300034.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Sender-1.300034.tar.gz";
       sha256 = "05ac38a63b053c7c3846ffa45196e4483a5785941b0bfb615b22b7a4f04c5291";
     };
     buildInputs = [ CaptureTiny ];
@@ -6284,7 +6307,7 @@ let
       shortenPerlShebang util/sendmail
     '';
     meta = {
-      homepage = https://github.com/rjbs/Email-Sender;
+      homepage = "https://github.com/rjbs/Email-Sender";
       description = "A library for sending email";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6294,12 +6317,12 @@ let
     pname = "Email-Simple";
     version = "2.216";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.216.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Simple-2.216.tar.gz";
       sha256 = "d85f63cd1088d11311103676a8cf498fff564a201b538de52cd753b5e5ca8bd4";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
     meta = {
-      homepage = https://github.com/rjbs/Email-Simple;
+      homepage = "https://github.com/rjbs/Email-Simple";
       description = "Simple parsing of RFC2822 message format and headers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -6309,7 +6332,7 @@ let
     pname = "Email-Valid";
     version = "1.202";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-1.202.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Email-Valid-1.202.tar.gz";
       sha256 = "18hkmhddzbd23s6ak64d4j6q8ijykjyp5nxbr2hfcq1acsdhh8fh";
     };
     propagatedBuildInputs = [ IOCaptureOutput MailTools NetDNS NetDomainTLD ];
@@ -6320,7 +6343,7 @@ let
     pname = "Email-Valid-Loose";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Email-Valid-Loose-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Email-Valid-Loose-0.05.tar.gz";
       sha256 = "e718e76eddee240251c999e139c8cbe6f2cc80192da5af875cbd12fa8ab93a59";
     };
     propagatedBuildInputs = [ EmailValid ];
@@ -6333,7 +6356,7 @@ let
     pname = "Encode";
     version = "3.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-3.02.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-3.02.tar.gz";
       sha256 = "5865be4951870f62f43722818d076d7724306c75c8f268346b282351cbc820a8";
     };
     meta = {
@@ -6346,7 +6369,7 @@ let
     pname = "Encode-Detect";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JG/JGMYERS/Encode-Detect-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/J/JG/JGMYERS/Encode-Detect-1.01.tar.gz";
       sha256 = "834d893aa7db6ce3f158afbd0e432d6ed15a276e0940db0a74be13fd9c4bbbf1";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
@@ -6361,7 +6384,7 @@ let
     pname = "Encode-EUCJPASCII";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEZUMI/Encode-EUCJPASCII-0.03.tar.gz";
       sha256 = "f998d34d55fd9c82cf910786a0448d1edfa60bf68e2c2306724ca67c629de861";
     };
     outputs = [ "out" ];
@@ -6375,7 +6398,7 @@ let
     pname = "Encode-HanExtra";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/A/AU/AUDREYT/Encode-HanExtra-0.23.tar.gz";
       sha256 = "1fd4b06cada70858003af153f94c863b3b95f2e3d03ba18d0451a81d51db443a";
     };
     meta = {
@@ -6388,7 +6411,7 @@ let
     pname = "Encode-JIS2K";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.03.tar.gz";
       sha256 = "1ec84d72db39deb4dad6fca95acfcc21033f45a24d347c20f9a1a696896c35cc";
     };
     outputs = [ "out" ];
@@ -6400,7 +6423,7 @@ let
     pname = "Encode-Locale";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/Encode-Locale-1.05.tar.gz";
       sha256 = "176fa02771f542a4efb1dbc2a4c928e8f4391bf4078473bd6040d8f11adb0ec1";
     };
     preCheck = if stdenv.isCygwin then ''
@@ -6418,7 +6441,7 @@ let
      pname = "Encode-Newlines";
      version = "0.05";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Encode-Newlines-0.05.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Encode-Newlines-0.05.tar.gz";
        sha256 = "1gipd3wnma28w5gjbzycfkpi6chksy14lhxkp4hwizf8r351zcrl";
      };
      meta = {
@@ -6432,7 +6455,7 @@ let
     pname = "enum";
     version = "1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/enum-1.11.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/enum-1.11.tar.gz";
       sha256 = "d2f36b5015f1e35f640159867b60bf5d5cd66b56cd5e42d33f531be68e5eee35";
     };
     meta = {
@@ -6444,7 +6467,7 @@ let
     pname = "Env";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Env-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/Env-1.04.tar.gz";
       sha256 = "d94a3d412df246afdc31a2199cbd8ae915167a3f4684f7b7014ce1200251ebb0";
     };
     meta = {
@@ -6457,7 +6480,7 @@ let
     pname = "Env-Path";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSB/Env-Path-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/D/DS/DSB/Env-Path-0.19.tar.gz";
       sha256 = "1qhmj15a66h90pjl2dgnxsb9jj3b1r5mpvnr87cafcl8g69z0jr4";
     };
   };
@@ -6466,7 +6489,7 @@ let
     pname = "Env-Sanctify";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Env-Sanctify-1.12.tar.gz";
       sha256 = "0prj51c9w4k6nrpnpfw6an96953vna74g698kyk78m163ikbbqr0";
     };
     meta = {
@@ -6480,7 +6503,7 @@ let
     pname = "Error";
     version = "0.17029";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Error-0.17029.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Error-0.17029.tar.gz";
       sha256 = "1p3spyarrh8y14d3j9s71xcndjlr70x3f8c3nvaddbij628zf8qs";
     };
   };
@@ -6489,7 +6512,7 @@ let
     pname = "EV";
     version = "4.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.32.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/EV-4.32.tar.gz";
       sha256 = "b82a8b89bb9cca475f6242c8621dc2c48f24851ca61558e1bd592b8506752936";
     };
     buildInputs = [ CanaryStability ];
@@ -6503,7 +6526,7 @@ let
     pname = "Eval-Closure";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/Eval-Closure-0.14.tar.gz";
       sha256 = "1bcc47r6zm3hfr6ccsrs72kgwxm3wkk07mgnpsaxi67cypr482ga";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -6517,7 +6540,7 @@ let
     pname = "Exception-Base";
     version = "0.2501";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2501.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Base-0.2501.tar.gz";
       sha256 = "5723dd78f4ac0b4d262a05ea46af663ea00d8096b2e9c0a43515c210760e1e75";
     };
     buildInputs = [ TestUnitLite ];
@@ -6531,7 +6554,7 @@ let
     pname = "Exception-Class";
     version = "1.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Exception-Class-1.44.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Exception-Class-1.44.tar.gz";
       sha256 = "03gf4cdgrjnljgrlxkvbh2cahsyzn0zsh2zcli7b1lrqn7wgpwrk";
     };
     propagatedBuildInputs = [ ClassDataInheritable DevelStackTrace ];
@@ -6541,7 +6564,7 @@ let
     pname = "Exception-Died";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Died-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Died-0.06.tar.gz";
       sha256 = "1dcajw2m3x5m76fpi3fvy9fjkmfrd171pnx087i5fkgx5ay41i1m";
     };
     buildInputs = [ TestAssert TestUnitLite ];
@@ -6552,7 +6575,7 @@ let
     pname = "Exception-Warning";
     version = "0.0401";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Exception-Warning-0.0401.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Exception-Warning-0.0401.tar.gz";
       sha256 = "1a6k3sbhkxmz00wrmhv70f9kxjf7fklp1y6mnprfvcdmrsk9qdkv";
     };
     buildInputs = [ TestAssert TestUnitLite ];
@@ -6563,7 +6586,7 @@ let
     pname = "Exporter-Declare";
     version = "0.114";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.114.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Exporter-Declare-0.114.tar.gz";
       sha256 = "4bd70d6ca76f6f6ba7e4c618d4ac93b8593a58f1233ccbe18b10f5f204f1d4e4";
     };
     buildInputs = [ FennecLite TestException ];
@@ -6579,7 +6602,7 @@ let
     pname = "Exporter-Lite";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Exporter-Lite-0.08.tar.gz";
       sha256 = "1hns15imih8z2h6zv3m1wwmv9fiysacsb52y94v6zf2cmw4kjny0";
     };
     meta = {
@@ -6591,7 +6614,7 @@ let
     pname = "Exporter-Tiny";
     version = "1.002001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.002001.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOBYINK/Exporter-Tiny-1.002001.tar.gz";
       sha256 = "a82c334c02ce4b0f9ea77c67bf77738f76a9b8aa4bae5c7209d1c76453d3c48d";
     };
     meta = {
@@ -6604,7 +6627,7 @@ let
     pname = "ExtUtils-CBuilder";
     version = "0.280234";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-CBuilder-0.280234.tar.gz;
+      url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-CBuilder-0.280234.tar.gz";
       sha256 = "1hzixkg85mys94a2i658pdr28xhzyrisvknsps691d183zm9a06q";
     };
     meta = {
@@ -6618,7 +6641,7 @@ let
     pname = "Expect";
     version = "1.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz;
+      url = "mirror://cpan/authors/id/J/JA/JACOBY/Expect-1.35.tar.gz";
       sha256 = "09d92761421decd495853103379165a99efbf452c720f30277602cf23679fd06";
     };
     propagatedBuildInputs = [ IOTty ];
@@ -6632,7 +6655,7 @@ let
     pname = "ExtUtils-CChecker";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/ExtUtils-CChecker-0.10.tar.gz";
       sha256 = "50bfe76870fc1510f56bae4fa2dce0165d9ac4af4e7320d6b8fda14dfea4be0b";
     };
     buildInputs = [ TestFatal ];
@@ -6646,7 +6669,7 @@ let
     pname = "ExtUtils-Config";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Config-0.008.tar.gz";
       sha256 = "ae5104f634650dce8a79b7ed13fb59d67a39c213a6776cfdaa3ee749e62f1a8c";
     };
     meta = {
@@ -6659,7 +6682,7 @@ let
     pname = "ExtUtils-Constant";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.25.tar.gz";
       sha256 = "6933d0e963b62281ef7561068e6aecac8c4ac2b476b2bba09ab0b90fbac9d757";
     };
   };
@@ -6668,7 +6691,7 @@ let
     pname = "ExtUtils-CppGuess";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETJ/ExtUtils-CppGuess-0.21.tar.gz";
       sha256 = "0ls1y9bb2nff9djli91s86541r7ajcjp22gqhcdmj7hs69w92qpz";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
@@ -6680,7 +6703,7 @@ let
     pname = "ExtUtils-Depends";
     version = "0.8000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.8000.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-Depends-0.8000.tar.gz";
       sha256 = "165y1cjirbq64w39svkz82cb5jjqkjm8f4c0wqi2lk6050hzf3vq";
     };
     meta = {
@@ -6688,11 +6711,25 @@ let
     };
   };
 
+  ExtUtilsF77 = buildPerlPackage rec {
+    pname = "ExtUtils-F77";
+    version = "1.23";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/K/KG/KGB/${pname}-${version}.tar.gz";
+      sha256 = "634715969c1650be815b3f11c151444e8793ebd6b6d92ce8654d56d6f893a6a9";
+    };
+    buildInputs = [ FileWhich pkgs.gfortran ];
+    meta = {
+      description = "A simple interface to F77 libs";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ExtUtilsHelpers = buildPerlPackage {
     pname = "ExtUtils-Helpers";
     version = "0.026";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-Helpers-0.026.tar.gz";
       sha256 = "05ilqcj1rg5izr09dsqmy5di4fvq6ph4k0chxks7qmd4j1kip46y";
     };
     meta = {
@@ -6705,7 +6742,7 @@ let
     pname = "ExtUtils-Install";
     version = "2.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.14.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-Install-2.14.tar.gz";
       sha256 = "35412305cbae979aac3b6e2c70cb301ae461979a1d848a8a043f74518eb96aea";
     };
     meta = {
@@ -6718,7 +6755,7 @@ let
     pname = "ExtUtils-InstallPaths";
     version = "0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/ExtUtils-InstallPaths-0.012.tar.gz";
       sha256 = "1v9lshfhm9ck4p0v77arj5f7haj1mmkqal62lgzzvcds6wq5www4";
     };
     propagatedBuildInputs = [ ExtUtilsConfig ];
@@ -6732,7 +6769,7 @@ let
     pname = "ExtUtils-LibBuilder";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/A/AM/AMBS/ExtUtils-LibBuilder-0.08.tar.gz";
       sha256 = "1lmmfcjxvsvhn4f3v2lyylgr8dzcf5j7mnd1pkq3jc75dph724f5";
     };
     perlPreHook = "export LD=$CC";
@@ -6746,7 +6783,7 @@ let
     pname = "ExtUtils-MakeMaker";
     version = "7.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.44.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/ExtUtils-MakeMaker-7.44.tar.gz";
       sha256 = "52a18f8271250faf5f3527499dd2b78d3b4fd3b064408d0cfdda9a3538887188";
     };
     meta = {
@@ -6759,7 +6796,7 @@ let
      pname = "ExtUtils-MakeMaker-CPANfile";
      version = "0.09";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.09.tar.gz;
+       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/ExtUtils-MakeMaker-CPANfile-0.09.tar.gz";
        sha256 = "0xg2z100vjhcndwaz9m3mmi90rb8h5pggpvlj1b0i8dhsh3pc1rc";
      };
      propagatedBuildInputs = [ ModuleCPANfile ];
@@ -6773,7 +6810,7 @@ let
     pname = "ExtUtils-Manifest";
     version = "1.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/ExtUtils-Manifest-1.72.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/ExtUtils-Manifest-1.72.tar.gz";
       sha256 = "0pml5pfdk34nj9fa8m4f0qp1rh1yv0d54xagvxzjvvwq9w3q14kr";
     };
   };
@@ -6782,12 +6819,12 @@ let
     pname = "ExtUtils-PkgConfig";
     version = "1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/ExtUtils-PkgConfig-1.16.tar.gz";
       sha256 = "bbeaced995d7d8d10cfc51a3a5a66da41ceb2bc04fedcab50e10e6300e801c6e";
     };
     propagatedBuildInputs = [ pkgs.pkgconfig ];
     meta = {
-      homepage = http://gtk2-perl.sourceforge.net;
+      homepage = "http://gtk2-perl.sourceforge.net";
       description = "Simplistic interface to pkg-config";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -6808,7 +6845,7 @@ let
     pname = "ExtUtils-Typemap";
     version = "1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemap-1.00.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemap-1.00.tar.gz";
       sha256 = "1iqz0xlscg655gnwb2h1wrjj70llblps1zznl29qn1mv5mvibc5i";
     };
   };
@@ -6817,7 +6854,7 @@ let
     pname = "ExtUtils-Typemaps-Default";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemaps-Default-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-Typemaps-Default-1.05.tar.gz";
       sha256 = "1phmha0ks95kvzl00r1kgnd5hvg7qb1q9jmzjmw01p5zgs1zbyix";
     };
   };
@@ -6826,7 +6863,7 @@ let
     pname = "ExtUtils-XSBuilder";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRICHTER/ExtUtils-XSBuilder-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRICHTER/ExtUtils-XSBuilder-0.28.tar.gz";
       sha256 = "8cced386e3d544c5ec2deb3aed055b72ebcfc2ea9a6c807da87c4245272fe80a";
     };
     propagatedBuildInputs = [ ParseRecDescent TieIxHash ];
@@ -6836,7 +6873,7 @@ let
     pname = "ExtUtils-XSpp";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-XSpp-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/ExtUtils-XSpp-0.18.tar.gz";
       sha256 = "1zx84f93lkymqz7qa4d63gzlnhnkxm5i3gvsrwkvvqr9cxjasxli";
     };
     buildInputs = [ TestBase TestDifferences ];
@@ -6846,7 +6883,7 @@ let
     pname = "Fatal-Exception";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Fatal-Exception-0.05.tar.gz";
       sha256 = "0kzfwc44vpxla3j637kfmnwmv57g6x4899ijqb4ljamk7whms298";
     };
     buildInputs = [ ExceptionWarning TestAssert TestUnitLite ];
@@ -6857,7 +6894,7 @@ let
     pname = "FCGI";
     version = "0.79";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/FCGI-0.79.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/FCGI-0.79.tar.gz";
       sha256 = "1r1lzd74lzzdl2brcanw4n70m37nd8n6gv9clb55m3gv2hdlxylc";
     };
     postPatch = stdenv.lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
@@ -6869,7 +6906,7 @@ let
      pname = "FCGI-Client";
      version = "0.09";
      src = fetchurl {
-       url = mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-0.09.tar.gz;
+       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/FCGI-Client-0.09.tar.gz";
        sha256 = "1s11casbv0jmkcl5dk8i2vhfy1nc8rg43d3bg923zassrq4wndym";
      };
      propagatedBuildInputs = [ Moo TypeTiny ];
@@ -6884,7 +6921,7 @@ let
     pname = "FCGI-ProcManager";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/A/AR/ARODLAND/FCGI-ProcManager-0.28.tar.gz";
       sha256 = "e1c958c042427a175e051e0008f2025e8ec80613d3c7750597bf8e529b04420e";
     };
     meta = {
@@ -6896,7 +6933,7 @@ let
     pname = "FFI-CheckLib";
     version = "0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.26.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/FFI-CheckLib-0.26.tar.gz";
       sha256 = "0rbzm4cisn4vdj1kc0sa6v8m1b3mjkryi5w14hk1d13zh3q3pqq6";
     };
     buildInputs = [ Test2Suite ];
@@ -6910,7 +6947,7 @@ let
     pname = "Fennec-Lite";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Fennec-Lite-0.004.tar.gz";
       sha256 = "dce28e3932762c2ff92aa52d90405c06e898e81cb7b164ccae8966ae77f1dcab";
     };
     meta = {
@@ -6924,7 +6961,7 @@ let
     pname = "File-ChangeNotify";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-ChangeNotify-0.31.tar.gz";
       sha256 = "192bdb1ce76266c6a694a8e962d039e3adeeb829b6ac1e23f5057f2b506392bd";
     };
     buildInputs = [ Test2Suite TestRequires TestWithoutModule ];
@@ -6939,7 +6976,7 @@ let
     pname = "File-chdir";
     version = "0.1010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1010.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-chdir-0.1010.tar.gz";
       sha256 = "009b8p2fzj4nhl03fpkhrn0rsh7myxqbrf69iqpzd86p1gs23hgg";
     };
   };
@@ -6948,7 +6985,7 @@ let
     version = "0.08";
     pname = "File-BaseDir";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KI/KIMRYAN/File-BaseDir-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/K/KI/KIMRYAN/File-BaseDir-0.08.tar.gz";
       sha256 = "c065fcd3e2f22ae769937bcc971b91f80294d5009fac140bfba83bf7d35305e3";
     };
     configurePhase = ''
@@ -6963,7 +7000,7 @@ let
     pname = "File-BOM";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTLAW/File-BOM-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATTLAW/File-BOM-0.16.tar.gz";
       sha256 = "97091a72bb1d3a7b5cac1dfb5372962b6f8055729189d0f3fd2c959c8ff374cf";
     };
     buildInputs = [ TestException ];
@@ -6978,7 +7015,7 @@ let
     pname = "File-CheckTree";
     version = "4.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/File-CheckTree-4.42.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/File-CheckTree-4.42.tar.gz";
       sha256 = "66fb417f8ff8a5e5b7ea25606156e70e204861c59fa8c3831925b4dd3f155f8a";
     };
     meta = {
@@ -6991,7 +7028,7 @@ let
     pname = "File-Copy-Recursive";
     version = "0.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz;
+      url = "mirror://cpan/authors/id/D/DM/DMUEY/File-Copy-Recursive-0.45.tar.gz";
       sha256 = "0mqivx4nbzagl3s2kxka72050sfb75xvn25j8a0f6ic3ibvir5yk";
     };
     buildInputs = [ PathTiny TestDeep TestFatal TestFile TestWarnings ];
@@ -7001,7 +7038,7 @@ let
      pname = "File-Copy-Recursive-Reduced";
      version = "0.006";
      src = fetchurl {
-       url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Copy-Recursive-Reduced-0.006.tar.gz;
+       url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Copy-Recursive-Reduced-0.006.tar.gz";
        sha256 = "0b3yf33bahaf4ipfqipn8y5z4296k3vgzzsqbhh5ahwzls9zj676";
      };
      buildInputs = [ CaptureTiny PathTiny ];
@@ -7016,7 +7053,7 @@ let
     version = "0.22";
     pname = "File-DesktopEntry";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-DesktopEntry-0.22.tar.gz";
       sha256 = "169c01e3dae2f629767bec1a9f1cdbd6ec6d713d1501e0b2786e4dd1235635b8";
     };
     propagatedBuildInputs = [ FileBaseDir URI ];
@@ -7026,7 +7063,7 @@ let
     pname = "File-Find-Iterator";
     version = "0.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TE/TEXMEC/File-Find-Iterator-0.4.tar.gz;
+      url = "mirror://cpan/authors/id/T/TE/TEXMEC/File-Find-Iterator-0.4.tar.gz";
       sha256 = "a2b87ab9756a2e5bb674adbd39937663ed20c28c716bf5a1095a3ca44d54ab2c";
     };
     propagatedBuildInputs = [ ClassIterator ];
@@ -7038,7 +7075,7 @@ let
     pname = "File-Find-Object";
     version = "0.3.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-0.3.5.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-0.3.5.tar.gz";
       sha256 = "dc4124abe64dc1274e8e8a5e5bf9e17a2a9269debace458115b57469f1e16a91";
     };
     propagatedBuildInputs = [ ClassXSAccessor ];
@@ -7052,7 +7089,7 @@ let
     pname = "File-Find-Object-Rule";
     version = "0.0312";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0312.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Find-Object-Rule-0.0312.tar.gz";
       sha256 = "3e0b6c8dadf6362e65f2310530b1be637ed6aac113399d10c6f9129e734afff9";
     };
     propagatedBuildInputs = [ FileFindObject NumberCompare TextGlob ];
@@ -7061,7 +7098,7 @@ let
       tar xf $src */t/sample-data --strip-components=1
     '';
     meta = {
-      homepage = https://www.shlomifish.org/open-source/projects/File-Find-Object/;
+      homepage = "https://www.shlomifish.org/open-source/projects/File-Find-Object/";
       description = "Alternative interface to File::Find::Object";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7071,7 +7108,7 @@ let
     pname = "File-Find-Rule";
     version = "0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/File-Find-Rule-0.34.tar.gz";
       sha256 = "1znachnhmi1w5pdqx8dzgfa892jb7x8ivrdy4pzjj7zb6g61cvvy";
     };
     propagatedBuildInputs = [ NumberCompare TextGlob ];
@@ -7081,7 +7118,7 @@ let
     pname = "File-Find-Rule-Perl";
     version = "1.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/File-Find-Rule-Perl-1.15.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/File-Find-Rule-Perl-1.15.tar.gz";
       sha256 = "9a48433f86e08ce18e03526e2982de52162eb909d19735460f07eefcaf463ea6";
     };
     propagatedBuildInputs = [ FileFindRule ParamsUtil ];
@@ -7095,7 +7132,7 @@ let
     pname = "File-Finder";
     version = "0.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-0.53.tar.gz;
+      url = "mirror://cpan/authors/id/M/ME/MERLYN/File-Finder-0.53.tar.gz";
       sha256 = "2ecbc19ac67a9e635c872a807a8d3eaaff5babc054f15a191d47cdfc5f176a74";
     };
     propagatedBuildInputs = [ TextGlob ];
@@ -7122,12 +7159,12 @@ let
     pname = "FileHandle-Unget";
     version = "0.1634";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCOPPIT/FileHandle-Unget-0.1634.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCOPPIT/FileHandle-Unget-0.1634.tar.gz";
       sha256 = "380f34ad3ce5e9ec661d4c468bb3392231c162317d4172df378146b42aab1785";
     };
     buildInputs = [ FileSlurper TestCompile UNIVERSALrequire URI ];
     meta = {
-      homepage = https://github.com/coppit/filehandle-unget/;
+      homepage = "https://github.com/coppit/filehandle-unget/";
       description = "FileHandle which supports multi-byte unget";
       license = stdenv.lib.licenses.gpl2;
       maintainers = with maintainers; [ romildo ];
@@ -7138,7 +7175,7 @@ let
     pname = "File-HomeDir";
     version = "1.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REHSACK/File-HomeDir-1.004.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/File-HomeDir-1.004.tar.gz";
       sha256 = "45f67e2bb5e60a7970d080e8f02079732e5a8dfc0c7c3cbdb29abfb3f9f791ad";
     };
     propagatedBuildInputs = [ FileWhich ];
@@ -7154,7 +7191,7 @@ let
     pname = "File-KeePass";
     version = "2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RH/RHANDOM/File-KeePass-2.03.tar.gz;
+      url = "mirror://cpan/authors/id/R/RH/RHANDOM/File-KeePass-2.03.tar.gz";
       sha256 = "c30c688027a52ff4f58cd69d6d8ef35472a7cf106d4ce94eb73a796ba7c7ffa7";
     };
     propagatedBuildInputs = [ CryptRijndael ];
@@ -7164,7 +7201,7 @@ let
     pname = "File-lchown";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/File-lchown-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/File-lchown-0.02.tar.gz";
       sha256 = "a02fbf285406a8a4d9399284f032f2d55c56975154c2e1674bd109837b8096ec";
     };
     buildInputs = [ ExtUtilsCChecker ];
@@ -7179,7 +7216,7 @@ let
     pname = "File-LibMagic";
     version = "1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/File-LibMagic-1.16.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/File-LibMagic-1.16.tar.gz";
       sha256 = "c8a695fac1454f52e18e2e1b624c0647cf117326014023dda69fa3e1a5f33d60";
     };
     buildInputs = [ pkgs.file TestFatal ];
@@ -7198,7 +7235,7 @@ let
     pname = "File-Listing";
     version = "6.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/File-Listing-6.04.tar.gz";
       sha256 = "1xcwjlnxaiwwpn41a5yi6nz95ywh3szq5chdxiwj36kqsvy5000y";
     };
     propagatedBuildInputs = [ HTTPDate ];
@@ -7208,7 +7245,7 @@ let
     pname = "File-MimeInfo";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MICHIELB/File-MimeInfo-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MICHIELB/File-MimeInfo-0.29.tar.gz";
       sha256 = "1sh8r6vczyz08zm8vfsjmkg6a165wch54akjdrd1vbifcmwjg5pi";
     };
     doCheck = false; # Failed test 'desktop file is the right one'
@@ -7219,7 +7256,7 @@ let
     pname = "File-MMagic";
     version = "1.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KN/KNOK/File-MMagic-1.30.tar.gz;
+      url = "mirror://cpan/authors/id/K/KN/KNOK/File-MMagic-1.30.tar.gz";
       sha256 = "cf0c1b1eb29705c02d97c2913648009c0be42ce93ec24b36c696bf2d4f5ebd7e";
     };
     meta = {
@@ -7232,11 +7269,11 @@ let
     pname = "File-Modified";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/File-Modified-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/File-Modified-0.10.tar.gz";
       sha256 = "6b50b1aab6ec6998a017f6403c2735b3bc1e1cf46187bd134d7eb6df3fc45144";
     };
     meta = {
-      homepage = https://github.com/neilbowers/File-Modified;
+      homepage = "https://github.com/neilbowers/File-Modified";
       description = "Checks intelligently if files have changed";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7246,7 +7283,7 @@ let
     pname = "File-Next";
     version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.18.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/File-Next-1.18.tar.gz";
       sha256 = "1vy2dqpc1nbjrnga08xr2hcxxfzifc5s2lfam5lf3djya0wwn07r";
     };
   };
@@ -7255,7 +7292,7 @@ let
     pname = "File-NFSLock";
     version = "1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.29.tar.gz;
+      url = "mirror://cpan/authors/id/B/BB/BBB/File-NFSLock-1.29.tar.gz";
       sha256 = "0dzssj15faz9cn1w3xi7jwm64gyjyazapv4bkgglw5l1njcibm31";
     };
   };
@@ -7264,7 +7301,7 @@ let
     pname = "File-Path";
     version = "2.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.16.tar.gz;
+      url = "mirror://cpan/authors/id/J/JK/JKEENAN/File-Path-2.16.tar.gz";
       sha256 = "21f7d69b59c381f459c5f0bf697d512109bd911f12ca33270b70ca9a9ef6fa05";
     };
     meta = {
@@ -7277,7 +7314,7 @@ let
     pname = "File-Pid";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CW/CWEST/File-Pid-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/C/CW/CWEST/File-Pid-1.01.tar.gz";
       sha256 = "bafeee8fdc96eb06306a0c58bbdb7209b6de45f850e75fdc6b16db576e05e422";
     };
     propagatedBuildInputs = [ ClassAccessor ];
@@ -7292,7 +7329,7 @@ let
     pname = "File-pushd";
     version = "1.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.016.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/File-pushd-1.016.tar.gz";
       sha256 = "d73a7f09442983b098260df3df7a832a5f660773a313ca273fa8b56665f97cdc";
     };
     meta = {
@@ -7305,7 +7342,7 @@ let
     pname = "File-ReadBackwards";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/U/UR/URI/File-ReadBackwards-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/U/UR/URI/File-ReadBackwards-1.05.tar.gz";
       sha256 = "82b261af87507cc3e7e66899c457104ebc8d1c09fb85c53f67c1f90f70f18d6e";
     };
     meta = {
@@ -7318,7 +7355,7 @@ let
     pname = "File-Remove";
     version = "1.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/File-Remove-1.58.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/File-Remove-1.58.tar.gz";
       sha256 = "1n6h5w3sp2bs4cfrifdx2z15cfpb4r536179mx1a12xbmj1yrxl1";
     };
   };
@@ -7327,7 +7364,7 @@ let
     pname = "File-Share";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/File-Share-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/File-Share-0.25.tar.gz";
       sha256 = "0w3h800qqcf1sn79h84zngnn788rg2jx4jjb70l44f6419p2b7cf";
     };
     propagatedBuildInputs = [ FileShareDir ];
@@ -7342,7 +7379,7 @@ let
     pname = "File-ShareDir";
     version = "1.116";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.116.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/File-ShareDir-1.116.tar.gz";
       sha256 = "0a43rfb0a1fpxh4d2dayarkdxw4cx9a2krkk87zmcilcz7yhpnar";
     };
     propagatedBuildInputs = [ ClassInspector ];
@@ -7357,7 +7394,7 @@ let
     pname = "File-ShareDir-Install";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/File-ShareDir-Install-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/File-ShareDir-Install-0.13.tar.gz";
       sha256 = "1yc0wlkav2l2wr36a53n4mnhsy2zv29z5nm14mygxgjwv7qgvgj5";
     };
     meta = {
@@ -7370,7 +7407,7 @@ let
     pname = "Filesys-Df";
     version = "0.92";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IG/IGUTHRIE/Filesys-Df-0.92.tar.gz;
+      url = "mirror://cpan/authors/id/I/IG/IGUTHRIE/Filesys-Df-0.92.tar.gz";
       sha256 = "fe89cbb427e0e05f1cd97c2dd6d3866ac6b21bc7a85734ede159bdc35479552a";
     };
     meta = {
@@ -7383,7 +7420,7 @@ let
     pname = "Filesys-Notify-Simple";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Filesys-Notify-Simple-0.14.tar.gz";
       sha256 = "192m0l4cnfskdmhgaxk3bm1rvbmzxzwgcdgdb60qdqd59cnp3nhz";
     };
     meta = {
@@ -7397,7 +7434,7 @@ let
     pname = "Filesys-DiskUsage";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANWAR/Filesys-DiskUsage-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MANWAR/Filesys-DiskUsage-0.13.tar.gz";
       sha256 = "fd3e52c6f6241271a281348d1d43c44154c2f61a32543db46aa9e15692d1b713";
     };
     buildInputs = [ TestWarn ];
@@ -7411,7 +7448,7 @@ let
     pname = "File-Slurp";
     version = "9999.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.29.tar.gz;
+      url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/File-Slurp-9999.29.tar.gz";
       sha256 = "1iqr7qi6rg45f4xa3fp48b30mnbw30xs9izxa5zf6fd6pgh4fvhf";
     };
     meta = {
@@ -7424,7 +7461,7 @@ let
     pname = "File-Slurper";
     version = "0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-0.012.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurper-0.012.tar.gz";
       sha256 = "4efb2ea416b110a1bda6f8133549cc6ea3676402e3caf7529fce0313250aa578";
     };
     buildInputs = [ TestWarnings ];
@@ -7438,7 +7475,7 @@ let
     pname = "File-Slurp-Tiny";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/File-Slurp-Tiny-0.004.tar.gz";
       sha256 = "452995beeabf0e923e65fdc627a725dbb12c9e10c00d8018c16d10ba62757f1e";
     };
     meta = {
@@ -7451,7 +7488,7 @@ let
     pname = "File-Tail";
     version = "1.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-1.3.tar.gz;
+      url = "mirror://cpan/authors/id/M/MG/MGRABNAR/File-Tail-1.3.tar.gz";
       sha256 = "1ixg6kn4h330xfw3xgvqcbzfc3v2wlzjim9803jflhvfhf0rzl16";
     };
     meta = {
@@ -7465,7 +7502,7 @@ let
     pname = "File-Temp";
     version = "0.2309";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/File-Temp-0.2309.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/File-Temp-0.2309.tar.gz";
       sha256 = "0pr3wrxrk93wy7dz9gsb1sgl77icrs8rh2mah6wms5cdi2ll5ch1";
     };
     meta = {
@@ -7479,11 +7516,11 @@ let
     pname = "File-Touch";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/File-Touch-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/File-Touch-0.11.tar.gz";
       sha256 = "e379a5ff89420cf39906e5ceff309b8ce958f99f9c3e57ad52b5002a3982d93c";
     };
     meta = {
-      homepage = https://github.com/neilb/File-Touch;
+      homepage = "https://github.com/neilb/File-Touch";
       description = "Update file access and modification times, optionally creating files if needed";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.limeytexan ];
@@ -7494,7 +7531,7 @@ let
     pname = "File-Type";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/P/PM/PMISON/File-Type-0.22.tar.gz";
       sha256 = "0hfkaafp6wb0nw19x47wc6wc9mwlw8s2rxiii3ylvzapxxgxjp6k";
     };
     meta = {
@@ -7507,12 +7544,12 @@ let
     pname = "File-Util";
     version = "4.161950";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOMMY/File-Util-4.161950.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOMMY/File-Util-4.161950.tar.gz";
       sha256 = "88507b19da580d595b5c25fe6ba75bbd6096b4359e389ead067a216f766c20ee";
     };
     buildInputs = [ TestNoWarnings ];
     meta = {
-      homepage = https://github.com/tommybutler/file-util/wiki;
+      homepage = "https://github.com/tommybutler/file-util/wiki";
       description = "Easy, versatile, portable file handling";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7522,7 +7559,7 @@ let
     pname = "File-Which";
     version = "1.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/File-Which-1.23.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/File-Which-1.23.tar.gz";
       sha256 = "b79dc2244b2d97b6f27167fc3b7799ef61a179040f3abd76ce1e0a3b0bc4e078";
     };
     meta = {
@@ -7536,7 +7573,7 @@ let
      pname = "File-Zglob";
      version = "0.11";
      src = fetchurl {
-       url = mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-0.11.tar.gz;
+       url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/File-Zglob-0.11.tar.gz";
        sha256 = "16v61rn0yimpv5kp6b20z2f1c93n5kpsyjvr0gq4w2dc43gfvc8w";
      };
      meta = {
@@ -7549,7 +7586,7 @@ let
     pname = "Filter";
     version = "1.59";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.59.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Filter-1.59.tar.gz";
       sha256 = "b4babfad4e0566a9a61199735f6e622a60d3274122752304f18f623412bf4e5a";
     };
     meta = {
@@ -7562,12 +7599,12 @@ let
     pname = "Finance-Quote";
     version = "1.49";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EC/ECOCODE/Finance-Quote-1.49.tar.gz;
+      url = "mirror://cpan/authors/id/E/EC/ECOCODE/Finance-Quote-1.49.tar.gz";
       sha256 = "0lxz9fsm4ld3l900zxh2w91wjygk0ifn4miw6q5k4mm67d2c9nwm";
     };
     propagatedBuildInputs = [ CGI DateTimeFormatStrptime HTMLTableExtract JSON JSONParse LWPProtocolHttps StringUtil TextTemplate ];
     meta = with stdenv.lib; {
-      homepage = http://finance-quote.sourceforge.net/;
+      homepage = "http://finance-quote.sourceforge.net/";
       description = "Get stock and mutual fund quotes from various exchanges";
       license = licenses.gpl2;
     };
@@ -7591,7 +7628,7 @@ let
     pname = "Font-AFM";
     version = "1.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/Font-AFM-1.20.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/Font-AFM-1.20.tar.gz";
       sha256 = "32671166da32596a0f6baacd0c1233825a60acaf25805d79c81a3f18d6088bc1";
     };
   };
@@ -7600,7 +7637,7 @@ let
     pname = "Font-TTF";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Font-TTF-1.06.tar.gz";
       sha256 = "4b697d444259759ea02d2c442c9bffe5ffe14c9214084a01f743693a944cc293";
     };
     meta = {
@@ -7614,7 +7651,7 @@ let
     pname = "Forks-Super";
     version = "0.97";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.97.tar.gz;
+      url = "mirror://cpan/authors/id/M/MO/MOB/Forks-Super-0.97.tar.gz";
       sha256 = "0kias11b4zchxy5x9ns2wwjzvzxlzsbap8sq587z9micw5bl7nrk";
     };
     doCheck = false;
@@ -7629,7 +7666,7 @@ let
     pname = "FormValidator-Simple";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LY/LYOKATO/FormValidator-Simple-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/L/LY/LYOKATO/FormValidator-Simple-0.29.tar.gz";
       sha256 = "fc3a63dc54b962d74586070176adaf5be869f09b561bb30f5fd32ef531792666";
     };
     propagatedBuildInputs = [ ClassAccessor ClassDataAccessor DateCalc DateTimeFormatStrptime EmailValidLoose ListMoreUtils TieIxHash UNIVERSALrequire YAML ];
@@ -7644,7 +7681,7 @@ let
     pname = "FreezeThaw";
     version = "0.5001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILYAZ/modules/FreezeThaw-0.5001.tar.gz";
       sha256 = "0h8gakd6b9770n2xhld1hhqghdar3hrq2js4mgiwxy86j4r0hpiw";
     };
     doCheck = false;
@@ -7669,7 +7706,7 @@ let
     pname = "Future";
     version = "0.43";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Future-0.43.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Future-0.43.tar.gz";
       sha256 = "191qvn3jz5pk5zxykwsg1i17s45kc82rfd6kgzsv9nki1c04dzaf";
     };
     buildInputs = [ TestFatal TestIdentity TestRefcount ];
@@ -7683,7 +7720,7 @@ let
     pname = "Games-Solitaire-Verify";
     version = "0.2202";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.2202.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Games-Solitaire-Verify-0.2202.tar.gz";
       sha256 = "14fe240613b41c9d3e7cc560eaabd78bd13ded66d2838b738b74f7d1811d9263";
     };
     buildInputs = [ DirManifest TestDifferences ];
@@ -7698,7 +7735,7 @@ let
     pname = "GD";
     version = "2.71";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/GD-2.71.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/GD-2.71.tar.gz";
       sha256 = "1ivskdb4nwy7ky37369hwkfxp11fkp6ri5k7qlf2dmra7f3y86s5";
     };
 
@@ -7714,7 +7751,7 @@ let
     pname = "GDGraph";
     version = "1.54";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RUZ/GDGraph-1.54.tar.gz";
       sha256 = "0kzsdc07ycxjainmz0dnsclb15w2j1y7g8b5mcb7vhannq85qvxr";
     };
     propagatedBuildInputs = [ GDText ];
@@ -7729,7 +7766,7 @@ let
     pname = "GD-SecurityImage";
     version = "1.75";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.75.tar.gz;
+      url = "mirror://cpan/authors/id/B/BU/BURAK/GD-SecurityImage-1.75.tar.gz";
       sha256 = "19lf1kzdavrkkx3f900jnpynr55d5kjd2sdmwpfir5dsmkcj9pix";
     };
     propagatedBuildInputs = [ GD ];
@@ -7743,7 +7780,7 @@ let
     pname = "GDTextUtil";
     version = "0.86";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz;
+      url = "mirror://cpan/authors/id/M/MV/MVERB/GDTextUtil-0.86.tar.gz";
       sha256 = "1g0nc7fz4d672ag7brlrrcz7ibm98x49qs75bq9z957ybkwcnvl8";
     };
     propagatedBuildInputs = [ GD ];
@@ -7756,7 +7793,7 @@ let
     pname = "Geo-IP";
     version = "1.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-1.51.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/Geo-IP-1.51.tar.gz";
       sha256 = "1fka8fr7fw6sh3xa9glhs1zjg3s2gfkhi7n7da1l2m2wblqj0c0n";
     };
     makeMakerFlags = "LIBS=-L${pkgs.geoip}/lib INC=-I${pkgs.geoip}/include";
@@ -7767,7 +7804,7 @@ let
     pname = "GeoIP2";
     version = "2.006002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/GeoIP2-2.006002.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/GeoIP2-2.006002.tar.gz";
       sha256 = "0d4qq0k0pd0xd83iykr0jkyizl499ii6ajwwwl93rgg9xsl44189";
     };
     propagatedBuildInputs = [ JSONMaybeXS LWPProtocolHttps MaxMindDBReader ParamsValidate Throwable ];
@@ -7782,7 +7819,7 @@ let
     pname = "Getopt-ArgvFile";
     version = "1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-1.11.tar.gz;
+      url = "mirror://cpan/authors/id/J/JS/JSTENZEL/Getopt-ArgvFile-1.11.tar.gz";
       sha256 = "3709aa513ce6fd71d1a55a02e34d2f090017d5350a9bd447005653c9b0835b22";
     };
     meta = {
@@ -7795,7 +7832,7 @@ let
     pname = "Getopt-Long";
     version = "2.51";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.51.tar.gz;
+      url = "mirror://cpan/authors/id/J/JV/JV/Getopt-Long-2.51.tar.gz";
       sha256 = "0r659i6rkz8zkfgdccbn29zmd4bk9lcdc4y20ng6w2glqaa3pd10";
     };
   };
@@ -7804,13 +7841,13 @@ let
     pname = "Getopt-Long-Descriptive";
     version = "0.104";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.104.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Getopt-Long-Descriptive-0.104.tar.gz";
       sha256 = "878bc1782c5e196a08a52fa252bbfce1aeb0546d073eac164fc6b80b4cea1e28";
     };
     buildInputs = [ CPANMetaCheck TestFatal TestWarnings ];
     propagatedBuildInputs = [ ParamsValidate SubExporter ];
     meta = {
-      homepage = https://github.com/rjbs/Getopt-Long-Descriptive;
+      homepage = "https://github.com/rjbs/Getopt-Long-Descriptive";
       description = "Getopt::Long, but simpler and more powerful";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7820,7 +7857,7 @@ let
     pname = "Getopt-Tabular";
     version = "0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz;
+      url = "mirror://cpan/authors/id/G/GW/GWARD/Getopt-Tabular-0.3.tar.gz";
       sha256 = "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv";
     };
   };
@@ -7829,7 +7866,7 @@ let
     pname = "Git";
     version = "0.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSOUTH/Git-0.42.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSOUTH/Git-0.42.tar.gz";
       sha256 = "9469a9f398f3a2bf2b0500566ee41d3ff6fae460412a137185767a1cc4783a6d";
     };
     propagatedBuildInputs = [ Error ];
@@ -7844,7 +7881,7 @@ let
     pname = "Git-PurePerl";
     version = "0.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BROQ/Git-PurePerl-0.53.tar.gz;
+      url = "mirror://cpan/authors/id/B/BR/BROQ/Git-PurePerl-0.53.tar.gz";
       sha256 = "987c74366cc4c37ee084050f985fa254359c89c12507f5b8bfc6607de538d5a8";
     };
     buildInputs = [ Testutf8 ];
@@ -7860,7 +7897,7 @@ let
     pname = "Git-Repository";
     version = "1.324";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.324.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Repository-1.324.tar.gz";
       sha256 = "814dfad104a9546349f9e0fd492c86137de827ebc284017a91a5267c120ad4f6";
     };
     buildInputs = [ TestRequiresGit ];
@@ -7875,7 +7912,7 @@ let
     pname = "Git-Version-Compare";
     version = "1.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/Git-Version-Compare-1.004.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOOK/Git-Version-Compare-1.004.tar.gz";
       sha256 = "63e8264ed351cb2371b47852a72366214164b5f3fad9dbd68309c7fc63d06491";
     };
     buildInputs = [ TestNoWarnings ];
@@ -7889,13 +7926,13 @@ let
     pname = "Glib";
     version = "1.3291";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Glib-1.3291.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-1.3291.tar.gz";
       sha256 = "0whz5f87wvzq8zsva85h06mkfqim2ciq845ixlvmafwxggccv0xr";
     };
     buildInputs = [ pkgs.glib ];
     doCheck = false; # tests failing with glib 2.60 https://rt.cpan.org/Public/Bug/Display.html?id=128165
     meta = {
-      homepage = http://gtk2-perl.sourceforge.net/;
+      homepage = "http://gtk2-perl.sourceforge.net/";
       description = "Perl wrappers for the GLib utility and Object libraries";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -7906,7 +7943,7 @@ let
     pname = "Glib-Object-Introspection";
     version = "0.048";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.048.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Glib-Object-Introspection-0.048.tar.gz";
       sha256 = "01dx5w6r4nl3rgnz7wvgvqfaa48xmzy90p95d5k6315q44610kx6";
     };
     propagatedBuildInputs = [ pkgs.gobject-introspection Glib ];
@@ -7920,13 +7957,13 @@ let
     pname = "Gnome2";
     version = "1.047";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Gnome2-1.047.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-1.047.tar.gz";
       sha256 = "ccc85c5dc3c14f915ed1a186d238681d83fef3d17eed1c20001499ff56b6390c";
     };
     buildInputs = [ ExtUtilsDepends ExtUtilsPkgConfig Glib Gnome2Canvas Gnome2VFS Gtk2 ];
     propagatedBuildInputs = [ pkgs.gnome2.libgnomeui ];
     meta = {
-      homepage = http://gtk2-perl.sourceforge.net;
+      homepage = "http://gtk2-perl.sourceforge.net";
       description = "Perl interface to the 2.x series of the GNOME libraries";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -7936,7 +7973,7 @@ let
     pname = "Gnome2-Canvas";
     version = "1.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSCH/Gnome2-Canvas-1.002.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSCH/Gnome2-Canvas-1.002.tar.gz";
       sha256 = "47a34204cd5f3a0ef5c8b9e1c9c96f41740edab7e9abf1d0560fa8666ba1916e";
     };
     buildInputs = [ pkgs.gnome2.libgnomecanvas ];
@@ -7950,7 +7987,7 @@ let
     pname = "Gnome2-VFS";
     version = "1.083";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Gnome2-VFS-1.083.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Gnome2-VFS-1.083.tar.gz";
       sha256 = "eca974669df4e7f21b4fcedb96c8a328422369c68b8c2cd99b9ce9cc5d7a7979";
     };
     propagatedBuildInputs = [ pkgs.gnome2.gnome_vfs Glib ];
@@ -7964,7 +8001,7 @@ let
     pname = "Gnome2-Wnck";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSCH/Gnome2-Wnck-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSCH/Gnome2-Wnck-0.16.tar.gz";
       sha256 = "604a8ece88ac29f132d59b0caac27657ec31371c1606a4698a2160e88ac586e5";
     };
     buildInputs = [ pkgs.libwnck pkgs.glib pkgs.gtk2 ];
@@ -7979,7 +8016,7 @@ let
     pname = "GnuPG";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YA/YANICK/GnuPG-0.19.tar.gz";
       sha256 = "af53f2d3f63297e046676eae14a76296afdd2910e09723b6b113708622b7989b";
     };
     buildInputs = [ pkgs.gnupg1orig ];
@@ -7990,7 +8027,7 @@ let
     pname = "GnuPG-Interface";
     version = "0.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/GnuPG-Interface-0.52.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/GnuPG-Interface-0.52.tar.gz";
       sha256 = "247a9f5a88bb6745281c00d0f7d5d94e8599a92396849fd9571356dda047fd35";
     };
     buildInputs = [ pkgs.which pkgs.gnupg1compat ];
@@ -8006,7 +8043,7 @@ let
     pname = "GoferTransport-http";
     version = "1.017";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TIMB/GoferTransport-http-1.017.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TIMB/GoferTransport-http-1.017.tar.gz";
       sha256 = "f73effe3ea7afa1907ce8977c87387abb0d4404f85a724ae2637b29a73154a9b";
     };
     propagatedBuildInputs = [ DBI LWP mod_perl2 ];
@@ -8020,7 +8057,7 @@ let
     pname = "Goo-Canvas";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YE/YEWENBIN/Goo-Canvas-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YE/YEWENBIN/Goo-Canvas-0.06.tar.gz";
       sha256 = "0c588c507eed5e62d12ed1cc1e491c6ff3a1f59c4fb3d435e14214b37ab39251";
     };
     propagatedBuildInputs = [ pkgs.goocanvas pkgs.gtk2 Gtk2 ];
@@ -8034,7 +8071,7 @@ let
     pname = "GooCanvas2";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERLMAX/GooCanvas2-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERLMAX/GooCanvas2-0.06.tar.gz";
       sha256 = "0l1vsvyv9hjxhsxrahq4h64axh7qmk50kiz2spa3s1hr7s3qfk72";
     };
     buildInputs = [ pkgs.gtk3 ];
@@ -8049,7 +8086,7 @@ let
     pname = "Google-ProtocolBuffers";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/Google-ProtocolBuffers-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/protobuf/Google-ProtocolBuffers-0.12.tar.gz";
       sha256 = "0wad56n12h9yhnrq1m1z3jna1ch3mg3mqj41wkfi49ws1g34k15k";
     };
     propagatedBuildInputs = [ ClassAccessor ParseRecDescent ];
@@ -8065,7 +8102,7 @@ let
     pname = "Graph";
     version = "0.9704";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHI/Graph-0.9704.tar.gz;
+      url = "mirror://cpan/authors/id/J/JH/JHI/Graph-0.9704.tar.gz";
       sha256 = "099a1gca0wj5zs0cffncjqp2mjrdlk9i6325ks89ml72gfq8wpij";
     };
   };
@@ -8074,7 +8111,7 @@ let
     pname = "GraphViz";
     version = "2.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/GraphViz-2.24.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/GraphViz-2.24.tgz";
       sha256 = "1bgm4a8kan53r30qiknr4kasvhar1khf7vq064l1inzfrp2glpnr";
     };
 
@@ -8092,14 +8129,14 @@ let
     pname = "grepmail";
     version = "5.3111";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCOPPIT/grepmail-5.3111.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCOPPIT/grepmail-5.3111.tar.gz";
       sha256 = "d0984e3f7a1be17ae014575f70c1678151a5bcc9622185dc5a052cb63271a761";
     };
     buildInputs = [ FileHomeDir FileSlurper TestCompile UNIVERSALrequire URI ];
     propagatedBuildInputs = [ MailMboxMessageParser TimeDate ];
     outputs = [ "out" ];
     meta = {
-      homepage = https://github.com/coppit/grepmail;
+      homepage = "https://github.com/coppit/grepmail";
       description = "Search mailboxes for mail matching a regular expression";
       license = stdenv.lib.licenses.gpl2;
       maintainers = with maintainers; [ romildo ];
@@ -8110,7 +8147,7 @@ let
     pname = "Growl-GNTP";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATTN/Growl-GNTP-0.21.tar.gz";
       sha256 = "0gq8ypam6ifp8f3s2mf5d6sw53m7h3ki1zfahh2p41kl8a77yy98";
     };
     buildInputs = [ ModuleBuildTiny ];
@@ -8121,7 +8158,7 @@ let
     pname = "GSSAPI";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AG/AGROLMS/GSSAPI-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/A/AG/AGROLMS/GSSAPI-0.28.tar.gz";
       sha256 = "1mkhwxjjlhr58pd770i9gnf7zy7jj092iv6jfbnb8bvnc5xjr3vx";
     };
     propagatedBuildInputs = [ pkgs.krb5Full.dev ];
@@ -8137,7 +8174,7 @@ let
     pname = "Gtk2";
     version = "1.24993";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24993.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk2-1.24993.tar.gz";
       sha256 = "0ry9jfvfgdwzalxcvwsgr7plhk3agx7p40l0fqdf3vrf7ds47i29";
     };
     buildInputs = [ pkgs.gtk2 ];
@@ -8145,7 +8182,7 @@ let
     # doCheck = !stdenv.isDarwin;
     doCheck = false;
     meta = {
-      homepage = http://gtk2-perl.sourceforge.net/;
+      homepage = "http://gtk2-perl.sourceforge.net/";
       description = "Perl interface to the 2.x series of the Gimp Toolkit library";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -8156,7 +8193,7 @@ let
     pname = "Gtk2-GladeXML";
     version = "1.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSCH/Gtk2-GladeXML-1.007.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSCH/Gtk2-GladeXML-1.007.tar.gz";
       sha256 = "50240a2bddbda807c8f8070de941823b7bf3d288a13be6d0d6563320b42c445a";
     };
     propagatedBuildInputs = [ pkgs.gnome2.libglade pkgs.gtk2 Gtk2 ];
@@ -8170,7 +8207,7 @@ let
     pname = "Gtk2-TrayIcon";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BORUP/Gtk2-TrayIcon-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BORUP/Gtk2-TrayIcon-0.06.tar.gz";
       sha256 = "cbb7632b75d7f41554dfe8ee9063dbfd1d8522291077c65d0d82e9ceb5e94ae2";
     };
     propagatedBuildInputs = [ pkgs.gtk2 Gtk2 ];
@@ -8183,7 +8220,7 @@ let
     pname = "Gtk2-AppIndicator";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OE/OESTERHOL/Gtk2-AppIndicator-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Gtk2-AppIndicator-0.15.tar.gz";
       sha256 = "a25cb071e214fb89b4450aa4605031eae89b7961e149b0d6e8f491c19c14a90a";
     };
     propagatedBuildInputs = [ pkgs.libappindicator-gtk2 pkgs.libdbusmenu-gtk2 pkgs.gtk2 pkgs.pkgconfig Gtk2 ];
@@ -8200,7 +8237,7 @@ let
     pname = "Gtk2-ImageView";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk2-ImageView-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Gtk2-ImageView-0.05.tar.gz";
       sha256 = "087186c3693acf196451cf59cc8b7f5cf9a7b05abe20d32dcbcba0822953fb80";
     };
     buildInputs = [ pkgs.gtkimageview pkgs.gtk2 ];
@@ -8219,7 +8256,7 @@ let
     pname = "Gtk2-Unique";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PO/POTYL/Gtk2-Unique-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/P/PO/POTYL/Gtk2-Unique-0.05.tar.gz";
       sha256 = "ae8dfb0f6844ddaa2ce7b5b44553419490c8e83c24fd35c431406a58f6be0f4f";
     };
     propagatedBuildInputs = [ pkgs.libunique pkgs.gtk2 Gtk2 ];
@@ -8233,7 +8270,7 @@ let
     pname = "Gtk3";
     version = "0.036";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Gtk3-0.036.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Gtk3-0.036.tar.gz";
       sha256 = "1rxzhahrncv58z0n93bzlagxd8swqxiafq4qn4zv9i9jbfql8mwq";
     };
     propagatedBuildInputs = [ pkgs.gtk3 CairoGObject GlibObjectIntrospection ];
@@ -8247,7 +8284,7 @@ let
     pname = "Gtk3-SimpleList";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TV/TVIGNAUD/Gtk3-SimpleList-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/T/TV/TVIGNAUD/Gtk3-SimpleList-0.18.tar.gz";
       sha256 = "09azmc7miyvw7q21rz8cxw16zbd5i1j5hpakxy376f5vmhqqjyhp";
     };
     meta = {
@@ -8261,7 +8298,7 @@ let
     pname = "Guard";
     version = "1.023";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.023.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Guard-1.023.tar.gz";
       sha256 = "34c4ddf91fc93d1090d86da14df706d175b1610c67372c01e12ce9555d4dd1dc";
     };
   };
@@ -8270,7 +8307,7 @@ let
     pname = "Hash-Diff";
     version = "0.010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOLAV/Hash-Diff-0.010.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOLAV/Hash-Diff-0.010.tar.gz";
       sha256 = "1ig0l859gq00k0r9l85274r2lbvwl7wsndcy52c0m3y9isilm6mw";
     };
     propagatedBuildInputs = [ HashMerge ];
@@ -8288,7 +8325,7 @@ let
     pname = "Hash-Flatten";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BB/BBC/Hash-Flatten-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/B/BB/BBC/Hash-Flatten-1.19.tar.gz";
       sha256 = "162b9qgkr19f97w4pic6igyk3zd0sbnrhl3s8530fikciffw9ikh";
     };
     buildInputs = [ TestAssertions ];
@@ -8299,7 +8336,7 @@ let
     pname = "Hash-Merge";
     version = "0.300";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REHSACK/Hash-Merge-0.300.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/Hash-Merge-0.300.tar.gz";
       sha256 = "0h3wfnpv5d4d3f9xzmwkchay6251nhzngdv3f6xia56mj4hxabs0";
     };
     propagatedBuildInputs = [ CloneChoose ];
@@ -8313,7 +8350,7 @@ let
     pname = "Hash-Merge-Simple";
     version = "0.051";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROKR/Hash-Merge-Simple-0.051.tar.gz";
       sha256 = "1c56327873d2f04d5722777f044863d968910466997740d55a754071c6287b73";
     };
     buildInputs = [ TestDeep TestDifferences TestException TestMost TestWarn ];
@@ -8328,7 +8365,7 @@ let
     pname = "Hash-MoreUtils";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REHSACK/Hash-MoreUtils-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/Hash-MoreUtils-0.06.tar.gz";
       sha256 = "db9a8fb867d50753c380889a5e54075651b5e08c9b3b721cb7220c0883547de8";
     };
     meta = {
@@ -8341,7 +8378,7 @@ let
     pname = "Hash-MultiValue";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/A/AR/ARISTOTLE/Hash-MultiValue-0.16.tar.gz";
       sha256 = "1x3k7h542xnigz0b8vsfiq580p5r325wi5b8mxppiqk8mbvis636";
     };
     meta = {
@@ -8354,7 +8391,7 @@ let
     pname = "Hash-Util-FieldHash-Compat";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Hash-Util-FieldHash-Compat-0.11.tar.gz";
       sha256 = "06vlygjyk7rkkw0di3252mma141w801qn3xk40aa2yskbfklcbk4";
     };
   };
@@ -8363,7 +8400,7 @@ let
     pname = "Heap";
     version = "0.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JM/JMM/Heap-0.80.tar.gz;
+      url = "mirror://cpan/authors/id/J/JM/JMM/Heap-0.80.tar.gz";
       sha256 = "1plv2djbyhvkdcw2ic54rdqb745cwksxckgzvw7ssxiir7rjknnc";
     };
   };
@@ -8372,12 +8409,12 @@ let
     pname = "Hook-LexWrap";
     version = "0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Hook-LexWrap-0.26.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Hook-LexWrap-0.26.tar.gz";
       sha256 = "b60bdc5f98f94f9294b06adef82b1d996da192d5f183f9f434b610fd1137ec2d";
     };
     buildInputs = [ pkgs.unzip ];
     meta = {
-      homepage = https://github.com/chorny/Hook-LexWrap;
+      homepage = "https://github.com/chorny/Hook-LexWrap";
       description = "Lexically scoped subroutine wrappers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8387,7 +8424,7 @@ let
     pname = "HTML-Clean";
     version = "1.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AZ/AZJADFTRE/HTML-Clean-1.4.tar.gz;
+      url = "mirror://cpan/authors/id/A/AZ/AZJADFTRE/HTML-Clean-1.4.tar.gz";
       sha256 = "01l7g2hr0kjbh1wk7cv03ijmpjlbm1vm661m99mkrz2ilyyllzd6";
     };
     meta = {
@@ -8400,7 +8437,7 @@ let
     pname = "HTML-Element-Extended";
     version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-Element-Extended-1.18.tar.gz";
       sha256 = "f3ef1af108f27fef15ebec66479f251ce08aa49bd00b0462c9c80c86b4b6b32b";
     };
     propagatedBuildInputs = [ HTMLTree ];
@@ -8410,13 +8447,13 @@ let
     pname = "HTML-Escape";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/HTML-Escape-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTML-Escape-1.10.tar.gz";
       sha256 = "b1cbac4157ad8dedac6914e1628855e05b8dc885a4007d2e4df8177c6a9b70fb";
     };
     buildInputs = [ ModuleBuildPluggablePPPort TestRequires ];
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
     meta = {
-      homepage = https://github.com/tokuhirom/HTML-Escape;
+      homepage = "https://github.com/tokuhirom/HTML-Escape";
       description = "Extremely fast HTML escaping";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8426,7 +8463,7 @@ let
     pname = "HTML-FromANSI";
     version = "2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz;
+      url = "mirror://cpan/authors/id/N/NU/NUFFIN/HTML-FromANSI-2.03.tar.gz";
       sha256 = "21776345ed701b2c04c7b09380af943f9984cc7f99624087aea45db5fc09c359";
     };
     propagatedBuildInputs = [ HTMLParser TermVT102Boundless ];
@@ -8438,7 +8475,7 @@ let
     pname = "HTML-Form";
     version = "6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTML-Form-6.05.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/HTML-Form-6.05.tar.gz";
       sha256 = "14i4ldyvdvhdhvfhh9kiq6z853q2f84biq8vcpv1k5w2r80wdiin";
     };
     propagatedBuildInputs = [ HTMLParser HTTPMessage ];
@@ -8452,7 +8489,7 @@ let
     pname = "HTML-Formatter";
     version = "2.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.16.tar.gz;
+      url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Formatter-2.16.tar.gz";
       sha256 = "cb0a0dd8aa5e8ba9ca214ce451bf4df33aa09c13e907e8d3082ddafeb30151cc";
     };
     buildInputs = [ FileSlurper TestWarnings ];
@@ -8467,7 +8504,7 @@ let
     pname = "HTML-FormatText-WithLinks";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/S/ST/STRUAN/HTML-FormatText-WithLinks-0.15.tar.gz";
       sha256 = "7fcc1ab79eb58fb97d43e5bdd14e21791a250a204998918c62d6a171131833b1";
     };
     propagatedBuildInputs = [ HTMLFormatter URI ];
@@ -8481,7 +8518,7 @@ let
     pname = "HTML-FormatText-WithLinks-AndTables";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DALEEVANS/HTML-FormatText-WithLinks-AndTables-0.07.tar.gz";
       sha256 = "809ee2f11705706b33c54312b5c7bee674838f2beaaedaf8cb945e702aae39b6";
     };
     propagatedBuildInputs = [ HTMLFormatTextWithLinks ];
@@ -8495,7 +8532,7 @@ let
     pname = "HTML-FormFu";
     version = "2.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CF/CFRANKS/HTML-FormFu-2.07.tar.gz;
+      url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-FormFu-2.07.tar.gz";
       sha256 = "0cpbcrip95rvihc7i8dywca6lx9ws67ch1hjx6vgnm47g9zh2bsg";
     };
     buildInputs = [ CGI FileShareDirInstall RegexpAssemble TestException TestMemoryCycle TestRequiresInternet ];
@@ -8510,7 +8547,7 @@ let
      pname = "HTML-FormFu-MultiForm";
      version = "1.03";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-FormFu-MultiForm-1.03.tar.gz;
+       url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-FormFu-MultiForm-1.03.tar.gz";
        sha256 = "17qm94hwhn6jyhd2am4gqxq7yrlhv3jv0ayx17df95mqdgbhrw1n";
      };
      propagatedBuildInputs = [ CryptCBC CryptDES HTMLFormFu ];
@@ -8525,7 +8562,7 @@ let
     pname = "HTML-FormHandler";
     version = "0.40068";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz;
+      url = "mirror://cpan/authors/id/G/GS/GSHANK/HTML-FormHandler-0.40068.tar.gz";
       sha256 = "09z8rpb3avdd8984rm6j6gd2igbzjz9rc0ycig654mqjlgfphyzb";
     };
     # a single test is failing on perl 5.20
@@ -8542,7 +8579,7 @@ let
     pname = "HTML-Mason";
     version = "1.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.58.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/HTML-Mason-1.58.tar.gz";
       sha256 = "81dc9b199f0f3b3473c97ba0ebee4b9535cd633d4e9c1ca3818615dc03dff948";
     };
     buildInputs = [ TestDeep ];
@@ -8557,7 +8594,7 @@ let
     pname = "HTML-Mason-PSGIHandler";
     version = "0.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RUZ/HTML-Mason-PSGIHandler-0.53.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RUZ/HTML-Mason-PSGIHandler-0.53.tar.gz";
       sha256 = "eafd7c7655dfa8261df3446b931a283d30306877b83ac4671c49cff74ea7f00b";
     };
     buildInputs = [ Plack ];
@@ -8572,7 +8609,7 @@ let
     pname = "HTML-Parser";
     version = "3.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/HTML-Parser-3.72.tar.gz";
       sha256 = "12v05ywlnsi9lc17z32k9jxx3sj1viy7y1wpl7n4az76v7hwfa7c";
     };
     propagatedBuildInputs = [ HTMLTagset ];
@@ -8586,7 +8623,7 @@ let
     pname = "HTML-TagCloud";
     version = "0.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROBERTSD/HTML-TagCloud-0.38.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROBERTSD/HTML-TagCloud-0.38.tar.gz";
       sha256 = "05bhnrwwlwd6cj3cn91zw5r99xddvy142bznid26p1pg5m3rk029";
     };
     meta = {
@@ -8599,7 +8636,7 @@ let
     pname = "HTML-Quoted";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-Quoted-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-Quoted-0.04.tar.gz";
       sha256 = "8b41f313fdc1812f02f6f6c37d58f212c84fdcf7827f7fd4b030907f39dc650c";
     };
     propagatedBuildInputs = [ HTMLParser ];
@@ -8613,7 +8650,7 @@ let
     pname = "HTML-RewriteAttributes";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSIBLEY/HTML-RewriteAttributes-0.05.tar.gz";
       sha256 = "1808ec7cdf40d2708575fe6155a88f103b17fec77973a5831c2f24c250e7a58c";
     };
     propagatedBuildInputs = [ HTMLParser URI ];
@@ -8627,7 +8664,7 @@ let
     pname = "HTML-Selector-XPath";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CORION/HTML-Selector-XPath-0.25.tar.gz";
       sha256 = "1qbad8ayffpx7wj76ip05p6rh9p1lkir6qknpl76zy679ghlsp8s";
     };
     buildInputs = [ TestBase ];
@@ -8637,7 +8674,7 @@ let
     pname = "HTML-Scrubber";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/N/NI/NIGELM/HTML-Scrubber-0.19.tar.gz";
       sha256 = "1c9b4r9x96a8fbz2zy52fxgq7djp9dq38hiyqra92psnz1w5aa5f";
     };
     propagatedBuildInputs = [ HTMLParser ];
@@ -8648,7 +8685,7 @@ let
     pname = "HTML-StripScripts";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-1.06.tar.gz";
       sha256 = "222bfb7ec1fdfa465e32da3dc4abed2edc7364bbe19e8e3c513c7d585b0109ad";
     };
     meta = {
@@ -8661,7 +8698,7 @@ let
     pname = "HTML-StripScripts-Parser";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-Parser-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DRTECH/HTML-StripScripts-Parser-1.03.tar.gz";
       sha256 = "478c1a4e46eb77fa7bce96ba288168f0b98c27f250e00dc6312365081aed3407";
     };
     propagatedBuildInputs = [ HTMLParser HTMLStripScripts ];
@@ -8675,7 +8712,7 @@ let
     pname = "HTML-TableExtract";
     version = "2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.13.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSISK/HTML-TableExtract-2.13.tar.gz";
       sha256 = "01jimmss3q68a89696wmclvqwb2ybz6xgabpnbp6mm6jcni82z8a";
     };
     propagatedBuildInputs = [ HTMLElementExtended ];
@@ -8685,7 +8722,7 @@ let
     pname = "HTML-Tagset";
     version = "3.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tagset-3.20.tar.gz";
       sha256 = "1qh8249wgr4v9vgghq77zh1d2zs176bir223a8gh3k9nksn7vcdd";
     };
   };
@@ -8694,7 +8731,7 @@ let
     pname = "HTML-Template";
     version = "2.97";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAMTREGAR/HTML-Template-2.97.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/HTML-Template-2.97.tar.gz";
       sha256 = "17qjw8swj2q4b1ic285pndgrkmvpsqw0j68nhqzpk1daydhsyiv5";
     };
     propagatedBuildInputs = [ CGI ];
@@ -8705,7 +8742,7 @@ let
     pname = "HTML-Tidy";
     version = "1.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tidy-1.60.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/HTML-Tidy-1.60.tar.gz";
       sha256 = "1iyp2fd6j75cn1xvcwl2lxr8qpjxssy2360cyqn6g3kzd1fzdyxw";
     };
 
@@ -8720,7 +8757,7 @@ let
     pname = "HTML-Tiny";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDYA/HTML-Tiny-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDYA/HTML-Tiny-1.05.tar.gz";
       sha256 = "d7cdc9d5985e2e44ceba10b756acf1e0d3a1b3ee3b516e5b54adb850fe79fda3";
     };
     meta = {
@@ -8733,7 +8770,7 @@ let
     pname = "HTML-TokeParser-Simple";
     version = "3.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/HTML-TokeParser-Simple-3.16.tar.gz;
+      url = "mirror://cpan/authors/id/O/OV/OVID/HTML-TokeParser-Simple-3.16.tar.gz";
       sha256 = "17aa1v62sp8ycxcicwhankmj4brs6nnfclk9z7mf1rird1f164gd";
     };
     propagatedBuildInputs = [ HTMLParser SubOverride ];
@@ -8743,7 +8780,7 @@ let
     pname = "HTML-Tree";
     version = "5.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz;
+      url = "mirror://cpan/authors/id/K/KE/KENTNL/HTML-Tree-5.07.tar.gz";
       sha256 = "1gyvm4qlwm9y6hczkpnrdfl303ggbybr0nqxdjw09hii8yw4sdzh";
     };
     buildInputs = [ TestFatal ];
@@ -8758,7 +8795,7 @@ let
     pname = "HTML-TreeBuilder-XPath";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIROD/HTML-TreeBuilder-XPath-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIROD/HTML-TreeBuilder-XPath-0.14.tar.gz";
       sha256 = "1wx4i1scng20n405fp3a4vrwvvq9bvbmg977wnd5j2ja8jrbvsr5";
     };
     propagatedBuildInputs = [ HTMLTree XMLXPathEngine ];
@@ -8772,7 +8809,7 @@ let
     pname = "HTML-Widget";
     version = "1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz;
+      url = "mirror://cpan/authors/id/C/CF/CFRANKS/HTML-Widget-1.11.tar.gz";
       sha256 = "02w21rd30cza094m5xs9clzw8ayigbhg2ddzl6jycp4jam0dyhmy";
     };
     doCheck = false;
@@ -8784,7 +8821,7 @@ let
     pname = "HTTP-Body";
     version = "1.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.22.tar.gz;
+      url = "mirror://cpan/authors/id/G/GE/GETTY/HTTP-Body-1.22.tar.gz";
       sha256 = "fc0d2c585b3bd1532d92609965d589e0c87cd380e7cca42fb9ad0a1311227297";
     };
     buildInputs = [ TestDeep ];
@@ -8799,7 +8836,7 @@ let
     pname = "HTTP-CookieJar";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/HTTP-CookieJar-0.008.tar.gz";
       sha256 = "0rfw6avcralggs7bf7n86flvhaahxjnqzvpwszp0sk4z4wwy01wm";
     };
     propagatedBuildInputs = [ HTTPDate ];
@@ -8815,7 +8852,7 @@ let
     pname = "HTTP-Cookies";
     version = "6.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.08.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Cookies-6.08.tar.gz";
       sha256 = "0ndgqciqqcxyycry0nl0xkg9ci09vxvr81xw0hy0chgbfqsvgss9";
     };
     propagatedBuildInputs = [ HTTPMessage ];
@@ -8845,7 +8882,7 @@ let
     pname = "HTTP-Date";
     version = "6.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Date-6.05.tar.gz";
       sha256 = "0awjdbz7x0jd5pna55dwxhs3k6xp3sw6b2zg3p2yndxxvya64p9n";
     };
     meta = {
@@ -8859,7 +8896,7 @@ let
      pname = "HTTP-Entity-Parser";
      version = "0.22";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.22.tar.gz;
+       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/HTTP-Entity-Parser-0.22.tar.gz";
        sha256 = "1j6nxs0nmx160ip0xw9gb3l19ii8pz9x1ay1y15q7rmllbr1rzlk";
      };
      propagatedBuildInputs = [ HTTPMultiPartParser HashMultiValue JSONMaybeXS StreamBuffered WWWFormUrlEncoded ];
@@ -8875,7 +8912,7 @@ let
     pname = "HTTP-DAV";
     version = "0.49";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COSIMO/HTTP-DAV-0.49.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/COSIMO/HTTP-DAV-0.49.tar.gz";
       sha256 = "0z4mgb8mc6l5nfsm3ihndjqgpk43q39x1kq9hryy6v8hxkwrscrk";
     };
     meta = {
@@ -8888,7 +8925,7 @@ let
     pname = "HTTP-HeaderParser-XS";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKSMITH/HTTP-HeaderParser-XS-0.20.tar.gz";
       sha256 = "1vs6sw431nnlnbdy6jii9vqlz30ndlfwdpdgm8a1m6fqngzhzq59";
     };
     meta.broken = stdenv.isi686; # loadable library and perl binaries are mismatched (got handshake key 0x7d40080, needed 0x7dc0080)
@@ -8898,13 +8935,13 @@ let
     pname = "HTTP-Headers-Fast";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/HTTP-Headers-Fast-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/HTTP-Headers-Fast-0.22.tar.gz";
       sha256 = "cc431db68496dd884db4bc0c0b7112c1f4a4f1dc68c4f5a3caa757a1e7481b48";
     };
     buildInputs = [ ModuleBuildTiny TestRequires ];
     propagatedBuildInputs = [ HTTPDate ];
     meta = {
-      homepage = https://github.com/tokuhirom/HTTP-Headers-Fast;
+      homepage = "https://github.com/tokuhirom/HTTP-Headers-Fast";
       description = "Faster implementation of HTTP::Headers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8914,7 +8951,7 @@ let
     pname = "HTTP-Lite";
     version = "2.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-2.44.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/HTTP-Lite-2.44.tar.gz";
       sha256 = "0z77nflj8zdcfg70kc93glq5kmd6qxn2nf7h70x4xhfg25wkvr1q";
     };
     buildInputs = [ CGI ];
@@ -8924,13 +8961,13 @@ let
     pname = "HTTP-Message";
     version = "6.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Message-6.18.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/HTTP-Message-6.18.tar.gz";
       sha256 = "d060d170d388b694c58c14f4d13ed908a2807f0e581146cef45726641d809112";
     };
     buildInputs = [ TryTiny ];
     propagatedBuildInputs = [ EncodeLocale HTTPDate IOHTML LWPMediaTypes URI ];
     meta = {
-      homepage = https://github.com/libwww-perl/HTTP-Message;
+      homepage = "https://github.com/libwww-perl/HTTP-Message";
       description = "HTTP style message (base class)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8940,7 +8977,7 @@ let
      pname = "HTTP-MultiPartParser";
      version = "0.02";
      src = fetchurl {
-       url = mirror://cpan/authors/id/C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz;
+       url = "mirror://cpan/authors/id/C/CH/CHANSEN/HTTP-MultiPartParser-0.02.tar.gz";
        sha256 = "04hbs0b1lzv2c8dqfcc9qjm5akh25fn40903is36zlalkwaxmpay";
      };
      buildInputs = [ TestDeep ];
@@ -8954,7 +8991,7 @@ let
     pname = "HTTP-Negotiate";
     version = "6.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/HTTP-Negotiate-6.01.tar.gz";
       sha256 = "05p053vjs5g91v5cmjnny7a3xzddz5k7vnjw81wfh01ilqg9qwhw";
     };
     propagatedBuildInputs = [ HTTPMessage ];
@@ -8968,7 +9005,7 @@ let
     pname = "HTTP-Parser-XS";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/HTTP-Parser-XS-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/HTTP-Parser-XS-0.17.tar.gz";
       sha256 = "02d84xq1mm53c7jl33qyb7v5w4372vydp74z6qj0vc96wcrnhkkr";
     };
   };
@@ -8977,7 +9014,7 @@ let
     pname = "HTTP-Proxy";
     version = "0.304";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/HTTP-Proxy-0.304.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOOK/HTTP-Proxy-0.304.tar.gz";
       sha256 = "b05290534ec73625c21a0565fc35170890dab163843d95331c292c23f504c69d";
     };
     propagatedBuildInputs = [ LWP ];
@@ -8993,7 +9030,7 @@ let
     pname = "HTTP-Request-AsCGI";
     version = "1.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/HTTP-Request-AsCGI-1.2.tar.gz";
       sha256 = "1smwmiarwcgq7vjdblnb6ldi2x1s5sk5p15p7xvm5byiqq3znnwl";
     };
     propagatedBuildInputs = [ ClassAccessor HTTPMessage ];
@@ -9003,7 +9040,7 @@ let
     pname = "HTTP-Response-Encoding";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DANKOGAI/HTTP-Response-Encoding-0.06.tar.gz";
       sha256 = "1am8lis8107s5npca1xgazdy5sknknzcqyhdmc220s4a4f77n5hh";
     };
     propagatedBuildInputs = [ HTTPMessage ];
@@ -9017,7 +9054,7 @@ let
     pname = "HTTP-Server-Simple";
     version = "0.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/HTTP-Server-Simple-0.52.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/HTTP-Server-Simple-0.52.tar.gz";
       sha256 = "0k6bg7k6mjixfzxdkkdrhqvaqmdhjszx0zsk8g0bimiby6j9z4yq";
     };
     doCheck = false;
@@ -9031,7 +9068,7 @@ let
     pname = "HTTP-Server-Simple-Authen";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-Authen-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-Authen-0.04.tar.gz";
       sha256 = "2dddc8ab9dc8986980151e4ba836a6bbf091f45cf195be1768ebdb4a993ed59b";
     };
     propagatedBuildInputs = [ AuthenSimple HTTPServerSimple ];
@@ -9044,7 +9081,7 @@ let
     pname = "HTTP-Server-Simple-Mason";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-Mason-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/J/JE/JESSE/HTTP-Server-Simple-Mason-0.14.tar.gz";
       sha256 = "b7a49d8e6e55bff0b1f0278d951685466b143243b6f9e59e071f5472ca2a025a";
     };
     propagatedBuildInputs = [ HTMLMason HTTPServerSimple HookLexWrap ];
@@ -9058,7 +9095,7 @@ let
      pname = "HTTP-Server-Simple-PSGI";
      version = "0.16";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-PSGI-0.16.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Server-Simple-PSGI-0.16.tar.gz";
        sha256 = "1fhx2glycd66m4l4m1gja81ixq8nh4r5g9wjhhkrffq4af2cnz2z";
      };
      propagatedBuildInputs = [ HTTPServerSimple ];
@@ -9073,12 +9110,12 @@ let
     pname = "HTTP-Tinyish";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/HTTP-Tinyish-0.15.tar.gz";
       sha256 = "5d65f0ee20a9e4744acdb3ef12edae78c121f53dcbc9cf00867c5725c4513aa5";
     };
     propagatedBuildInputs = [ FileWhich IPCRun3 ];
     meta = {
-      homepage = https://github.com/miyagawa/HTTP-Tinyish;
+      homepage = "https://github.com/miyagawa/HTTP-Tinyish";
       description = "HTTP::Tiny compatible HTTP client wrappers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9088,7 +9125,7 @@ let
     pname = "iCal-Parser";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIXED/iCal-Parser-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/R/RI/RIXED/iCal-Parser-1.21.tar.gz";
       sha256 = "0d7939a644a8e67017ec7239d3d9604f3986bb9a4ff80be68fe7299ebfd2270c";
     };
     propagatedBuildInputs = [ DateTimeFormatICal FreezeThaw IOString TextvFileasData ];
@@ -9101,13 +9138,13 @@ let
     pname = "Imager";
     version = "1.011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TONYC/Imager-1.011.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TONYC/Imager-1.011.tar.gz";
       sha256 = "a3aea2f0c172c2c094baeced4a3bdaa9f54e3e85c97eea2e5f8f994ba2beedfc";
     };
     buildInputs = [ pkgs.freetype pkgs.fontconfig pkgs.libjpeg pkgs.libpng ];
     makeMakerFlags = "--incpath ${pkgs.libjpeg.dev}/include --libpath ${pkgs.libjpeg.out}/lib --incpath ${pkgs.libpng.dev}/include --libpath ${pkgs.libpng.out}/lib";
     meta = {
-      homepage = http://imager.perl.org/;
+      homepage = "http://imager.perl.org/";
       description = "Perl extension for Generating 24 bit Images";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9117,7 +9154,7 @@ let
     pname = "Image-Info";
     version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.42.tar.gz;
+      url = "mirror://cpan/authors/id/S/SR/SREZIC/Image-Info-1.42.tar.gz";
       sha256 = "2bca560c3f71b3c1cd63ac3a974e62f3baeb986b7ffaa026b929081b914a8f4f";
     };
     propagatedBuildInputs = [ IOStringy ];
@@ -9131,7 +9168,7 @@ let
     pname = "Image-Sane";
     version = "5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RATCLIFFE/Image-Sane-5.tar.gz";
       sha256 = "229aa0e9f049efa760f3c2f6e61d9d539af43d8f764b50a6e03064b4729a35ff";
     };
     buildInputs = [ pkgs.sane-backends ExtUtilsDepends ExtUtilsPkgConfig TestRequires TryTiny ];
@@ -9146,7 +9183,7 @@ let
     pname = "Image-Scale";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AG/AGRUNDMA/Image-Scale-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/A/AG/AGRUNDMA/Image-Scale-0.14.tar.gz";
       sha256 = "f09c5f0663b87738365ac2819e186b909abeb9ed85d83bc15ee76872c947cdf8";
     };
     buildInputs = [ pkgs.libpng pkgs.libjpeg TestNoWarnings ];
@@ -9162,7 +9199,7 @@ let
     pname = "Image-Size";
     version = "3.300";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJRAY/Image-Size-3.300.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJRAY/Image-Size-3.300.tar.gz";
       sha256 = "0sq2kwdph55h4adx50fmy86brjkkv8grsw33xrhf1k9icpwb3jak";
     };
     buildInputs = [ ModuleBuild ];
@@ -9176,7 +9213,7 @@ let
     pname = "IMAP-Client";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CONTEB/IMAP-Client-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CONTEB/IMAP-Client-0.13.tar.gz";
       sha256 = "15fa4hpw2rqg2iadyz10rnv99hns78wph5qlh3257a3mbfjjyyla";
     };
     doCheck = false; # nondeterministic
@@ -9186,7 +9223,7 @@ let
     pname = "Importer";
     version = "0.025";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Importer-0.025.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Importer-0.025.tar.gz";
       sha256 = "0745138c487d74033d0cbeb36f06595036dc7e688f1a5dbec9cc2fa799e13946";
     };
     meta = {
@@ -9199,7 +9236,7 @@ let
     pname = "Import-Into";
     version = "1.002005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Import-Into-1.002005.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Import-Into-1.002005.tar.gz";
       sha256 = "0rq5kz7c270q33jq6hnrv3xgkvajsc62ilqq7fs40av6zfipg7mx";
     };
     propagatedBuildInputs = [ ModuleRuntime ];
@@ -9213,7 +9250,7 @@ let
     pname = "IO";
     version = "1.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/IO-1.42.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/IO-1.42.tar.gz";
       sha256 = "eec5cc33a6cddba8b5d2425b60752882add7e4d41b7431a0ea4dcd73cc1f8cca";
     };
     doCheck = false;
@@ -9227,7 +9264,7 @@ let
     pname = "IO-All";
     version = "0.87";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/IO-All-0.87.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/IO-All-0.87.tar.gz";
       sha256 = "0nsd9knlbd7if2v6zwj4q978axq0w5hk8ymp61z14a821hjivqjl";
     };
     meta = {
@@ -9241,7 +9278,7 @@ let
     pname = "IO-Async";
     version = "0.75";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.75.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/IO-Async-0.75.tar.gz";
       sha256 = "1mi6gfbl11rimvzgzyj8kiqf131cg1w9nwxi47fwm9sbs0x6rkjb";
     };
     propagatedBuildInputs = [ Future StructDumb ];
@@ -9256,7 +9293,7 @@ let
     pname = "IO-Capture";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REYNOLDS/IO-Capture-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REYNOLDS/IO-Capture-0.05.tar.gz";
       sha256 = "c2c15a254ca74fb8c57d25d7b6cbcaff77a3b4fb5695423f1f80bb423abffea9";
     };
     meta = {
@@ -9268,11 +9305,11 @@ let
     pname = "IO-CaptureOutput";
     version = "1.1105";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/IO-CaptureOutput-1.1105.tar.gz";
       sha256 = "ae99009fca1273800f169ecb82f4ed1cc6c76795f156bee5c0093005d572f487";
     };
     meta = {
-      homepage = https://github.com/dagolden/IO-CaptureOutput;
+      homepage = "https://github.com/dagolden/IO-CaptureOutput";
       description = "Capture STDOUT and STDERR from Perl code, subprocesses or XS";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9282,7 +9319,7 @@ let
     pname = "IO-Compress";
     version = "2.093";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.093.tar.gz;
+      url = "mirror://cpan/authors/id/P/PM/PMQS/IO-Compress-2.093.tar.gz";
       sha256 = "5f8f5d06913f16c16759cc4e06749692208b8947910ffedd2c00a74ed0d60ba2";
     };
     propagatedBuildInputs = [ CompressRawBzip2 CompressRawZlib ];
@@ -9298,7 +9335,7 @@ let
     pname = "IO-Digest";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/C/CL/CLKAO/IO-Digest-0.11.tar.gz";
       sha256 = "14kz7z4xw179aya3116wxac29l4y2wmwrba087lya4v2gxdgiz4g";
     };
     propagatedBuildInputs = [ PerlIOviadynamic ];
@@ -9308,7 +9345,7 @@ let
     pname = "IO-HTML";
     version = "1.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz;
+      url = "mirror://cpan/authors/id/C/CJ/CJM/IO-HTML-1.001.tar.gz";
       sha256 = "ea78d2d743794adc028bc9589538eb867174b4e165d7d8b5f63486e6b828e7e0";
     };
     meta = {
@@ -9321,7 +9358,7 @@ let
      pname = "IO-Handle-Util";
      version = "0.02";
      src = fetchurl {
-       url = mirror://cpan/authors/id/E/ET/ETHER/IO-Handle-Util-0.02.tar.gz;
+       url = "mirror://cpan/authors/id/E/ET/ETHER/IO-Handle-Util-0.02.tar.gz";
        sha256 = "1vncvsx53iiw1yy3drlk44hzx2pk5cial0h74djf9i6s2flndfcd";
      };
      propagatedBuildInputs = [ IOString SubExporter asa ];
@@ -9334,7 +9371,7 @@ let
     pname = "IO-Interactive";
     version = "1.022";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-1.022.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/IO-Interactive-1.022.tar.gz";
       sha256 = "0ed53b8ae93ae877e98e0d89b7b429e29ccd1ee4c28e952c4ea9aa73d01febdc";
     };
     meta = {
@@ -9347,7 +9384,7 @@ let
     pname = "IO-LockedFile";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RANI/IO-LockedFile-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RANI/IO-LockedFile-0.23.tar.gz";
       sha256 = "1dgq8zfkaszisdb5hz8jgcl0xc3qpv7bbv562l31xgpiddm7xnxi";
     };
   };
@@ -9356,7 +9393,7 @@ let
     pname = "IO-Multiplex";
     version = "1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BB/BBB/IO-Multiplex-1.16.tar.gz;
+      url = "mirror://cpan/authors/id/B/BB/BBB/IO-Multiplex-1.16.tar.gz";
       sha256 = "74d22c44b5ad2e7190e2786e8a17d74bbf4cef89b4d1157ba33598b5a2720dad";
     };
   };
@@ -9365,7 +9402,7 @@ let
     version = "1.01";
     pname = "IO-Pager";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-1.01.tgz;
+      url = "mirror://cpan/authors/id/J/JP/JPIERCE/IO-Pager-1.01.tgz";
       sha256 = "19fslzb11wn8s9hwnwpnwymnw040nmychza2dpbbcqpgnk4k5zpa";
     };
     propagatedBuildInputs = [ pkgs.more FileWhich TermReadKey ]; # `more` used in tests
@@ -9375,7 +9412,7 @@ let
     pname = "IO-Prompt";
     version = "0.997004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCONWAY/IO-Prompt-0.997004.tar.gz";
       sha256 = "f17bb305ee6ac8b5b203e6d826eb940c4f3f6d6f4bfe719c3b3a225f46f58615";
     };
     propagatedBuildInputs = [ TermReadKey Want ];
@@ -9389,7 +9426,7 @@ let
     pname = "IO-SessionData";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHRED/IO-SessionData-1.03.tar.gz";
       sha256 = "1p9d77pqy9a8dbgw7h7vmmkg0rlckk19dchd4c8gvcyv7qm73934";
     };
     outputs = [ "out" "dev" ]; # no "devdoc"
@@ -9402,7 +9439,7 @@ let
     pname = "IO-Socket-INET6";
     version = "2.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-2.72.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/IO-Socket-INET6-2.72.tar.gz";
       sha256 = "1fqypz6qa5rw2d5y2zq7f49frwra0aln13nhq5gi514j2zx21q45";
     };
     propagatedBuildInputs = [ Socket6 ];
@@ -9413,7 +9450,7 @@ let
     pname = "IO-Socket-SSL";
     version = "2.066";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz;
+      url = "mirror://cpan/authors/id/S/SU/SULLR/IO-Socket-SSL-2.066.tar.gz";
       sha256 = "0d47064781a545304d5dcea5dfcee3acc2e95a32e1b4884d80505cde8ee6ebcd";
     };
     propagatedBuildInputs = [ MozillaCA NetSSLeay ];
@@ -9423,7 +9460,7 @@ let
         --replace "\$openssldir/cert.pem" "/etc/ssl/certs/ca-certificates.crt"
     '';
     meta = {
-      homepage = https://github.com/noxxi/p5-io-socket-ssl;
+      homepage = "https://github.com/noxxi/p5-io-socket-ssl";
       description = "Nearly transparent SSL encapsulation for IO::Socket::INET";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9434,7 +9471,7 @@ let
     pname = "IO-Socket-Timeout";
     version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAMS/IO-Socket-Timeout-0.32.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAMS/IO-Socket-Timeout-0.32.tar.gz";
       sha256 = "edf915d6cc66bee43503aa6dc2b373366f38eaff701582183dad10cb8adf2972";
     };
     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
@@ -9449,7 +9486,7 @@ let
     pname = "IO-String";
     version = "1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/IO-String-1.08.tar.gz";
       sha256 = "2a3f4ad8442d9070780e58ef43722d19d1ee21a803bf7c8206877a10482de5a0";
     };
   };
@@ -9458,7 +9495,7 @@ let
     pname = "IO-Stringy";
     version = "2.113";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CA/CAPOEIRAB/IO-Stringy-2.113.tar.gz;
+      url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/IO-Stringy-2.113.tar.gz";
       sha256 = "0kpycb56l6ilvmdx9swx9wpj1x3vfnqdflfjd6dn6spnz750y8ji";
     };
   };
@@ -9467,7 +9504,7 @@ let
     pname = "IO-Tee";
     version = "0.65";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-0.65.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/IO-Tee-0.65.tar.gz";
       sha256 = "04hc94fk6qlazrarcznw2d8wiqw289js4za0czw65296kc8csgf6";
     };
   };
@@ -9476,11 +9513,11 @@ let
     pname = "IO-TieCombine";
     version = "1.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/IO-TieCombine-1.005.tar.gz";
       sha256 = "1bv9ampayf4bvyxg4ivy18l8k79jvq55x6gl68b2fg8b62w4sba0";
     };
     meta = {
-      homepage = https://github.com/rjbs/io-tiecombine;
+      homepage = "https://github.com/rjbs/io-tiecombine";
       description = "Produce tied (and other) separate but combined variables";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9490,7 +9527,7 @@ let
     pname = "IO-Tty";
     version = "1.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.14.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/IO-Tty-1.14.tar.gz";
       sha256 = "1dcmxdhrapxvvzlfp6yzz7655f3c6x8jrw0md8ndp2qj27iy9wsi";
     };
     doCheck = !stdenv.isDarwin;  # openpty fails in the sandbox
@@ -9500,7 +9537,7 @@ let
     pname = "IP-Country";
     version = "2.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NW/NWETTERS/IP-Country-2.28.tar.gz;
+      url = "mirror://cpan/authors/id/N/NW/NWETTERS/IP-Country-2.28.tar.gz";
       sha256 = "88db833a5ab22ed06cb53d6f205725e3b5371b254596053738885e91fa105f75";
     };
     propagatedBuildInputs = [ GeographyCountries ];
@@ -9514,7 +9551,7 @@ let
     pname = "Geography-Countries";
     version = "2009041301";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABIGAIL/Geography-Countries-2009041301.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Geography-Countries-2009041301.tar.gz";
       sha256 = "48c42e40e8281ba7c981743a854c48e6def2d51eb0925ea6c96e25c74497f20f";
     };
     meta = {
@@ -9528,7 +9565,7 @@ let
     pname = "IPC-Run";
     version = "20180523.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/IPC-Run-20180523.0.tar.gz";
       sha256 = "0bvckcs1629ifqfb68xkapd4a74fd5qbg6z9qs8i6rx4z3nxfl1q";
     };
     doCheck = false; /* attempts a network connection to localhost */
@@ -9544,7 +9581,7 @@ let
     pname = "IPC-Run3";
     version = "0.048";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/IPC-Run3-0.048.tar.gz";
       sha256 = "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x";
     };
   };
@@ -9553,7 +9590,7 @@ let
     pname = "IPC-ShareLite";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDYA/IPC-ShareLite-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDYA/IPC-ShareLite-0.17.tar.gz";
       sha256 = "1gz7dbwxrzbzdsjv11kb49jlf9q6lci2va6is0hnavd93nwhdm0l";
     };
   };
@@ -9562,7 +9599,7 @@ let
     pname = "IPC-System-Simple";
     version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-1.26.tar.gz;
+      url = "mirror://cpan/authors/id/J/JK/JKEENAN/IPC-System-Simple-1.26.tar.gz";
       sha256 = "57177f21d8e8625bba32ea454f10a1fda16f93c1baf1aa80d106ab1951b465fd";
     };
     meta = {
@@ -9575,7 +9612,7 @@ let
     pname = "IPC-SysV";
     version = "2.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.07.tar.gz;
+      url = "mirror://cpan/authors/id/M/MH/MHX/IPC-SysV-2.07.tar.gz";
       sha256 = "d01a367af771d35e3b11a21366ad6405f8d28e8cbca4c0cf08ab78bf157d052d";
     };
     meta = {
@@ -9625,12 +9662,12 @@ let
     pname = "Inline";
     version = "0.83";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/Inline-0.83.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TINITA/Inline-0.83.tar.gz";
       sha256 = "171a8e5f66faf88fe5ef4de7126267cd8fb2503483432eabc3b88ac7d5be4239";
     };
     buildInputs = [ TestWarn ];
     meta = {
-      homepage = https://github.com/ingydotnet/inline-pm;
+      homepage = "https://github.com/ingydotnet/inline-pm";
       description = "Write Perl Subroutines in Other Programming Languages";
       longDescription = ''
         The Inline module allows you to put source code from other
@@ -9646,7 +9683,7 @@ let
     pname = "Inline-C";
     version = "0.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/Inline-C-0.81.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TINITA/Inline-C-0.81.tar.gz";
       sha256 = "f185258d9050d7f79b4f00f12625cc469c2f700ff62d3e831cb18d80d2c87aac";
     };
     buildInputs = [ FileCopyRecursive TestWarn YAMLLibYAML ];
@@ -9657,7 +9694,7 @@ let
       rm -f t/28autowrap.t
     '';
     meta = {
-      homepage = https://github.com/ingydotnet/inline-c-pm;
+      homepage = "https://github.com/ingydotnet/inline-c-pm";
       description = "C Language Support for Inline";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9668,7 +9705,7 @@ let
     version = "0.66";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETJ/Inline-Java-0.66.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETJ/Inline-Java-0.66.tar.gz";
       sha256 = "0j6r6gxdn3wzx36cgcx4znj4ihp5fjl4gzk1623vvwgnwrlf0hy7";
     };
 
@@ -9698,7 +9735,7 @@ let
     pname = "IPC-Signal";
     version = "1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROSCH/IPC-Signal-1.00.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROSCH/IPC-Signal-1.00.tar.gz";
       sha256 = "1l3g0zrcwf2whwjhbpwdcridb7c77mydwxvfykqg1h6hqb4gj8bw";
     };
   };
@@ -9707,7 +9744,7 @@ let
     pname = "JavaScript-Minifier-XS";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/G/GT/GTERMARS/JavaScript-Minifier-XS-0.11.tar.gz";
       sha256 = "1vlyhckpjbrg2v4dy9szsxxl0q44n0y1xl763mg2y2ym9g5144hm";
     };
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
@@ -9721,7 +9758,7 @@ let
      pname = "JavaScript-Value-Escape";
      version = "0.07";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/JavaScript-Value-Escape-0.07.tar.gz;
+       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/JavaScript-Value-Escape-0.07.tar.gz";
        sha256 = "1p5365lvnax8kbcfrj169lx05af3i3qi5wg5x9mizqgd10vxmjws";
      };
      meta = {
@@ -9735,7 +9772,7 @@ let
     pname = "JSON";
     version = "4.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.02.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-4.02.tar.gz";
       sha256 = "0z32x2lijij28c9fhmzgxc41i9nw24fyvd2a8ajs5zw9b9sqhjj4";
     };
     # Do not abort cross-compilation on failure to load native JSON module into host perl
@@ -9753,7 +9790,7 @@ let
     pname = "JSON-Any";
     version = "1.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/JSON-Any-1.39.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/JSON-Any-1.39.tar.gz";
       sha256 = "1hspg6khjb38syn59cysnapc1q77qgavfym3fqr6l2kiydf7ajdf";
     };
     meta = {
@@ -9767,7 +9804,7 @@ let
     pname = "JSON-MaybeXS";
     version = "1.004000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/JSON-MaybeXS-1.004000.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/JSON-MaybeXS-1.004000.tar.gz";
       sha256 = "09m1w03as6n0a00pzvaldkhm494yaf5n0g3j2cwwfx24iwpa1gar";
     };
     meta = {
@@ -9780,7 +9817,7 @@ let
     pname = "JSON-PP";
     version = "4.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-PP-4.04.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/JSON-PP-4.04.tar.gz";
       sha256 = "0smna2b8h9jlzlbfb64i31vabyqyjs3iwhng0f0byjxrsxb1qcc1";
     };
     meta = {
@@ -9793,7 +9830,7 @@ let
     pname = "JSON-PP-Compat5006";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAKAMAKA/JSON-PP-Compat5006-1.09.tar.gz";
       sha256 = "197030df52635f9bbe25af10742eea5bd74971473118c11311fcabcb62e3716a";
     };
     meta = {
@@ -9806,7 +9843,7 @@ let
     pname = "JSON-Parse";
     version = "0.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BK/BKB/JSON-Parse-0.55.tar.gz;
+      url = "mirror://cpan/authors/id/B/BK/BKB/JSON-Parse-0.55.tar.gz";
       sha256 = "0mnjypkiga8zdxr5kbd7sf49pcbn55ivndn01p5ln4amqgdmd66w";
     };
     meta = {
@@ -9836,13 +9873,13 @@ let
     pname = "JSON-WebToken";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAICRON/JSON-WebToken-0.10.tar.gz";
       sha256 = "77c182a98528f1714d82afc548d5b3b4dc93e67069128bb9b9413f24cf07248b";
     };
     buildInputs = [ TestMockGuard TestRequires ];
     propagatedBuildInputs = [ JSON ModuleRuntime ];
     meta = {
-      homepage = https://github.com/xaicron/p5-JSON-WebToken;
+      homepage = "https://github.com/xaicron/p5-JSON-WebToken";
       description = "JSON Web Token (JWT) implementation";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9852,7 +9889,7 @@ let
     pname = "JSON-XS";
     version = "4.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-4.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/JSON-XS-4.02.tar.gz";
       sha256 = "05ngmpc0smlfzgyhyagd5gza8g93r8hik858kmr186h770higbd5";
     };
     propagatedBuildInputs = [ TypesSerialiser ];
@@ -9863,7 +9900,7 @@ let
     pname = "JSON-XS-VersionOneAndTwo";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LB/LBROCARD/JSON-XS-VersionOneAndTwo-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/L/LB/LBROCARD/JSON-XS-VersionOneAndTwo-0.31.tar.gz";
       sha256 = "e6092c4d961fae777acf7fe99fb3cd6e5b710fec85765a6b90417480e4c94a34";
     };
     propagatedBuildInputs = [ JSONXS ];
@@ -9876,7 +9913,7 @@ let
     version = "0.21";
     pname = "Object-Realize-Later";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/Object-Realize-Later-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKOV/Object-Realize-Later-0.21.tar.gz";
       sha256 = "1nfqssld7pcdw9sj4mkfnh75w51wl14i1h7npj9fld4fri09cywg";
     };
   };
@@ -9907,7 +9944,7 @@ let
     pname = "libapreq2";
     version = "2.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISAAC/libapreq2-2.13.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISAAC/libapreq2-2.13.tar.gz";
       sha256 = "5731e6833b32d88e4a5c690e45ddf20fcf969ce3da666c5627d775e92da0cf6e";
     };
     patches = [
@@ -9965,7 +10002,7 @@ let
     pname = "libintl-perl";
     version = "1.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.31.tar.gz;
+      url = "mirror://cpan/authors/id/G/GU/GUIDO/libintl-perl-1.31.tar.gz";
       sha256 = "1afandrl44mq9c32r57xr489gkfswdgc97h8x86k98dz1byv3l6a";
     };
   };
@@ -9974,7 +10011,7 @@ let
     pname = "libnet";
     version = "3.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/libnet-3.11.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHAY/libnet-3.11.tar.gz";
       sha256 = "1lsj3a2vbryh85mbb6yddyb2zjv5vs88fdj5x3v7fp2ndr6ixarg";
     };
     meta = {
@@ -9987,7 +10024,7 @@ let
      pname = "lib-relative";
      version = "1.000";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DB/DBOOK/lib-relative-1.000.tar.gz;
+       url = "mirror://cpan/authors/id/D/DB/DBOOK/lib-relative-1.000.tar.gz";
        sha256 = "1mvcdl87d3kyrdx4y6x79k3n5qdd1x5m1hp8lwjxvgfqbw0cgq6z";
      };
      meta = {
@@ -10001,7 +10038,7 @@ let
     pname = "libxml-perl";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/K/KM/KMACLEOD/libxml-perl-0.08.tar.gz";
       sha256 = "1jy9af0ljyzj7wakqli0437zb2vrbplqj4xhab7bfj2xgfdhawa5";
     };
     propagatedBuildInputs = [ XMLParser ];
@@ -10011,12 +10048,12 @@ let
     pname = "Lingua-EN-FindNumber";
     version = "1.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.32.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-FindNumber-1.32.tar.gz";
       sha256 = "1d176d1c863fb9844bd19d2c2a4e68a0ed73da158f724a89405b90db7e8dbd04";
     };
     propagatedBuildInputs = [ LinguaENWords2Nums ];
     meta = {
-      homepage = https://github.com/neilbowers/Lingua-EN-FindNumber;
+      homepage = "https://github.com/neilbowers/Lingua-EN-FindNumber";
       description = "Locate (written) numbers in English text";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10026,7 +10063,7 @@ let
     pname = "Lingua-EN-Inflect";
     version = "1.904";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.904.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCONWAY/Lingua-EN-Inflect-1.904.tar.gz";
       sha256 = "54d344884ba9b585680975bbd4049ddbf27bf654446fb00c7e1fc538e08c3173";
     };
     meta = {
@@ -10039,12 +10076,12 @@ let
     pname = "Lingua-EN-Inflect-Number";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-Inflect-Number-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-EN-Inflect-Number-1.12.tar.gz";
       sha256 = "66fb33838512746f5c597e80264fea66643f7f26570ec2f9205b6135ad67acbf";
     };
     propagatedBuildInputs = [ LinguaENInflect ];
     meta = {
-      homepage = https://github.com/neilbowers/Lingua-EN-Inflect-Number;
+      homepage = "https://github.com/neilbowers/Lingua-EN-Inflect-Number";
       description = "Force number of words to singular or plural";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10054,7 +10091,7 @@ let
     pname = "Lingua-EN-Inflect-Phrase";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Inflect-Phrase-0.20.tar.gz";
       sha256 = "55058911a99f1755de3eb449a99ffbeb92d88c01ff5dc60511a24679050ddea8";
     };
     buildInputs = [ TestNoWarnings ];
@@ -10069,7 +10106,7 @@ let
     pname = "Lingua-EN-Number-IsOrdinal";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Number-IsOrdinal-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/Lingua-EN-Number-IsOrdinal-0.05.tar.gz";
       sha256 = "28d5695400c0f4e2bd209793cb74f6da2b9257356aacb2947c603425e09618d6";
     };
     buildInputs = [ TestFatal TryTiny ];
@@ -10084,7 +10121,7 @@ let
     pname = "Lingua-EN-Tagger";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/A/AC/ACOBURN/Lingua-EN-Tagger-0.31.tar.gz";
       sha256 = "14z9fbl3mf6lxhp0v2apdlxy1fw1y07j4ydrjsh7p3w0wj3qr7ll";
     };
     propagatedBuildInputs = [ HTMLParser LinguaStem MemoizeExpireLRU ];
@@ -10098,7 +10135,7 @@ let
     pname = "Lingua-EN-Words2Nums";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JO/JOEY/Lingua-EN-Words2Nums-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/J/JO/JOEY/Lingua-EN-Words2Nums-0.18.tar.gz";
       sha256 = "686556797cd2a4eaa066f19bbf03ab25c06278292c9ead2f187dfd9031ea1d85";
     };
     meta = {
@@ -10110,7 +10147,7 @@ let
      pname = "Lingua-PT-Stemmer";
      version = "0.02";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-PT-Stemmer-0.02.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-PT-Stemmer-0.02.tar.gz";
        sha256 = "17c48sfbgwd2ivlgf59sr6jdhwa3aim8750f8pyzz7xpi8gz0var";
      };
      meta = {
@@ -10124,7 +10161,7 @@ let
     pname = "Lingua-Stem";
     version = "0.84";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SN/SNOWHARE/Lingua-Stem-0.84.tar.gz;
+      url = "mirror://cpan/authors/id/S/SN/SNOWHARE/Lingua-Stem-0.84.tar.gz";
       sha256 = "12avh2mnnc7llmmshrr5bgb473fvydxnlqrqbl2815mf2dp4pxcg";
     };
     doCheck = false;
@@ -10135,7 +10172,7 @@ let
      pname = "Lingua-Stem-Fr";
      version = "0.02";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz;
+       url = "mirror://cpan/authors/id/S/SD/SDP/Lingua-Stem-Fr-0.02.tar.gz";
        sha256 = "0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx";
      };
      meta = {
@@ -10146,7 +10183,7 @@ let
      pname = "Lingua-Stem-It";
      version = "0.02";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz;
+       url = "mirror://cpan/authors/id/A/AC/ACALPINI/Lingua-Stem-It-0.02.tar.gz";
        sha256 = "1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq";
      };
      meta = {
@@ -10157,7 +10194,7 @@ let
      pname = "Lingua-Stem-Ru";
      version = "0.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Lingua-Stem-Ru-0.04.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Lingua-Stem-Ru-0.04.tar.gz";
        sha256 = "0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j";
      };
      meta = {
@@ -10171,7 +10208,7 @@ let
      pname = "Lingua-Stem-Snowball-Da";
      version = "1.01";
      src = fetchurl {
-       url = mirror://cpan/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz;
+       url = "mirror://cpan/authors/id/C/CI/CINE/Lingua-Stem-Snowball-Da-1.01.tar.gz";
        sha256 = "0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f";
      };
      meta = {
@@ -10182,7 +10219,7 @@ let
     pname = "Lingua-Translit";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALINKE/Lingua-Translit-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALINKE/Lingua-Translit-0.28.tar.gz";
       sha256 = "113f91d8fc2c630437153a49fb7a52b023af8f6278ed96c070b1f60824b8eae1";
     };
     doCheck = false;
@@ -10192,7 +10229,7 @@ let
     pname = "Linux-ACL";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NA/NAZAROV/Linux-ACL-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/N/NA/NAZAROV/Linux-ACL-0.05.tar.gz";
       sha256 = "312940c1f60f47c4fc93fa0a9d2a626425faa837040c8c2f1ad58ee09f62f371";
     };
     buildInputs = [ pkgs.acl ];
@@ -10208,11 +10245,11 @@ let
     pname = "Linux-DesktopFiles";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TR/TRIZEN/Linux-DesktopFiles-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/T/TR/TRIZEN/Linux-DesktopFiles-0.25.tar.gz";
       sha256 = "60377a74fba90fa465200ee1c7430dbdde69d454d85f9ee101c039803a07e5f5";
     };
     meta = {
-      homepage = https://github.com/trizen/Linux-DesktopFiles;
+      homepage = "https://github.com/trizen/Linux-DesktopFiles";
       description = "Fast parsing of the Linux desktop files";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -10222,7 +10259,7 @@ let
     pname = "Linux-Distribution";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Linux-Distribution-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/Linux-Distribution-0.23.tar.gz";
       sha256 = "603e27da607b3e872a669d7a66d75982f0969153eab2d4b20c341347b4ebda5f";
     };
     # The tests fail if the distro it's built on isn't in the supported list.
@@ -10238,7 +10275,7 @@ let
     pname = "Linux-FD";
     version = "0.011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Linux-FD-0.011.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Linux-FD-0.011.tar.gz";
       sha256 = "6bb579d47644cb0ed35626ff77e909ae69063073c6ac09aa0614fef00fa37356";
     };
     buildInputs = [ TestException ];
@@ -10254,7 +10291,7 @@ let
     pname = "Linux-Inotify2";
     version = "2.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-2.2.tar.gz;
+      url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Linux-Inotify2-2.2.tar.gz";
       sha256 = "0crlxmaa4lsgdjm5p9ib8rdxiy70qj1s68za3q3v57v8ll6s4hfx";
     };
     propagatedBuildInputs = [ commonsense ];
@@ -10264,7 +10301,7 @@ let
     pname = "List-AllUtils";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-AllUtils-0.15.tar.gz";
       sha256 = "3711fac729321d3aad8356a756fd9272094f227aa048866a3751f9d8ea6cc95d";
     };
     propagatedBuildInputs = [ ListSomeUtils ListUtilsBy ];
@@ -10278,7 +10315,7 @@ let
     pname = "List-BinarySearch";
     version = "0.25";
     src = pkgs.fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAVIDO/List-BinarySearch-0.25.tar.gz";
       sha256 = "0ap8y9rsjxg75887klgij90mf459f8dwy0dbx1g06h30pmqk04f8";
     };
   };
@@ -10287,12 +10324,12 @@ let
     pname = "List-Compare";
     version = "0.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.53.tar.gz;
+      url = "mirror://cpan/authors/id/J/JK/JKEENAN/List-Compare-0.53.tar.gz";
       sha256 = "fdbf4ff67b3135d44475fef7fcac0cd4706407d5720d26dca914860eb10f8550";
     };
     buildInputs = [ IOCaptureOutput ];
     meta = {
-      homepage = http://thenceforward.net/perl/modules/List-Compare/;
+      homepage = "http://thenceforward.net/perl/modules/List-Compare/";
       description = "Compare elements of two or more lists";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10302,7 +10339,7 @@ let
     pname = "List-MoreUtils";
     version = "0.428";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-0.428.tar.gz;
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-0.428.tar.gz";
       sha256 = "713e0945d5f16e62d81d5f3da2b6a7b14a4ce439f6d3a7de74df1fd166476cc2";
     };
     propagatedBuildInputs = [ ExporterTiny ListMoreUtilsXS ];
@@ -10317,7 +10354,7 @@ let
      pname = "List-MoreUtils-XS";
      version = "0.428";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.428.tar.gz;
+       url = "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-0.428.tar.gz";
        sha256 = "0bfndmnkqaaf3gffprak143bzplxd69c368jxgr7rzlx88hyd7wx";
      };
      preConfigure = ''
@@ -10333,7 +10370,7 @@ let
     pname = "List-SomeUtils";
     version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.58.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/List-SomeUtils-0.58.tar.gz";
       sha256 = "96eafb359339d22bf2a2de421298847a3c40f6a28b6d44005d0965da86a5469d";
     };
     buildInputs = [ TestLeakTrace ];
@@ -10348,7 +10385,7 @@ let
     pname = "List-UtilsBy";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/List-UtilsBy-0.11.tar.gz";
       sha256 = "0nkpylkqccxanr8wc7j9wg6jdrizybjjd6p8q3jbh7f29cxz9pgs";
     };
   };
@@ -10357,7 +10394,7 @@ let
     pname = "Locale-Codes";
     version = "3.62";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.62.tar.gz;
+      url = "mirror://cpan/authors/id/S/SB/SBECK/Locale-Codes-3.62.tar.gz";
       sha256 = "11a6d343e9c321d8ee9eee4479954a4e9c1ff2145187e74fd64952092f9dfab7";
     };
     meta = {
@@ -10372,7 +10409,7 @@ let
     version = "1.07";
     buildInputs = [ pkgs.gettext ];
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz;
+      url = "mirror://cpan/authors/id/P/PV/PVANDRY/gettext-1.07.tar.gz";
       sha256 = "05cwqjxxary11di03gg3fm6j9lbvg1dr2wpr311c1rwp8salg7ch";
     };
     LANG="C";
@@ -10382,7 +10419,7 @@ let
      pname = "Locale-MO-File";
      version = "0.09";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-MO-File-0.09.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-MO-File-0.09.tar.gz";
        sha256 = "0gsaaqimsh5bdhns2v67j1nvb178hx2536lxmr971cwxy31ns0wp";
      };
      propagatedBuildInputs = [ ConstFast MooXStrictConstructor MooXTypesMooseLike ParamsValidate namespaceautoclean ];
@@ -10397,7 +10434,7 @@ let
     pname = "Locale-Maketext-Fuzzy";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Fuzzy-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/A/AU/AUDREYT/Locale-Maketext-Fuzzy-0.11.tar.gz";
       sha256 = "3785171ceb78cc7671319a3a6d8ced9b190e097dfcd9b2a9ebc804cd1a282f96";
     };
     meta = {
@@ -10410,7 +10447,7 @@ let
     pname = "Locale-Maketext-Lexicon";
     version = "1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-1.00.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DRTECH/Locale-Maketext-Lexicon-1.00.tar.gz";
       sha256 = "b73f6b04a58d3f0e38ebf2115a4c1532f1a4eef6fac5c6a2a449e4e14c1ddc7c";
     };
     meta = {
@@ -10423,7 +10460,7 @@ let
     pname = "Locale-Msgfmt";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AZ/AZAWAWI/Locale-Msgfmt-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/A/AZ/AZAWAWI/Locale-Msgfmt-0.15.tar.gz";
       sha256 = "c3276831cbeecf58be02081bcc180bd348daa35da21a7737b7b038a59f643ab4";
     };
     meta = {
@@ -10436,7 +10473,7 @@ let
     pname = "Locale-PO";
     version = "0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.27.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/COSIMO/Locale-PO-0.27.tar.gz";
       sha256 = "3c994a4b63e6e4e836c6f79a93f51921cab77c90c9753fe0f8b5429220d516b9";
     };
     propagatedBuildInputs = [ FileSlurp ];
@@ -10449,7 +10486,7 @@ let
      pname = "Locale-TextDomain-OO";
      version = "1.036";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-1.036.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-1.036.tar.gz";
        sha256 = "0f0fajq4k1sgyywsb7qypsf6xa1sxjx4agm8l8z2284nm3hq65xm";
      };
      propagatedBuildInputs = [ ClassLoad Clone JSON LocaleMOFile LocalePO LocaleTextDomainOOUtil LocaleUtilsPlaceholderBabelFish LocaleUtilsPlaceholderMaketext LocaleUtilsPlaceholderNamed MooXSingleton PathTiny TieSub ];
@@ -10464,7 +10501,7 @@ let
      pname = "Locale-TextDomain-OO-Util";
      version = "4.002";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-Util-4.002.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-TextDomain-OO-Util-4.002.tar.gz";
        sha256 = "1826pl11vr9p7zv7vqs7kcd8y5218086l90dw8lw0xzdcmzs0prw";
      };
      propagatedBuildInputs = [ namespaceautoclean ];
@@ -10479,7 +10516,7 @@ let
      pname = "Locale-Utils-PlaceholderBabelFish";
      version = "0.006";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderBabelFish-0.006.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderBabelFish-0.006.tar.gz";
        sha256 = "1k54njj8xz19c8bjb0iln1mnfq55j3pvbff7samyrab3k59h071f";
      };
      propagatedBuildInputs = [ HTMLParser MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
@@ -10494,7 +10531,7 @@ let
      pname = "Locale-Utils-PlaceholderMaketext";
      version = "1.005";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderMaketext-1.005.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderMaketext-1.005.tar.gz";
        sha256 = "1srlbp8sfnzhndgh9s4d8bglpzw0vb8gnab9r8r8sggkv15n0a2h";
      };
      propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
@@ -10509,7 +10546,7 @@ let
      pname = "Locale-Utils-PlaceholderNamed";
      version = "1.004";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderNamed-1.004.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Locale-Utils-PlaceholderNamed-1.004.tar.gz";
        sha256 = "1gd68lm5w5c6ndcilx91rn84zviqyrk3fx92jjx5khxm76i8xmvg";
      };
      propagatedBuildInputs = [ MooXStrictConstructor MooXTypesMooseLike namespaceautoclean ];
@@ -10524,7 +10561,7 @@ let
     pname = "local-lib";
     version = "2.000024";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/local-lib-2.000024.tar.gz";
       sha256 = "01cav7m6qc1x96wna1viiw6n212f94ks7cik4vj1a1lasixr36rf";
     };
     meta = {
@@ -10547,13 +10584,13 @@ let
     pname = "Log-Any";
     version = "1.708";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-1.708.tar.gz;
+      url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-1.708.tar.gz";
       sha256 = "e1407759dc9462ab096d4ddc89feaac8abb341c5429e38cf6f7b8a996a35ecd9";
     };
     # Syslog test fails.
     preCheck = "rm t/syslog.t";
     meta = {
-      homepage = https://github.com/preaction/Log-Any;
+      homepage = "https://github.com/preaction/Log-Any";
       description = "Bringing loggers and listeners together";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10563,7 +10600,7 @@ let
     pname = "Log-Any-Adapter-Log4perl";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-Adapter-Log4perl-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/P/PR/PREACTION/Log-Any-Adapter-Log4perl-0.09.tar.gz";
       sha256 = "19f1drqnzr6g4xwjm6jk4iaa3zmiax8bzxqch04f4jr12bjd75qi";
     };
     propagatedBuildInputs = [ LogAny LogLog4perl ];
@@ -10578,13 +10615,13 @@ let
     pname = "Log-Contextual";
     version = "0.008001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.008001.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/Log-Contextual-0.008001.tar.gz";
       sha256 = "b93cbcfbb8796d51c836e3b00243cda5630808c152c14eee5f20ca09c9451993";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ DataDumperConcise ExporterDeclare Moo ];
     meta = {
-      homepage = https://github.com/frioux/Log-Contextual;
+      homepage = "https://github.com/frioux/Log-Contextual";
       description = "Simple logging interface with a contextual log";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10594,7 +10631,7 @@ let
     pname = "Log-Dispatch";
     version = "2.69";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.69.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Log-Dispatch-2.69.tar.gz";
       sha256 = "0xsjb0j3dzs8ym8jbgi29kia4pz5vl8jzkmpxxrhhqjc1h54qqjq";
     };
     propagatedBuildInputs = [ DevelGlobalDestruction ParamsValidationCompiler Specio namespaceautoclean ];
@@ -10624,7 +10661,7 @@ let
     pname = "Log-Handler";
     version = "0.88";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.88.tar.gz;
+      url = "mirror://cpan/authors/id/B/BL/BLOONIX/Log-Handler-0.88.tar.gz";
       sha256 = "45bf540ab2138ed3ff93afc205b0516dc75755b86acdcc5e75c41347833c293d";
     };
     propagatedBuildInputs = [ ParamsValidate ];
@@ -10638,7 +10675,7 @@ let
     pname = "Log-Message";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-0.08.tar.gz";
       sha256 = "bd697dd62aaf26d118e9f0a0813429deb1c544e4501559879b61fcbdfe99fe46";
     };
     meta = {
@@ -10651,7 +10688,7 @@ let
      pname = "Log-Message-Simple";
      version = "0.10";
      src = fetchurl {
-       url = mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-Simple-0.10.tar.gz;
+       url = "mirror://cpan/authors/id/B/BI/BINGOS/Log-Message-Simple-0.10.tar.gz";
        sha256 = "15nxi935nfrf8dkdrgvcrf2qlai4pbz03yj8sja0n9mcq2jd24ma";
      };
      propagatedBuildInputs = [ LogMessage ];
@@ -10665,7 +10702,7 @@ let
     pname = "Log-Trace";
     version = "1.070";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BB/BBC/Log-Trace-1.070.tar.gz;
+      url = "mirror://cpan/authors/id/B/BB/BBC/Log-Trace-1.070.tar.gz";
       sha256 = "1qrnxn9b05cqyw1286djllnj8wzys10754glxx6z5hihxxc85jwy";
     };
   };
@@ -10674,7 +10711,7 @@ let
      pname = "MCE";
      version = "1.865";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.865.tar.gz;
+       url = "mirror://cpan/authors/id/M/MA/MARIOROY/MCE-1.865.tar.gz";
        sha256 = "1fhrc0mig5rzywz3lki0gkpvm9l9693cwaljzwxkprdkxnvk709c";
      };
      meta = {
@@ -10688,11 +10725,11 @@ let
     pname = "Log-Log4perl";
     version = "1.49";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.49.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHILLI/Log-Log4perl-1.49.tar.gz";
       sha256 = "b739187f519146cb6bebcfc427c64b1f4138b35c5f4c96f46a21ed4a43872e16";
     };
     meta = {
-      homepage = https://mschilli.github.io/log4perl/;
+      homepage = "https://mschilli.github.io/log4perl/";
       description = "Log4j implementation for Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10702,13 +10739,13 @@ let
     pname = "Log-Dispatch-Array";
     version = "1.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.003.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatch-Array-1.003.tar.gz";
       sha256 = "0dvzp0gsh17jqg02460ndchyapr1haahndq1p9v6mwkv5wf9680c";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ LogDispatch ];
     meta = {
-      homepage = https://github.com/rjbs/log-dispatch-array;
+      homepage = "https://github.com/rjbs/log-dispatch-array";
       description = "Log events to an array (reference)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10718,13 +10755,13 @@ let
     pname = "Log-Dispatchouli";
     version = "2.019";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.019.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Log-Dispatchouli-2.019.tar.gz";
       sha256 = "fe8890c553c8f72b8b55633067270862c34db2ab8ff1cf8db0855f0427c23442";
     };
     buildInputs = [ TestDeep TestFatal ];
     propagatedBuildInputs = [ LogDispatchArray StringFlogger SubExporterGlobExporter ];
     meta = {
-      homepage = https://github.com/rjbs/Log-Dispatchouli;
+      homepage = "https://github.com/rjbs/Log-Dispatchouli";
       description = "A simple wrapper around Log::Dispatch";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10752,7 +10789,7 @@ let
     pname = "Log-LogLite";
     version = "0.82";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RANI/Log-LogLite-0.82.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RANI/Log-LogLite-0.82.tar.gz";
       sha256 = "0sqsa4750wvhw4cjmxpxqg30i1jjcddadccflisrdb23qn5zn285";
     };
     propagatedBuildInputs = [ IOLockedFile ];
@@ -10766,7 +10803,7 @@ let
     pname = "libwww-perl";
     version = "6.43";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.43.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/libwww-perl-6.43.tar.gz";
       sha256 = "e9849d7ee6fd0e89cc999e63d7612c951afd6aeea6bc721b767870d9df4ac40d";
     };
     propagatedBuildInputs = [ FileListing HTMLParser HTTPCookies HTTPDaemon HTTPNegotiate NetHTTP TryTiny WWWRobotRules ];
@@ -10786,7 +10823,7 @@ let
     pname = "LWP-Authen-OAuth";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TIMBRODY/LWP-Authen-OAuth-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TIMBRODY/LWP-Authen-OAuth-1.02.tar.gz";
       sha256 = "e78e0bd7de8002cfb4760073258d555ef55b2c27c07a94b3d8a2166a17fd96bc";
     };
     propagatedBuildInputs = [ LWP ];
@@ -10800,7 +10837,7 @@ let
     pname = "LWP-MediaTypes";
     version = "6.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-MediaTypes-6.04.tar.gz";
       sha256 = "1n8rg6csv3dsvymg06cmxipimr6cb1g9r903ghm1qsmiv89cl6wg";
     };
     meta = {
@@ -10814,7 +10851,7 @@ let
     pname = "LWP-Protocol-connect";
     version = "6.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BE/BENNING/LWP-Protocol-connect-6.09.tar.gz;
+      url = "mirror://cpan/authors/id/B/BE/BENNING/LWP-Protocol-connect-6.09.tar.gz";
       sha256 = "9f252394775e23aa42c3176611e5930638ab528d5190110b4731aa5b0bf35a15";
     };
     buildInputs = [ TestException ];
@@ -10829,7 +10866,7 @@ let
     pname = "LWP-Protocol-https";
     version = "6.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.07.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/LWP-Protocol-https-6.07.tar.gz";
       sha256 = "1rxrpwylfw1afah0nk96kgkwjbl2p1a7lwx50iipg8c4rx3cjb2j";
     };
     patches = [ ../development/perl-modules/lwp-protocol-https-cert-file.patch ];
@@ -10846,7 +10883,7 @@ let
      pname = "LWP-Protocol-http10";
      version = "6.03";
      src = fetchurl {
-       url = mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-http10-6.03.tar.gz;
+       url = "mirror://cpan/authors/id/G/GA/GAAS/LWP-Protocol-http10-6.03.tar.gz";
        sha256 = "1lxq40qfwfai9ryhzhsdnycc4189c8kfl43rf7qq34fmz48skzzk";
      };
      propagatedBuildInputs = [ LWP ];
@@ -10860,7 +10897,7 @@ let
     pname = "LWP-UserAgent-DNS-Hosts";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MASAKI/LWP-UserAgent-DNS-Hosts-0.13.tar.gz";
       sha256 = "0piwcsb0m1xpzxbakhr9zq45a9hq3rx7s55lrjg66nd4x5n7xs5y";
     };
     propagatedBuildInputs = [ LWP ScopeGuard ];
@@ -10876,7 +10913,7 @@ let
     pname = "LWP-UserAgent-Determined";
     version = "1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/LWP-UserAgent-Determined-1.07.tar.gz";
       sha256 = "06d8d50e8cd3692a11cb4fb44a2f84e5476a98f0e2e6a4a0dfce9f67e55ddb53";
     };
     propagatedBuildInputs = [ LWP ];
@@ -10889,7 +10926,7 @@ let
     pname = "LWP-UserAgent-Mockable";
     version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz;
+      url = "mirror://cpan/authors/id/M/MJ/MJEMMESON/LWP-UserAgent-Mockable-1.18.tar.gz";
       sha256 = "0923ahl22c0gdzrihj7dqnrawia9hmcl462asf4ry8d5wd84z1i5";
     };
     propagatedBuildInputs = [ HookLexWrap LWP SafeIsa ];
@@ -10904,7 +10941,7 @@ let
     pname = "LWPx-ParanoidAgent";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SAXJAZMAN/lwp/LWPx-ParanoidAgent-1.12.tar.gz";
       sha256 = "0gfhw3jbs25yya2dryv8xvyn9myngcfcmsybj7gkq62fnznil16c";
     };
     doCheck = false; # 3 tests fail, probably because they try to connect to the network
@@ -10932,7 +10969,7 @@ let
     pname = "Mail-AuthenticationResults";
     version = "1.20200108";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-AuthenticationResults-1.20200108.tar.gz;
+      url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-AuthenticationResults-1.20200108.tar.gz";
       sha256 = "1j003bzqh7nax604f93k1s70b1im97986p6g58a6ynv92fbnhjq5";
     };
     buildInputs = [ TestException ];
@@ -10947,7 +10984,7 @@ let
     version = "1.0.0";
     pname = "Mail-Maildir";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEROALTI/Mail-Maildir-100/Mail-Maildir-1.0.0.tar.bz2;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEROALTI/Mail-Maildir-100/Mail-Maildir-1.0.0.tar.bz2";
       sha256 = "1krkqfps6q3ifrhi9450l5gm9199qyfcm6vidllr0dv65kdaqpj4";
     };
   };
@@ -10956,7 +10993,7 @@ let
     version = "3.008";
     pname = "Mail-Box";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.008.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Box-3.008.tar.gz";
       sha256 = "15yjq3ap1ch0k0pqa1zag50rqrjfqzf7cka1w41macxibna506mm";
     };
 
@@ -10969,13 +11006,13 @@ let
     pname = "Mail-Mbox-MessageParser";
     version = "1.5111";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCOPPIT/Mail-Mbox-MessageParser-1.5111.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCOPPIT/Mail-Mbox-MessageParser-1.5111.tar.gz";
       sha256 = "5723c0aa9cc10bab9ed1e3bfd9d5c95f7159e71c1a475414eb1af1dee3a46237";
     };
     buildInputs = [ FileSlurper TestCompile TestPod TestPodCoverage TextDiff UNIVERSALrequire URI ];
     propagatedBuildInputs = [ FileHandleUnget ];
     meta = {
-      homepage = https://github.com/coppit/mail-mbox-messageparser;
+      homepage = "https://github.com/coppit/mail-mbox-messageparser";
       description = "A fast and simple mbox folder reader";
       license = stdenv.lib.licenses.gpl2;
       maintainers = with maintainers; [ romildo ];
@@ -10986,7 +11023,7 @@ let
      pname = "Mail-Message";
      version = "3.008";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.008.tar.gz;
+       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Message-3.008.tar.gz";
        sha256 = "1k3d996r2aqqzbv0xx5y88blpy9rp14lhd9vzjc1hjnrl7gij63f";
      };
      propagatedBuildInputs = [ IOStringy MIMETypes MailTools URI UserIdentity ];
@@ -11000,7 +11037,7 @@ let
     pname = "Mail-DKIM";
     version = "0.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.58.tar.gz;
+      url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Mail-DKIM-0.58.tar.gz";
       sha256 = "0cgkal65qqcy57b21lgij90ba36wl66byw9i76g5yhwaa8ms8hqa";
     };
     propagatedBuildInputs = [ CryptOpenSSLRSA MailAuthenticationResults MailTools NetDNSResolverMock YAMLLibYAML ];
@@ -11012,7 +11049,7 @@ let
     pname = "Mail-IMAPClient";
     version = "3.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.42.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLOBBES/Mail-IMAPClient-3.42.tar.gz";
       sha256 = "0znf035ikaxyfishv507qq6g691xvbnziqlcwfikkj2l1kan88hw";
     };
     propagatedBuildInputs = [ ParseRecDescent ];
@@ -11022,7 +11059,7 @@ let
     pname = "Mail-POP3Client";
     version = "2.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SD/SDOWD/Mail-POP3Client-2.19.tar.gz;
+      url = "mirror://cpan/authors/id/S/SD/SDOWD/Mail-POP3Client-2.19.tar.gz";
       sha256 = "1142d6247a93cb86b23ed8835553bb2d227ff8213ee2743e4155bb93f47acb59";
     };
     meta = {
@@ -11035,7 +11072,7 @@ let
     pname = "Mail-RFC822-Address";
     version = "0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PD/PDWARREN/Mail-RFC822-Address-0.3.tar.gz;
+      url = "mirror://cpan/authors/id/P/PD/PDWARREN/Mail-RFC822-Address-0.3.tar.gz";
       sha256 = "351ef4104ecb675ecae69008243fae8243d1a7e53c681eeb759e7b781684c8a7";
     };
   };
@@ -11044,11 +11081,11 @@ let
     pname = "Mail-Sender";
     version = "0.903";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CA/CAPOEIRAB/Mail-Sender-0.903.tar.gz;
+      url = "mirror://cpan/authors/id/C/CA/CAPOEIRAB/Mail-Sender-0.903.tar.gz";
       sha256 = "4413eb49f520a8318151811ccb05a8d542973aada20aa503ad32f9ffc98a39bf";
     };
     meta = {
-      homepage = https://github.com/Perl-Email-Project/Mail-Sender;
+      homepage = "https://github.com/Perl-Email-Project/Mail-Sender";
       description = "(DEPRECATED) module for sending mails with attachments through an SMTP server";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11101,7 +11138,7 @@ let
     pname = "MailTools";
     version = "2.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKOV/MailTools-2.21.tar.gz";
       sha256 = "1js43bp2dnd8n2rv8clsv749166jnyqnc91k4wkkmw5n4rlbvnaa";
     };
     propagatedBuildInputs = [ TimeDate ];
@@ -11115,7 +11152,7 @@ let
      pname = "Mail-Transport";
      version = "3.004";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.004.tar.gz;
+       url = "mirror://cpan/authors/id/M/MA/MARKOV/Mail-Transport-3.004.tar.gz";
        sha256 = "049xsjxfn00v5znmrg7vgyafy5wzxxa901hq2g083s0pyq4mlcfg";
      };
      propagatedBuildInputs = [ MailMessage ];
@@ -11129,7 +11166,7 @@ let
     pname = "Math-Base85";
     version = "0.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PT/PTC/Math-Base85-0.4.tar.gz;
+      url = "mirror://cpan/authors/id/P/PT/PTC/Math-Base85-0.4.tar.gz";
       sha256 = "03cbp5ls98zcj183wjzlzjcrhbc96mw3p1hagzy1yplj1xh5ia4y";
     };
     meta = {
@@ -11138,11 +11175,20 @@ let
     };
   };
 
+  MathBaseConvert = buildPerlPackage {
+    pname = "Math-Base-Convert";
+    version = "0.11";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MI/MIKER/Math-Base-Convert-0.11.tar.gz";
+      sha256 = "8c0971355f24c93b79e77ad54a4570090a1a598fcb9b86f5c17eba42f38b40e0";
+    };
+  };
+
   MathLibm = buildPerlPackage {
     pname = "Math-Libm";
     version = "1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz;
+      url = "mirror://cpan/authors/id/D/DS/DSLEWART/Math-Libm-1.00.tar.gz";
       sha256 = "0xn2a950mzzs5q1c4q98ckysn9dz20x7r35g02zvk35chgr0klxz";
     };
   };
@@ -11151,7 +11197,7 @@ let
     pname = "Math-Calc-Units";
     version = "1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SF/SFINK/Math-Calc-Units-1.07.tar.gz;
+      url = "mirror://cpan/authors/id/S/SF/SFINK/Math-Calc-Units-1.07.tar.gz";
       sha256 = "13wgbxv2fmigdj0vf7nwkq1y2q07jgfj8wdrpqkywfxv4zdwzqv1";
     };
     meta = {
@@ -11164,7 +11210,7 @@ let
     pname = "Math-BigInt";
     version = "1.999816";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-1.999816.tar.gz;
+      url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-1.999816.tar.gz";
       sha256 = "95a5a1f636a23f66d400d40bffb0d24ad50df00e6e3c7359c9e645c375f40a89";
     };
     meta = {
@@ -11177,7 +11223,7 @@ let
     pname = "Math-BigInt-GMP";
     version = "1.6007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6007.tar.gz;
+      url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-GMP-1.6007.tar.gz";
       sha256 = "07y0akadx2nm1bsp17v12785s3ni1l5qyqkk4q3pxcyc41nmwwjx";
     };
     buildInputs = [ pkgs.gmp ];
@@ -11191,7 +11237,7 @@ let
      pname = "Math-BigInt-Lite";
      version = "0.18";
      src = fetchurl {
-       url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-Lite-0.18.tar.gz;
+       url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigInt-Lite-0.18.tar.gz";
        sha256 = "1m97jkh26nrji6mjdwhwlq9bcdn8qlw3vimik8bs2hw80syi70j4";
      };
      propagatedBuildInputs = [ MathBigInt ];
@@ -11204,7 +11250,7 @@ let
     pname = "Math-BigRat";
     version = "0.2614";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigRat-0.2614.tar.gz;
+      url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/Math-BigRat-0.2614.tar.gz";
       sha256 = "cea6c20afc6c10a3dc3b62a71df3f842dce13898443bd827242ff3f09f1f3d59";
     };
     meta = {
@@ -11217,7 +11263,7 @@ let
     pname = "Math-Clipper";
     version = "1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHELDRAKE/Math-Clipper-1.29.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHELDRAKE/Math-Clipper-1.29.tar.gz";
       sha256 = "14vmz1x8hwnlk239dcsh0n39kd7cd7v5g1iikgbyjvc66gqw89sk";
     };
     nativeBuildInputs = [ pkgs.ld-is-cc-hook ];
@@ -11228,7 +11274,7 @@ let
     pname = "Math-ConvexHull-MonotoneChain";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Math-ConvexHull-MonotoneChain-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/Math-ConvexHull-MonotoneChain-0.01.tar.gz";
       sha256 = "1xcl7cz62ydddji9qzs4xsfxss484jqjlj4iixa4aci611cw92r8";
     };
   };
@@ -11237,7 +11283,7 @@ let
     pname = "Math-GMP";
     version = "2.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Math-GMP-2.20.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Math-GMP-2.20.tar.gz";
       sha256 = "0psmpj3j8cw02b5bzb7qnkd4rcpxm82891rwpdi2hx2jxy0mznhn";
     };
     buildInputs = [ pkgs.gmp AlienGMP ];
@@ -11253,7 +11299,7 @@ let
     pname = "Math-Geometry-Voronoi";
     version = "1.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-1.3.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/Math-Geometry-Voronoi-1.3.tar.gz";
       sha256 = "0b206k2q5cznld45cjhgm0as0clc9hk135ds8qafbkl3k175w1vj";
     };
     propagatedBuildInputs = [ ClassAccessor ParamsValidate ];
@@ -11263,7 +11309,7 @@ let
     pname = "Math-Int128";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SALVA/Math-Int128-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int128-0.22.tar.gz";
       sha256 = "1g0ra7ldv4fz3kqqg45dlrfavi2abfmlhf0py5ank1jk2x0clc56";
     };
     propagatedBuildInputs = [ MathInt64 ];
@@ -11278,7 +11324,7 @@ let
     pname = "Math-Int64";
     version = "0.54";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SALVA/Math-Int64-0.54.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SALVA/Math-Int64-0.54.tar.gz";
       sha256 = "0lfkc0cry65lnsi28gjyz2kvdkanbhhpc0pyrswsczj3k3k53z6w";
     };
     meta = {
@@ -11291,7 +11337,7 @@ let
     pname = "Math-PlanePath";
     version = "127";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-127.tar.gz;
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/Math-PlanePath-127.tar.gz";
       sha256 = "1dzywpydigwyr38vz9f4yn7xkkk21vi6lyzjlyqv8iny0y0c7w20";
     };
     propagatedBuildInputs = [ MathLibm constant-defer ];
@@ -11302,7 +11348,7 @@ let
     pname = "Math-Random";
     version = "0.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GROMMEL/Math-Random-0.72.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Random-0.72.tar.gz";
       sha256 = "0k15pk2qx9wrp5xqzhymm1ph4nb314ysrsyr0pjnvn8ii0r241dy";
     };
     meta = {
@@ -11313,7 +11359,7 @@ let
     pname = "Math-Random-ISAAC";
     version = "1.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz;
+      url = "mirror://cpan/authors/id/J/JA/JAWNSY/Math-Random-ISAAC-1.004.tar.gz";
       sha256 = "0z1b3xbb3xz71h25fg6jgsccra7migq7s0vawx2rfzi0pwpz0wr7";
     };
     buildInputs = [ TestNoWarnings ];
@@ -11327,7 +11373,7 @@ let
     pname = "Math-Random-MT-Auto";
     version = "6.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz;
+      url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz";
       sha256 = "04v3fxbqg6bs7dpljw64v62jqb10l2xdrln4l3slz5k266nvbg2q";
     };
     propagatedBuildInputs = [ ObjectInsideOut ];
@@ -11341,7 +11387,7 @@ let
     pname = "Math-Random-Secure";
     version = "0.080001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Math-Random-Secure-0.080001.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/Math-Random-Secure-0.080001.tar.gz";
       sha256 = "0dgbf4ncll4kmgkyb9fsaxn0vf2smc9dmwqzgh3259zc2zla995z";
     };
     buildInputs = [ ListMoreUtils TestSharedFork TestWarn ];
@@ -11356,7 +11402,7 @@ let
     pname = "Math-Round";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GROMMEL/Math-Round-0.07.tar.gz";
       sha256 = "09wkvqj4hfq9y0fimri967rmhnq90dc2wf20lhlmqjp5hsd359vk";
     };
   };
@@ -11365,7 +11411,7 @@ let
     pname = "Math-VecStat";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/A/AS/ASPINELLI/Math-VecStat-0.08.tar.gz";
       sha256 = "03bdcl9pn2bc9b50c50nhnr7m9wafylnb3v21zlch98h9c78x6j0";
     };
   };
@@ -11374,7 +11420,7 @@ let
     pname = "MaxMind-DB-Common";
     version = "0.040001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Common-0.040001.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Common-0.040001.tar.gz";
       sha256 = "1mqvnabskhyvi2f10f602gisfk39ws51ky55lixd0033sd5xzikb";
     };
     propagatedBuildInputs = [ DataDumperConcise DateTime ListAllUtils MooXStrictConstructor ];
@@ -11388,7 +11434,7 @@ let
     pname = "MaxMind-DB-Reader";
     version = "1.000014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-1.000014.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-1.000014.tar.gz";
       sha256 = "1a9rrvarw3q6378w3sqv632w36a9bsh0r90yfa49lzwnkj7hf81q";
     };
     propagatedBuildInputs = [ DataIEEE754 DataPrinter DataValidateIP MaxMindDBCommon ];
@@ -11403,7 +11449,7 @@ let
     pname = "MaxMind-DB-Reader-XS";
     version = "1.000008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-XS-1.000008.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Reader-XS-1.000008.tar.gz";
       sha256 = "11y71m77y38mi68gw5dqx54z9syvax42x3m9v7mgx35c5z4gpal4";
     };
     propagatedBuildInputs = [ pkgs.libmaxminddb MathInt128 MaxMindDBReader ];
@@ -11418,7 +11464,7 @@ let
     pname = "MaxMind-DB-Writer";
     version = "0.300003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Writer-0.300003.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/MaxMind-DB-Writer-0.300003.tar.gz";
       sha256 = "0gpbrlmxjl45k0wg5v9ghw415hd0fns9fk8ncxzlfyjzjsxgalxs";
     };
     propagatedBuildInputs = [ DigestSHA1 MaxMindDBReader MooseXParamsValidate MooseXStrictConstructor NetWorks SerealDecoder SerealEncoder ];
@@ -11434,7 +11480,7 @@ let
     pname = "Memoize";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJD/Memoize-1.03.tgz;
+      url = "mirror://cpan/authors/id/M/MJ/MJD/Memoize-1.03.tgz";
       sha256 = "5239cc5f644a50b0de9ffeaa51fa9991eb06ecb1bf4678873e3ab89af9c0daf3";
     };
   };
@@ -11443,7 +11489,7 @@ let
      pname = "Memoize-ExpireLRU";
      version = "0.56";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Memoize-ExpireLRU-0.56.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Memoize-ExpireLRU-0.56.tar.gz";
        sha256 = "1xnp3jqabl4il5kfadlqimbxhzsbm7gpwrgw0m5s5fdsrc0n70zf";
      };
      meta = {
@@ -11457,12 +11503,12 @@ let
     pname = "Menlo";
     version = "1.9019";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-1.9019.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-1.9019.tar.gz";
       sha256 = "3b573f68e7b3a36a87c860be258599330fac248b518854dfb5657ac483dca565";
     };
     propagatedBuildInputs = [ CPANCommonIndex CPANMetaCheck CaptureTiny ExtUtilsHelpers ExtUtilsInstallPaths Filepushd HTTPTinyish ModuleCPANfile ParsePMFile StringShellQuote Win32ShellQuote locallib ];
     meta = {
-      homepage = https://github.com/miyagawa/cpanminus;
+      homepage = "https://github.com/miyagawa/cpanminus";
       description = "A CPAN client";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11472,12 +11518,12 @@ let
     pname = "Menlo-Legacy";
     version = "1.9022";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-Legacy-1.9022.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Menlo-Legacy-1.9022.tar.gz";
       sha256 = "a6acac3fee318a804b439de54acbc7c27f0b44cfdad8551bbc9cd45986abc201";
     };
     propagatedBuildInputs = [ Menlo ];
     meta = {
-      homepage = https://github.com/miyagawa/cpanminus;
+      homepage = "https://github.com/miyagawa/cpanminus";
       description = "Legacy internal and client support for Menlo";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11487,7 +11533,7 @@ let
     pname = "Meta-Builder";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Meta-Builder-0.004.tar.gz";
       sha256 = "acb499aa7206eb9db21eb85357a74521bfe3bdae4a6416d50a7c75b939cf56fe";
     };
     buildInputs = [ FennecLite TestException ];
@@ -11501,7 +11547,7 @@ let
     pname = "Method-Signatures-Simple";
     version = "1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RH/RHESA/Method-Signatures-Simple-1.07.tar.gz;
+      url = "mirror://cpan/authors/id/R/RH/RHESA/Method-Signatures-Simple-1.07.tar.gz";
       sha256 = "1p6sf6iyyn73pc89mfr65bzxvbw1ibcsp4j10iv8ik3p353pvkf8";
     };
     propagatedBuildInputs = [ DevelDeclare ];
@@ -11539,7 +11585,7 @@ let
     pname = "MIME-Charset";
     version = "1.012.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.012.2.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEZUMI/MIME-Charset-1.012.2.tar.gz";
       sha256 = "878c779c0256c591666bd06c0cde4c0d7820eeeb98fd1183082aee9a1e7b1d13";
     };
     meta = {
@@ -11552,7 +11598,7 @@ let
     pname = "mime-construct";
     version = "1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROSCH/mime-construct-1.11.tar.gz";
       sha256 = "00wk9950i9q6qwp1vdq9xdddgk54lqd0bhcq2hnijh8xnmhvpmsc";
     };
     outputs = [ "out" ];
@@ -11579,7 +11625,7 @@ let
     pname = "MIME-Lite";
     version = "3.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.031.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/MIME-Lite-3.031.tar.gz";
       sha256 = "f1235866482b67f00858b3edaa4ff4cf909ef900f1d15d889948bf9c03a591e0";
     };
     propagatedBuildInputs = [ EmailDateFormat ];
@@ -11593,7 +11639,7 @@ let
     pname = "MIME-Lite-HTML";
     version = "1.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.24.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALIAN/MIME-Lite-HTML-1.24.tar.gz";
       sha256 = "db603ccbf6653bcd28cfa824d72e511ead019fc8afb9f1854ec872db2d3cd8da";
     };
     doCheck = false;
@@ -11608,7 +11654,7 @@ let
     pname = "MIME-tools";
     version = "5.509";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz;
+      url = "mirror://cpan/authors/id/D/DS/DSKOLL/MIME-tools-5.509.tar.gz";
       sha256 = "0wv9rzx5j1wjm01c3dg48qk9wlbm6iyf91j536idk09xj869ymv4";
     };
     propagatedBuildInputs = [ MailTools ];
@@ -11623,7 +11669,7 @@ let
     pname = "MIME-Types";
     version = "2.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-2.17.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKOV/MIME-Types-2.17.tar.gz";
       sha256 = "1xlg7q6h8zyb8534sy0iqn90py18kilg419q6051bwqz5zadfkp0";
     };
     meta = {
@@ -11636,12 +11682,12 @@ let
     pname = "Mixin-Linewise";
     version = "0.108";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.108.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Mixin-Linewise-0.108.tar.gz";
       sha256 = "7df20678474c0973930a472b0c55e3f8e85b7790b68ab18ef618f9c453c8aef2";
     };
     propagatedBuildInputs = [ PerlIOutf8_strict SubExporter ];
     meta = {
-      homepage = https://github.com/rjbs/mixin-linewise;
+      homepage = "https://github.com/rjbs/mixin-linewise";
       description = "Write your linewise code for handles; this does the rest";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11651,7 +11697,7 @@ let
     pname = "MLDBM";
     version = "2.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-2.05.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/MLDBM-2.05.tar.gz";
       sha256 = "586880ed0c20801abbf6734747e13e0203edefece6ebc4f20ddb5059f02a17a2";
     };
     meta = {
@@ -11666,7 +11712,7 @@ let
      pname = "Mo";
      version = "0.40";
      src = fetchurl {
-       url = mirror://cpan/authors/id/T/TI/TINITA/Mo-0.40.tar.gz;
+       url = "mirror://cpan/authors/id/T/TI/TINITA/Mo-0.40.tar.gz";
        sha256 = "1fff81awg9agfawf3wxx0gpf6vgav8w920rmxsbjg30z75943lli";
      };
      meta = {
@@ -11680,7 +11726,7 @@ let
      pname = "Mock-Config";
      version = "0.03";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz;
+       url = "mirror://cpan/authors/id/R/RU/RURBAN/Mock-Config-0.03.tar.gz";
        sha256 = "06q0xkg5cwdwafzmb9rkaa305ddv7vli9gpm6n9jnkyaaxbk9f55";
      };
      meta = {
@@ -11694,11 +11740,11 @@ let
     version = "1.20190727";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20190727.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Modern-Perl-1.20190727.tar.gz";
       sha256 = "2e69d7ab7e4a53153e686c25547ad914e7464d4e5604b8851931a6e63fc51b21";
     };
     meta = {
-      homepage = https://github.com/chromatic/Modern-Perl;
+      homepage = "https://github.com/chromatic/Modern-Perl";
       description = "Enable all of the features of Modern Perl with one import";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11708,7 +11754,7 @@ let
     pname = "Module-Build";
     version = "0.4231";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-0.4231.tar.gz";
       sha256 = "05xpn8qg814y49vrih16zfr9iiwb7pmdf57ahjnc2h0p5illq3vy";
     };
     meta = {
@@ -11721,7 +11767,7 @@ let
     pname = "Module-Build-Deprecated";
     version = "0.4210";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Deprecated-0.4210.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Deprecated-0.4210.tar.gz";
       sha256 = "be089313fc238ee2183473aca8c86b55fb3cf44797312cbe9b892d6362621703";
     };
     doCheck = false;
@@ -11735,12 +11781,12 @@ let
     pname = "Module-Build-Pluggable";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-0.10.tar.gz";
       sha256 = "e5bb2acb117792c984628812acb0fec376cb970caee8ede57535e04d762b0e40";
     };
     propagatedBuildInputs = [ ClassAccessorLite ClassMethodModifiers DataOptList ];
     meta = {
-      homepage = https://github.com/tokuhirom/Module-Build-Pluggable;
+      homepage = "https://github.com/tokuhirom/Module-Build-Pluggable";
       description = "Module::Build meets plugins";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11751,7 +11797,7 @@ let
     pname = "Module-Build-Pluggable-PPPort";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-PPPort-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Module-Build-Pluggable-PPPort-0.04.tar.gz";
       sha256 = "44084ba3d8815f343bd391585ac5d8339a4807ce5c0dd84c98db8f310b64c0ea";
     };
     buildInputs = [ TestRequires TestSharedFork ];
@@ -11766,7 +11812,7 @@ let
     pname = "Module-Build-Tiny";
     version = "0.039";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Module-Build-Tiny-0.039.tar.gz";
       sha256 = "7d580ff6ace0cbe555bf36b86dc8ea232581530cbeaaea09bccb57b55797f11c";
     };
     buildInputs = [ FileShareDir ];
@@ -11781,7 +11827,7 @@ let
     pname = "Module-Build-WithXSpp";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Module-Build-WithXSpp-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/Module-Build-WithXSpp-0.14.tar.gz";
       sha256 = "0d39fjg9c0n820bk3fb50vvlwhdny4hdl69xmlyzql5xzp4cicsk";
     };
     propagatedBuildInputs = [ ExtUtilsCppGuess ExtUtilsXSpp ];
@@ -11791,7 +11837,7 @@ let
     pname = "Module-Build-XSUtil";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/H/HI/HIDEAKIO/Module-Build-XSUtil-0.19.tar.gz";
       sha256 = "004ly9xxjlsbrr2vhxsa1n84z3034gxrzr7z0wl45szd8v1v6qwh";
     };
     buildInputs = [ CaptureTiny CwdGuard FileCopyRecursiveReduced ];
@@ -11803,11 +11849,26 @@ let
     };
   };
 
+  ModuleCompile = buildPerlPackage rec {
+    pname = "Module-Compile";
+    version = "0.37";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/I/IN/INGY/${pname}-${version}.tar.gz";
+      sha256 = "18e6c4c4d2d5e39c21dde60a64424eed547e1d234ecc73a35278ea08161a8078";
+    };
+    propagatedBuildInputs = [ CaptureTiny DigestSHA1 ];
+    meta = {
+      homepage = "https://github.com/ingydotnet/module-compile-pm";
+      description = "Perl Module Compilation";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ModuleCPANTSAnalyse = buildPerlPackage {
      pname = "Module-CPANTS-Analyse";
      version = "1.01";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.01.tar.gz;
+       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Module-CPANTS-Analyse-1.01.tar.gz";
        sha256 = "0jf83v9ylw7s9i2zv0l1v11gafp3k4389asc52r6s6q5s2j0p6dx";
      };
      propagatedBuildInputs = [ ArchiveAnyLite ArrayDiff CPANDistnameInfo DataBinary FileFindObject PerlPrereqScannerNotQuiteLite SoftwareLicense ];
@@ -11815,7 +11876,7 @@ let
      meta = {
        description = "Generate Kwalitee ratings for a distribution";
        license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
-       homepage = https://cpants.cpanauthors.org;
+       homepage = "https://cpants.cpanauthors.org";
      };
   };
 
@@ -11823,7 +11884,7 @@ let
      pname = "Module-CPANfile";
      version = "1.1004";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-CPANfile-1.1004.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Module-CPANfile-1.1004.tar.gz";
        sha256 = "08a9a5mybf0llwlfvk7n0q7az6lrrzgzwc3432mcwbb4k8pbxvw8";
      };
      meta = {
@@ -11838,7 +11899,7 @@ let
      pname = "Module-ExtractUse";
      version = "0.343";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DO/DOMM/Module-ExtractUse-0.343.tar.gz;
+       url = "mirror://cpan/authors/id/D/DO/DOMM/Module-ExtractUse-0.343.tar.gz";
        sha256 = "00hcggwnqk953s4zbvkcabd5mfidg60hawlqsw6146in91dlclj8";
      };
      propagatedBuildInputs = [ ParseRecDescent PodStrip ];
@@ -11853,7 +11914,7 @@ let
     pname = "Module-Find";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/C/CR/CRENZ/Module-Find-0.15.tar.gz";
       sha256 = "0pm8v398rv4sy7sn7zzfbq4szxw6p1q4963ancsi17iyzskq4m2w";
     };
     meta = {
@@ -11866,7 +11927,7 @@ let
     pname = "Module-Implementation";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Module-Implementation-0.09.tar.gz";
       sha256 = "0vfngw4dbryihqhi7g9ks360hyw8wnpy3hpkzyg0q4y2y091lpy1";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -11881,7 +11942,7 @@ let
     pname = "Module-Info";
     version = "0.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Module-Info-0.37.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Info-0.37.tar.gz";
       sha256 = "0j143hqxgdkdpj5qssppq72gjr0n73c4f7is6wgrrcchjx905a4f";
     };
     buildInputs = [ TestPod TestPodCoverage ];
@@ -11896,7 +11957,7 @@ let
     pname = "Module-Install";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Install-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Install-1.19.tar.gz";
       sha256 = "06q12cm97yh4p7qbm0a2p96996ii6ss59qy57z0f7f9svy6sflqs";
     };
     propagatedBuildInputs = [ FileRemove ModuleBuild ModuleScanDeps YAMLTiny ];
@@ -11910,7 +11971,7 @@ let
     pname = "Module-Install-AuthorRequires";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/Module-Install-AuthorRequires-0.02.tar.gz";
       sha256 = "1v2ciw75dj5y8lh10d1vrhwmjx266gpqavr8m21jlpblgm9j2qyc";
     };
     propagatedBuildInputs = [ ModuleInstall ];
@@ -11924,7 +11985,7 @@ let
     pname = "Module-Install-AuthorTests";
     version = "0.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Module-Install-AuthorTests-0.002.tar.gz";
       sha256 = "121dyggy38316xss06v1zkwx4b59gl7b00c5q99xyzimwqnp49a0";
     };
     propagatedBuildInputs = [ ModuleInstall ];
@@ -11938,7 +11999,7 @@ let
     pname = "Module-Manifest";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Manifest-1.09.tar.gz";
       sha256 = "a395f80ff15ea0e66fd6c453844b6787ed4a875a3cd8df9f7e29280250bd539b";
     };
     buildInputs = [ TestException TestWarn ];
@@ -11953,12 +12014,12 @@ let
     pname = "Module-Path";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Module-Path-0.19.tar.gz";
       sha256 = "b33179ce4dd73dfcde7d46808804b9ffbb11db0245fe455a7d001747562feaca";
     };
     buildInputs = [ DevelFindPerl ];
     meta = {
-      homepage = https://github.com/neilbowers/Module-Path;
+      homepage = "https://github.com/neilbowers/Module-Path";
       description = "Get the full path to a locally installed module";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11968,7 +12029,7 @@ let
     pname = "Module-Pluggable";
     version = "5.2";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz;
+      url = "mirror://cpan/authors/id/S/SI/SIMONW/Module-Pluggable-5.2.tar.gz";
       sha256 = "b3f2ad45e4fd10b3fb90d912d78d8b795ab295480db56dc64e86b9fa75c5a6df";
     };
     patches = [
@@ -11986,7 +12047,7 @@ let
     pname = "Module-Pluggable-Fast";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Module-Pluggable-Fast-0.19.tar.gz";
       sha256 = "0pq758wlasmh77xyd2xh75m5b2x14s8pnsv63g5356gib1q5gj08";
     };
     propagatedBuildInputs = [ UNIVERSALrequire ];
@@ -11996,7 +12057,7 @@ let
     pname = "Module-Refresh";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Module-Refresh-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/Module-Refresh-0.17.tar.gz";
       sha256 = "6b30a6ceddc6512ab4490c16372ecf309a259f2ca147d622e478ac54e08511c3";
     };
     buildInputs = [ PathClass ];
@@ -12010,7 +12071,7 @@ let
     pname = "Module-Runtime";
     version = "0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Module-Runtime-0.016.tar.gz";
       sha256 = "097hy2czwkxlppri32m599ph0xfvfsbf0a5y23a4fdc38v32wc38";
     };
     meta = {
@@ -12023,12 +12084,12 @@ let
     pname = "Module-Runtime-Conflicts";
     version = "0.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Module-Runtime-Conflicts-0.003.tar.gz";
       sha256 = "707cdc75038c70fe91779b888ac050f128565d3967ba96680e1b1c7cc9733875";
     };
     propagatedBuildInputs = [ DistCheckConflicts ];
     meta = {
-      homepage = https://github.com/karenetheridge/Module-Runtime-Conflicts;
+      homepage = "https://github.com/karenetheridge/Module-Runtime-Conflicts";
       description = "Provide information on conflicts for Module::Runtime";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12038,7 +12099,7 @@ let
     pname = "Module-ScanDeps";
     version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.27.tar.gz;
+      url = "mirror://cpan/authors/id/R/RS/RSCHUPP/Module-ScanDeps-1.27.tar.gz";
       sha256 = "0j6r9r99x5p0i6fv06i44wpsvjxj32amjkiqf6pmqpj80jff2k7f";
     };
     buildInputs = [ TestRequires ];
@@ -12052,7 +12113,7 @@ let
     pname = "Module-Signature";
     version = "0.83";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.83.tar.gz;
+      url = "mirror://cpan/authors/id/A/AU/AUDREYT/Module-Signature-0.83.tar.gz";
       sha256 = "3c15f3845a85d2a76a81253be53cb0f716465a3f696eb9c50e92eef34e9601cb";
     };
     buildInputs = [ IPCRun ];
@@ -12066,7 +12127,7 @@ let
     pname = "Module-Util";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTLAW/Module-Util-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATTLAW/Module-Util-1.09.tar.gz";
       sha256 = "6cfbcb6a45064446ec8aa0ee1a7dddc420b54469303344187aef84d2c7f3e2c6";
     };
     meta = {
@@ -12079,7 +12140,7 @@ let
     pname = "Module-Versions";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip;
+      url = "mirror://cpan/authors/id/T/TH/THW/Module-Versions-0.02.zip";
       sha256 = "0g7qs6vqg91xpwg1cdy91m3kh9m1zbkzyz1qsy453b572xdscf0d";
     };
     buildInputs = [ pkgs.unzip ];
@@ -12089,7 +12150,7 @@ let
     pname = "Module-Versions-Report";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JESSE/Module-Versions-Report-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/J/JE/JESSE/Module-Versions-Report-1.06.tar.gz";
       sha256 = "a3261d0d84b17678d8c4fd55eb0f892f5144d81ca53ea9a38d75d1a00ad9796a";
     };
     meta = {
@@ -12102,7 +12163,7 @@ let
     pname = "Mojo-DOM58";
     version = "2.000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DB/DBOOK/Mojo-DOM58-2.000.tar.gz;
+      url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-DOM58-2.000.tar.gz";
       sha256 = "1wsy0j6jpd06gc1ay6isyzqh5cdc834g5w0amslqcjgvf4snlk46";
     };
     meta = {
@@ -12116,7 +12177,7 @@ let
     pname = "mod_perl";
     version = "2.0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.11.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHAY/mod_perl-2.0.11.tar.gz";
       sha256 = "0x3gq4nz96y202cymgrf56n8spm7bffkd1p74dh9q3zrrlc9wana";
     };
     makeMakerFlags = "MP_AP_DESTDIR=$out";
@@ -12132,11 +12193,11 @@ let
     pname = "Mojolicious";
     version = "8.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.32.tar.gz;
+      url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-8.32.tar.gz";
       sha256 = "11fyz534syihisl8498655bqq4y8c73a6xhvl1wlq4axdgkm0d2h";
     };
     meta = {
-      homepage = https://mojolicious.org;
+      homepage = "https://mojolicious.org";
       description = "Real-time web framework";
       license = stdenv.lib.licenses.artistic2;
       maintainers = [ maintainers.thoughtpolice ];
@@ -12163,7 +12224,7 @@ let
     pname = "Mojolicious-Plugin-OpenAPI";
     version = "2.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.21.tar.gz;
+      url = "mirror://cpan/authors/id/J/JH/JHTHORSEN/Mojolicious-Plugin-OpenAPI-2.21.tar.gz";
       sha256 = "34b1f42d846c26d8be3a3556dc5a02dd7ab47c5612b41d3caf1ce6bc16101dc2";
     };
     propagatedBuildInputs = [ JSONValidator ];
@@ -12179,12 +12240,12 @@ let
     pname = "Mojolicious-Plugin-Status";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/S/SR/SRI/Mojolicious-Plugin-Status-1.01.tar.gz";
       sha256 = "08hvwg395sibjjkwc9fg31ngpmzf7z0467p6b0il355xqbwjpdf6";
     };
     propagatedBuildInputs = [ BSDResource IPCShareLite Mojolicious Sereal ];
     meta = {
-      homepage = https://github.com/mojolicious/mojo-status;
+      homepage = "https://github.com/mojolicious/mojo-status";
       description = "Mojolicious server status plugin";
       license = with stdenv.lib.licenses; [ artistic2 ];
       maintainers = [ maintainers.thoughtpolice ];
@@ -12211,7 +12272,7 @@ let
     pname = "Mojo-SQLite";
     version = "3.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.003.tar.gz;
+      url = "mirror://cpan/authors/id/D/DB/DBOOK/Mojo-SQLite-3.003.tar.gz";
       sha256 = "d96c00dcf45e2becc8e8181df074853d42616f2a660703455d0e0a2741478092";
     };
     buildInputs = [ ModuleBuildTiny ];
@@ -12228,7 +12289,7 @@ let
     pname = "Mojo-mysql";
     version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TE/TEKKI/Mojo-mysql-1.18.tar.gz;
+      url = "mirror://cpan/authors/id/T/TE/TEKKI/Mojo-mysql-1.18.tar.gz";
       sha256 = "cc023f068f1ed158b5788758ea175aabe646b06d2f86049552bd7307457396bd";
     };
     propagatedBuildInputs = [ DBDmysql Mojolicious SQLAbstract ];
@@ -12244,7 +12305,7 @@ let
     pname = "Mojo-IOLoop-ForkCall";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-ForkCall-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/J/JB/JBERGER/Mojo-IOLoop-ForkCall-0.20.tar.gz";
       sha256 = "2b9962244c25a71e4757356fb3e1237cf869e26d1c27215115ba7b057a81f1a6";
     };
     propagatedBuildInputs = [ IOPipely Mojolicious ];
@@ -12292,7 +12353,7 @@ let
     pname = "Monitoring-Plugin";
     version = "0.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-0.40.tar.gz;
+      url = "mirror://cpan/authors/id/N/NI/NIERLEIN/Monitoring-Plugin-0.40.tar.gz";
       sha256 = "0vr3wwdn3zs246qwi04bqk8jir6l88j5m59jk97hmfyj4xz6pfpq";
     };
     propagatedBuildInputs = [ ClassAccessor ConfigTiny MathCalcUnits ParamsValidate ];
@@ -12309,7 +12370,7 @@ let
     pname = "IO-Pipely";
     version = "0.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCAPUTO/IO-Pipely-0.005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCAPUTO/IO-Pipely-0.005.tar.gz";
       sha256 = "e33b6cf5cb2b46ee308513f51e623987a50a89901e81bf19701dce35179f2e74";
     };
     meta = {
@@ -12322,7 +12383,7 @@ let
     pname = "Moo";
     version = "2.003006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003006.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Moo-2.003006.tar.gz";
       sha256 = "bcb2092ab18a45005b5e2e84465ebf3a4999d8e82a43a09f5a94d859ae7f2472";
     };
     buildInputs = [ TestFatal ];
@@ -12337,7 +12398,7 @@ let
     pname = "Moose";
     version = "2.2012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Moose-2.2012.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-2.2012.tar.gz";
       sha256 = "46bbe47a9d16379c355b3a263214eb69bf0edca6a0ef75499a012236f5153569";
     };
     buildInputs = [ CPANMetaCheck TestCleanNamespaces TestFatal TestRequires ];
@@ -12346,7 +12407,7 @@ let
       export LD=$CC
     '';
     meta = {
-      homepage = http://moose.perl.org/;
+      homepage = "http://moose.perl.org/";
       description = "A postmodern object system for Perl 5";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.eelco ];
@@ -12357,7 +12418,7 @@ let
     pname = "MooX-HandlesVia";
     version = "0.001008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATTP/MooX-HandlesVia-0.001008.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATTP/MooX-HandlesVia-0.001008.tar.gz";
       sha256 = "b0946f23b3537763b8a96b8a83afcdaa64fce4b45235e98064845729acccfe8c";
     };
     buildInputs = [ MooXTypesMooseLike TestException TestFatal ];
@@ -12372,7 +12433,7 @@ let
      pname = "MooX-Locale-Passthrough";
      version = "0.001";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-Passthrough-0.001.tar.gz;
+       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-Passthrough-0.001.tar.gz";
        sha256 = "04h5xhqdvydd4xk9ckb6a79chn0ygf915ix55vg1snmba9z841bs";
      };
      propagatedBuildInputs = [ Moo ];
@@ -12386,7 +12447,7 @@ let
      pname = "MooX-Locale-TextDomain-OO";
      version = "0.001";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-TextDomain-OO-0.001.tar.gz;
+       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Locale-TextDomain-OO-0.001.tar.gz";
        sha256 = "0g8pwj45ccqrzvs9cqyhw29nm68vai1vj46ad39rajnqzp7m53jv";
      };
      propagatedBuildInputs = [ LocaleTextDomainOO MooXLocalePassthrough ];
@@ -12400,7 +12461,7 @@ let
      pname = "MooX-Options";
      version = "4.103";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Options-4.103.tar.gz;
+       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Options-4.103.tar.gz";
        sha256 = "0v9j0wxx4f6z6lrmdqf2k084b2c2f2jbvh86pwib0vgjz1sdbyad";
      };
      propagatedBuildInputs = [ GetoptLongDescriptive MROCompat MooXLocalePassthrough PathClass UnicodeLineBreak strictures ];
@@ -12416,7 +12477,7 @@ let
      pname = "MooX-Singleton";
      version = "1.20";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AJ/AJGB/MooX-Singleton-1.20.tar.gz;
+       url = "mirror://cpan/authors/id/A/AJ/AJGB/MooX-Singleton-1.20.tar.gz";
        sha256 = "03i1wfag279ldjjkwi9gvpfs8fgi05my47icq5ggi66yzxpn5mzp";
      };
      propagatedBuildInputs = [ RoleTiny ];
@@ -12431,7 +12492,7 @@ let
      pname = "MooX-StrictConstructor";
      version = "0.010";
      src = fetchurl {
-       url = mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-0.010.tar.gz;
+       url = "mirror://cpan/authors/id/H/HA/HARTZELL/MooX-StrictConstructor-0.010.tar.gz";
        sha256 = "0vvjgz7xbfmf69yav7sxsxmvklqv835xvh7h47w0apxmlkm9fjgr";
      };
      propagatedBuildInputs = [ Moo strictures ];
@@ -12446,7 +12507,7 @@ let
     pname = "MooX-Types-MooseLike";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-0.29.tar.gz";
       sha256 = "1d6jg9x3p7gm2r0xmbcag374a44gf5pcga2swvxhlhzakfm80dqx";
     };
     propagatedBuildInputs = [ ModuleRuntime ];
@@ -12457,7 +12518,7 @@ let
     pname = "MooX-Types-MooseLike-Numeric";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-Numeric-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MATEU/MooX-Types-MooseLike-Numeric-1.03.tar.gz";
       sha256 = "16adeb617b963d010179922c2e4e8762df77c75232e17320b459868c4970c44b";
     };
     buildInputs = [ Moo TestFatal ];
@@ -12472,7 +12533,7 @@ let
     pname = "Moose-Autobox";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Moose-Autobox-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Moose-Autobox-0.16.tar.gz";
       sha256 = "0mbhd0p7gf6qdhaylldl0ahq59zghs0vd5n1iqcbfkj8ryj1sh4j";
     };
     buildInputs = [ ModuleBuildTiny TestException ];
@@ -12487,7 +12548,7 @@ let
     pname = "MooseX-ABC";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/MooseX-ABC-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-ABC-0.06.tar.gz";
       sha256 = "1sky0dpi22wrymmkjmqba4k966zn7vrbpx918wn2nmg48swyrgjf";
     };
     buildInputs = [ TestFatal ];
@@ -12502,7 +12563,7 @@ let
     pname = "MooseX-Aliases";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/MooseX-Aliases-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-Aliases-0.11.tar.gz";
       sha256 = "0j07zqczjfmng3md6nkha7560i786d0cp3gdmrx49hr64jbhz1f4";
     };
     buildInputs = [ TestFatal ];
@@ -12513,13 +12574,13 @@ let
     pname = "MooseX-App-Cmd";
     version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-App-Cmd-0.32.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-App-Cmd-0.32.tar.gz";
       sha256 = "2e3bbf7283a4bee72d91d26eb204436030992bbe55cbd35ec33a546f16f973ff";
     };
     buildInputs = [ ModuleBuildTiny MooseXConfigFromFile TestOutput YAML ];
     propagatedBuildInputs = [ AppCmd MooseXGetopt MooseXNonMoose ];
     meta = {
-      homepage = https://github.com/moose/MooseX-App-Cmd;
+      homepage = "https://github.com/moose/MooseX-App-Cmd";
       description = "Mashes up MooseX::Getopt and App::Cmd";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12529,12 +12590,12 @@ let
     pname = "MooX";
     version = "0.101";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GE/GETTY/MooX-0.101.tar.gz;
+      url = "mirror://cpan/authors/id/G/GE/GETTY/MooX-0.101.tar.gz";
       sha256 = "2ff91a656e78aae0aca42293829d7a7e5acb9bf22b0401635b2ab6c870de32d5";
     };
     propagatedBuildInputs = [ DataOptList ImportInto Moo ];
     meta = {
-      homepage = https://github.com/Getty/p5-moox;
+      homepage = "https://github.com/Getty/p5-moox";
       description = "Using Moo and MooX:: packages the most lazy way";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12544,7 +12605,7 @@ let
     pname = "MooX-Aliases";
     version = "0.001006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/MooX-Aliases-0.001006.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/MooX-Aliases-0.001006.tar.gz";
       sha256 = "0rrqqsm8i6rckzxgzcj2p2s4cfszzddzwbcm04yjcqdcihkk2q01";
     };
     propagatedBuildInputs = [ Moo strictures ];
@@ -12559,7 +12620,7 @@ let
      pname = "MooX-Cmd";
      version = "0.017";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-0.017.tar.gz;
+       url = "mirror://cpan/authors/id/R/RE/REHSACK/MooX-Cmd-0.017.tar.gz";
        sha256 = "1xbhmq07v9z371ygkyghva9aryhc22kwbzn5qwkp72c0ma6z4gwl";
      };
      propagatedBuildInputs = [ ListMoreUtils ModulePluggable Moo PackageStash ParamsUtil RegexpCommon ];
@@ -12574,7 +12635,7 @@ let
     pname = "MooX-late";
     version = "0.016";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.016.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-late-0.016.tar.gz";
       sha256 = "1fb6393e8b77c0ec1e99229bc6f5b9db362eedc172fa940b37defd9bb3415e4e";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -12589,7 +12650,7 @@ let
     pname = "MouseX-SimpleConfig";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/M/MJ/MJGARDNER/MouseX-SimpleConfig-0.11.tar.gz";
       sha256 = "257f384091d33d340373a6153947039c698dc449d1ef989335644fc3d2da0069";
     };
     propagatedBuildInputs = [ ConfigAny MouseXConfigFromFile ];
@@ -12603,7 +12664,7 @@ let
     pname = "Test-UseAllModules";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-UseAllModules-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Test-UseAllModules-0.17.tar.gz";
       sha256 = "a71f2fe8b96ab8bfc2760aa1d3135ea049a5b20dcb105457b769a1195c7a2509";
     };
     meta = {
@@ -12616,7 +12677,7 @@ let
     pname = "Test-Valgrind";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/V/VP/VPIT/Test-Valgrind-1.19.tar.gz";
       sha256 = "06w1c0ddmmdkhhvv9pxq2nv5i40nbqf4cssfkq38yypfbyhsff0q";
     };
     propagatedBuildInputs = [ EnvSanctify FileHomeDir PerlDestructLevel XMLTwig ];
@@ -12631,7 +12692,7 @@ let
     pname = "MouseX-Types-Path-Class";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MASAKI/MouseX-Types-Path-Class-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-Types-Path-Class-0.07.tar.gz";
       sha256 = "228d4b4f3f0ed9547278691d0b7c5fe53d90874a69df709a49703c6af87c09de";
     };
     buildInputs = [ TestUseAllModules ];
@@ -12646,7 +12707,7 @@ let
     pname = "MouseX-Types";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Types-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Types-0.06.tar.gz";
       sha256 = "77288441fdadd15beeec9a0813ece8aec1542f1d8ceaaec14755b3f316fbcf8b";
     };
     buildInputs = [ TestException ];
@@ -12661,7 +12722,7 @@ let
     pname = "MouseX-ConfigFromFile";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MASAKI/MouseX-ConfigFromFile-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MASAKI/MouseX-ConfigFromFile-0.05.tar.gz";
       sha256 = "921b31cb13fc1f982a602f8e23815b7add23a224257e43790e287504ce879534";
     };
     buildInputs = [ TestUseAllModules ];
@@ -12676,13 +12737,13 @@ let
     pname = "MouseX-Getopt";
     version = "0.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.38.tar.gz;
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-Getopt-0.38.tar.gz";
       sha256 = "de3ea8ef452dd9501ea8c4eda8744b7224602602b04692607edd7d62b79f038f";
     };
     buildInputs = [ ModuleBuildTiny MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ];
     propagatedBuildInputs = [ GetoptLongDescriptive Mouse ];
     meta = {
-      homepage = https://github.com/gfx/mousex-getopt;
+      homepage = "https://github.com/gfx/mousex-getopt";
       description = "A Mouse role for processing command line options";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12692,7 +12753,7 @@ let
     pname = "MooseX-Attribute-Chained";
     version = "1.0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOMHUKINS/MooseX-Attribute-Chained-1.0.3.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOMHUKINS/MooseX-Attribute-Chained-1.0.3.tar.gz";
       sha256 = "0kjydmkxh8hpkbbmsgd5wrkhgq7w69lgfg6lx4s5g2xpqfkqmqz7";
     };
     propagatedBuildInputs = [ Moose ];
@@ -12702,7 +12763,7 @@ let
     pname = "MooseX-AttributeHelpers";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-AttributeHelpers-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-AttributeHelpers-0.25.tar.gz";
       sha256 = "b0c819ec83999b258b248f82059fa5975a0cee365423abbee0efaca5401c5ec6";
     };
     buildInputs = [ ModuleBuildTiny TestException ];
@@ -12717,7 +12778,7 @@ let
     pname = "MooseX-Clone";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Clone-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Clone-0.06.tar.gz";
       sha256 = "19wd74dihybnz1lbbsqn0clwxzb6y0aa0i25a8zhajz7p5fq5myb";
     };
     propagatedBuildInputs = [ DataVisitor HashUtilFieldHashCompat namespaceautoclean ];
@@ -12728,13 +12789,13 @@ let
     pname = "MooseX-ConfigFromFile";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-ConfigFromFile-0.14.tar.gz";
       sha256 = "9ad343cd9f86d714be9b54b9c68a443d8acc6501b6ad6b15e9ca0130b2e96f08";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestFatal TestRequires TestWithoutModule ];
     propagatedBuildInputs = [ MooseXTypesPathTiny ];
     meta = {
-      homepage = https://github.com/moose/MooseX-ConfigFromFile;
+      homepage = "https://github.com/moose/MooseX-ConfigFromFile";
       description = "An abstract Moose role for setting attributes from a configfile";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12744,13 +12805,13 @@ let
     pname = "MooseX-Daemonize";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Daemonize-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Daemonize-0.22.tar.gz";
       sha256 = "8a7fb999dca9b802a85136a10141b2d3378a3ecde0527c1df73d55edb28e59b3";
     };
     buildInputs = [ DevelCheckOS ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ MooseXGetopt MooseXTypesPathClass ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Daemonize;
+      homepage = "https://github.com/moose/MooseX-Daemonize";
       description = "Role for daemonizing your Moose based application";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12760,7 +12821,7 @@ let
     pname = "MooseX-Emulate-Class-Accessor-Fast";
     version = "0.009032";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/MooseX-Emulate-Class-Accessor-Fast-0.009032.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/MooseX-Emulate-Class-Accessor-Fast-0.009032.tar.gz";
       sha256 = "153r30nggcyyx7ai15dbnba2h5145f8jdsh6wj54298d3zpvgvl2";
     };
     buildInputs = [ TestException ];
@@ -12775,13 +12836,13 @@ let
     pname = "MooseX-Getopt";
     version = "0.74";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.74.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Getopt-0.74.tar.gz";
       sha256 = "1de0df3b431ebe9f3563bdf4569eacd7e07e865a8397f2a990d0cb57d4cb2c24";
     };
     buildInputs = [ ModuleBuildTiny MooseXStrictConstructor PathTiny TestDeep TestFatal TestNeeds TestTrap TestWarnings ];
     propagatedBuildInputs = [ GetoptLongDescriptive MooseXRoleParameterized ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Getopt;
+      homepage = "https://github.com/moose/MooseX-Getopt";
       description = "A Moose role for processing command line options";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12791,13 +12852,13 @@ let
     pname = "MooseX-Has-Options";
     version = "0.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz;
+      url = "mirror://cpan/authors/id/P/PS/PSHANGOV/MooseX-Has-Options-0.003.tar.gz";
       sha256 = "07c21cf8ed500b272020ff8da19f194728bb414e0012a2f0cc54ef2ef6222a68";
     };
     buildInputs = [ Moose TestDeep TestDifferences TestException TestMost TestWarn namespaceautoclean ];
     propagatedBuildInputs = [ ClassLoad ListMoreUtils StringRewritePrefix ];
     meta = {
-      homepage = https://github.com/pshangov/moosex-has-options;
+      homepage = "https://github.com/pshangov/moosex-has-options";
       description = "Succinct options for Moose";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12807,13 +12868,13 @@ let
     pname = "MooseX-Has-Sugar";
     version = "1.000006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-1.000006.tar.gz;
+      url = "mirror://cpan/authors/id/K/KE/KENTNL/MooseX-Has-Sugar-1.000006.tar.gz";
       sha256 = "efeed3ddb3a8ea18f416d485f3c2b0427145d267e63368c651d488eaa8c28d09";
     };
     buildInputs = [ TestFatal namespaceclean ];
     propagatedBuildInputs = [ SubExporterProgressive ];
     meta = {
-      homepage = https://github.com/kentfredric/MooseX-Has-Sugar;
+      homepage = "https://github.com/kentfredric/MooseX-Has-Sugar";
       description = "Sugar Syntax for moose 'has' fields";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12823,7 +12884,7 @@ let
     pname = "MooseX-LazyRequire";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-LazyRequire-0.11.tar.gz";
       sha256 = "ef620c1e019daf9cf3f23a943d25a94c91e93ab312bcd63be2e9740ec0b94288";
     };
     buildInputs = [ ModuleBuildTiny TestFatal ];
@@ -12839,7 +12900,7 @@ let
     pname = "MooseX-MarkAsMethods";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/R/RS/RSRCHBOY/MooseX-MarkAsMethods-0.15.tar.gz";
       sha256 = "1y3yxwcjjajm66pvca54cv9fax7a6dy36xqr92x7vzyhfqrw3v69";
     };
     propagatedBuildInputs = [ Moose namespaceautoclean ];
@@ -12853,13 +12914,13 @@ let
     pname = "MooseX-MethodAttributes";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-MethodAttributes-0.31.tar.gz";
       sha256 = "1whd10w7bm3dwaj7gpgw40bci9vvb2zmxs4349ifji91hvinwqck";
     };
     buildInputs = [ MooseXRoleParameterized TestFatal TestRequires ];
     propagatedBuildInputs = [ MooseXTypes ];
     meta = {
-      homepage = https://github.com/karenetheridge/moosex-methodattributes;
+      homepage = "https://github.com/karenetheridge/moosex-methodattributes";
       description = "Code attribute introspection";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12869,7 +12930,7 @@ let
     pname = "MooseX-NonMoose";
     version = "0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/MooseX-NonMoose-0.26.tar.gz";
       sha256 = "0zdaiphc45s5xj0ax5mkijf5d8v6w6yccb3zplgj6f30y7n55gnb";
     };
     buildInputs = [ TestFatal ];
@@ -12884,12 +12945,12 @@ let
     pname = "MooseX-OneArgNew";
     version = "0.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-OneArgNew-0.005.tar.gz";
       sha256 = "0gqhqdkwsnxmni0xv43iplplgp6g55khdwc5117j9i569r3wykvy";
     };
     propagatedBuildInputs = [ MooseXRoleParameterized ];
     meta = {
-      homepage = https://github.com/rjbs/moosex-oneargnew;
+      homepage = "https://github.com/rjbs/moosex-oneargnew";
       description = "Teach ->new to accept single, non-hashref arguments";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12899,7 +12960,7 @@ let
     pname = "MooseX-RelatedClassRoles";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HD/HDP/MooseX-RelatedClassRoles-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/H/HD/HDP/MooseX-RelatedClassRoles-0.004.tar.gz";
       sha256 = "17vynkf6m5d039qkr4in1c9lflr8hnwp1fgzdwhj4q6jglipmnrh";
     };
     propagatedBuildInputs = [ MooseXRoleParameterized ];
@@ -12909,7 +12970,7 @@ let
     pname = "MooseX-Params-Validate";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-Params-Validate-0.21.tar.gz";
       sha256 = "1n9ry6gnskkp9ir6s7d5jirn3mh14ydgpmwqz6wcp6d9md358ac8";
     };
     buildInputs = [ TestFatal ];
@@ -12924,7 +12985,7 @@ let
     pname = "MooseX-Role-Parameterized";
     version = "1.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-Parameterized-1.11.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-Parameterized-1.11.tar.gz";
       sha256 = "17pc5dly7ba0p50p2xcmp7bar8m262jcqgbkgyswl3kzbmn7dzhw";
     };
     buildInputs = [ CPANMetaCheck ModuleBuildTiny TestFatal TestNeeds ];
@@ -12940,7 +13001,7 @@ let
     pname = "MooseX-Role-WithOverloading";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Role-WithOverloading-0.17.tar.gz";
       sha256 = "0rb8k0dp1a55bm2pr6r0vsi5msvjl1dslfidxp1gj80j7zbrbc4j";
     };
     propagatedBuildInputs = [ Moose aliased namespaceautoclean ];
@@ -12954,13 +13015,13 @@ let
     pname = "MooseX-Runnable";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Runnable-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Runnable-0.10.tar.gz";
       sha256 = "40d8fd1b5524ae965965a1f144d7a0a0c850594c524402b2319b24d5c4af1199";
     };
     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 TestTableDriven ];
     propagatedBuildInputs = [ ListSomeUtils MooseXTypesPathTiny ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Runnable;
+      homepage = "https://github.com/moose/MooseX-Runnable";
       description = "Tag a class as a runnable application";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12970,7 +13031,7 @@ let
     pname = "MooseX-SemiAffordanceAccessor";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-SemiAffordanceAccessor-0.10.tar.gz";
       sha256 = "1mdil9ckgmgr78z59p8wfa35ixn5855ndzx14y01dvfxpiv5gf55";
     };
     propagatedBuildInputs = [ Moose ];
@@ -12980,7 +13041,7 @@ let
     pname = "MooseX-SetOnce";
     version = "0.200002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-SetOnce-0.200002.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-SetOnce-0.200002.tar.gz";
       sha256 = "0ndnl8dj7nh8lvckl6r3jw31d0dmq30qf2pqkgcz0lykzjvhdvfb";
     };
     buildInputs = [ TestFatal ];
@@ -12991,7 +13052,7 @@ let
     pname = "MooseX-Singleton";
     version = "0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Singleton-0.30.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Singleton-0.30.tar.gz";
       sha256 = "0hb5s1chsgbx2nlb0f112mdh2v1zwww8f4i3gvfvcghx3grv5135";
     };
     buildInputs = [ ModuleBuildTiny TestFatal TestRequires TestWarnings ];
@@ -13002,7 +13063,7 @@ let
     pname = "MooseX-StrictConstructor";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/MooseX-StrictConstructor-0.21.tar.gz";
       sha256 = "c72a5ae9583706ccdec71d401dcb3054013a7536b750df1436613d858ea2920d";
     };
     buildInputs = [ Moo TestFatal TestNeeds ];
@@ -13017,13 +13078,13 @@ let
     pname = "MooseX-Traits";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Traits-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Traits-0.13.tar.gz";
       sha256 = "74afe0c4faf4e3b97c57f289437caa60becca34cd5821f489dd4cc9da4fbe29a";
     };
     buildInputs = [ ModuleBuildTiny MooseXRoleParameterized TestFatal TestRequires TestSimple13 ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Traits;
+      homepage = "https://github.com/moose/MooseX-Traits";
       description = "Automatically apply roles at object creation time";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13033,7 +13094,7 @@ let
     pname = "MooseX-Traits-Pluggable";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/MooseX-Traits-Pluggable-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/MooseX-Traits-Pluggable-0.12.tar.gz";
       sha256 = "1jjqmcidy4kdgp5yffqqwxrsab62mbhbpvnzdy1rpwnb1savg5mb";
     };
     buildInputs = [ TestException ];
@@ -13044,13 +13105,13 @@ let
     pname = "MooseX-Types";
     version = "0.50";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.50.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-0.50.tar.gz";
       sha256 = "9cd87b3492cbf0be9d2df9317b2adf9fc30663770e69906654bea3f41b17cb08";
     };
     buildInputs = [ ModuleBuildTiny TestFatal TestRequires ];
     propagatedBuildInputs = [ CarpClan Moose SubExporterForMethods namespaceautoclean ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Types;
+      homepage = "https://github.com/moose/MooseX-Types";
       description = "Organise your Moose types in libraries";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13060,13 +13121,13 @@ let
     pname = "MooseX-Types-Common";
     version = "0.001014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Common-0.001014.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Common-0.001014.tar.gz";
       sha256 = "ef93718b6d2f240d50b5c3acb1a74b4c2a191869651470001a82be1f35d0ef0f";
     };
     buildInputs = [ ModuleBuildTiny TestDeep TestWarnings ];
     propagatedBuildInputs = [ MooseXTypes ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Types-Common;
+      homepage = "https://github.com/moose/MooseX-Types-Common";
       description = "A library of commonly used type constraints";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13076,13 +13137,13 @@ let
     pname = "MooseX-Types-DateTime";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-0.13.tar.gz";
       sha256 = "b89fa26636f6a17eaa3868b4514340472b68bbdc2161a1d79a22a1bf5b1d39c6";
     };
     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
     propagatedBuildInputs = [ DateTime MooseXTypes ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Types-DateTime;
+      homepage = "https://github.com/moose/MooseX-Types-DateTime";
       description = "DateTime related constraints and coercions for Moose";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13092,13 +13153,13 @@ let
     pname = "MooseX-Types-DateTime-MoreCoercions";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-MoreCoercions-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-DateTime-MoreCoercions-0.15.tar.gz";
       sha256 = "21bb3a597719888edb6ceaa132418d5cf92ecb92a50cce37b94259a55e0e3796";
     };
     buildInputs = [ ModuleBuildTiny TestFatal TestSimple13 ];
     propagatedBuildInputs = [ DateTimeXEasy MooseXTypesDateTime TimeDurationParse ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Types-DateTime-MoreCoercions;
+      homepage = "https://github.com/moose/MooseX-Types-DateTime-MoreCoercions";
       description = "Extensions to MooseX::Types::DateTime";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13108,13 +13169,13 @@ let
     pname = "MooseX-Types-LoadableClass";
     version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-LoadableClass-0.015.tar.gz";
       sha256 = "e037d3778253dcf92946435715bada0e6449c0a2808fa3ff32a965064d5a3bf4";
     };
     buildInputs = [ ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ MooseXTypes ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Types-LoadableClass;
+      homepage = "https://github.com/moose/MooseX-Types-LoadableClass";
       description = "ClassName type constraint with coercion to load the class";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13124,7 +13185,7 @@ let
     pname = "MooseX-Types-Path-Class";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Class-0.09.tar.gz";
       sha256 = "0zpgwzxj6d9k2lbg6v6zd1bcbzjz2h336rm816krbblq6ssvm177";
     };
     propagatedBuildInputs = [ MooseXTypes PathClass ];
@@ -13139,13 +13200,13 @@ let
     pname = "MooseX-Types-Path-Tiny";
     version = "0.012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Path-Tiny-0.012.tar.gz";
       sha256 = "19eede02dd654e70f73e34cd7af0063765173bcaefeeff1bdbe21318ecfd9158";
     };
     buildInputs = [ Filepushd ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ MooseXGetopt MooseXTypesStringlike PathTiny ];
     meta = {
-      homepage = https://github.com/karenetheridge/moosex-types-path-tiny;
+      homepage = "https://github.com/karenetheridge/moosex-types-path-tiny";
       description = "Path::Tiny types and coercions for Moose";
       license = stdenv.lib.licenses.asl20;
     };
@@ -13155,7 +13216,7 @@ let
     pname = "MooseX-Types-Perl";
     version = "0.101343";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/MooseX-Types-Perl-0.101343.tar.gz";
       sha256 = "0nijy676q27bvjb8swxrb1j4lq2xq8jbqkaxs1l9q81k7jpvx17h";
     };
     propagatedBuildInputs = [ MooseXTypes ];
@@ -13169,12 +13230,12 @@ let
     pname = "MooseX-Types-Stringlike";
     version = "0.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/MooseX-Types-Stringlike-0.003.tar.gz";
       sha256 = "06fgamdiz0n7cgghb8ycjd5mcidj8w769zs2gws6z6jjbkn4kqrf";
     };
     propagatedBuildInputs = [ MooseXTypes ];
     meta = {
-      homepage = https://github.com/dagolden/moosex-types-stringlike;
+      homepage = "https://github.com/dagolden/moosex-types-stringlike";
       description = "Moose type constraints for strings or string-like objects";
       license = stdenv.lib.licenses.asl20;
     };
@@ -13184,7 +13245,7 @@ let
     pname = "MooseX-Types-Structured";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-Structured-0.36.tar.gz";
       sha256 = "0mrxc00sid7526c6brrnjr6288468sszic3wazij71v3z59bdka3";
     };
     buildInputs = [ DateTime ModuleBuildTiny MooseXTypesDateTime TestFatal TestNeeds ];
@@ -13199,13 +13260,13 @@ let
     pname = "MooseX-Types-URI";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/MooseX-Types-URI-0.08.tar.gz";
       sha256 = "d310d20fa361fe2dff758236df87949cc7bf98e5cf3a7c79115365eccde6ccc1";
     };
     buildInputs = [ ModuleBuildTiny TestSimple13 ];
     propagatedBuildInputs = [ MooseXTypesPathClass URIFromHash ];
     meta = {
-      homepage = https://github.com/moose/MooseX-Types-URI;
+      homepage = "https://github.com/moose/MooseX-Types-URI";
       description = "URI related types and coercions for Moose";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13215,7 +13276,7 @@ let
     pname = "Mouse";
     version = "2.5.9";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.9.tar.gz;
+      url = "mirror://cpan/authors/id/S/SK/SKAJI/Mouse-v2.5.9.tar.gz";
       sha256 = "0wqcnm6xl7fv9r8izc9c43kr83qsr60i7y53hkickcqhxx38vmxr";
     };
     buildInputs = [ DevelPPPort ModuleBuildXSUtil TestException TestFatal TestLeakTrace TestOutput TestRequires TryTiny ];
@@ -13228,7 +13289,7 @@ let
     pname = "MouseX-NativeTraits";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFUJI/MouseX-NativeTraits-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/G/GF/GFUJI/MouseX-NativeTraits-1.09.tar.gz";
       sha256 = "0pnbchkxfz9fwa8sniyjqp0mz75b3k2fafq9r09znbbh51dbz9gq";
     };
     buildInputs = [ AnyMoose TestFatal ];
@@ -13243,7 +13304,7 @@ let
     pname = "Mozilla-CA";
     version = "20180117";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-20180117.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABH/Mozilla-CA-20180117.tar.gz";
       sha256 = "f2cc9fbe119f756313f321e0d9f1fac0859f8f154ac9d75b1a264c1afdf4e406";
     };
 
@@ -13263,7 +13324,7 @@ let
     pname = "MRO-Compat";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/MRO-Compat-0.13.tar.gz";
       sha256 = "1y547lr6zccf7919vx01v22zsajy528psanhg5aqschrrin3nb4a";
     };
     meta = {
@@ -13276,7 +13337,7 @@ let
     pname = "MusicBrainz-DiscID";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/N/NJ/NJH/MusicBrainz-DiscID-0.03.tar.gz";
       sha256 = "0fjph2q3yp0aa87gckv3391s47m13wbyylj7jb7vqx7hv0pzj0jh";
     };
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
@@ -13291,7 +13352,7 @@ let
     pname = "WebService-MusicBrainz";
     version = "1.0.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-1.0.5.tar.gz;
+      url = "mirror://cpan/authors/id/B/BF/BFAIST/WebService-MusicBrainz-1.0.5.tar.gz";
       sha256 = "16chs1l58cf000d5kalkyph3p31ci73p1rlyx98mfv10d2cq6fsj";
     };
     propagatedBuildInputs = [ Mojolicious ];
@@ -13332,13 +13393,13 @@ let
     pname = "namespace-autoclean";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/namespace-autoclean-0.29.tar.gz";
       sha256 = "45ebd8e64a54a86f88d8e01ae55212967c8aa8fed57e814085def7608ac65804";
     };
     buildInputs = [ TestNeeds ];
     propagatedBuildInputs = [ SubIdentify namespaceclean ];
     meta = {
-      homepage = https://github.com/moose/namespace-autoclean;
+      homepage = "https://github.com/moose/namespace-autoclean";
       description = "Keep imports out of your namespace";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13348,7 +13409,7 @@ let
     pname = "namespace-clean";
     version = "0.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz;
+      url = "mirror://cpan/authors/id/R/RI/RIBASUSHI/namespace-clean-0.27.tar.gz";
       sha256 = "8a10a83c3e183dc78f9e7b7aa4d09b47c11fb4e7d3a33b9a12912fd22e31af9d";
     };
     propagatedBuildInputs = [ BHooksEndOfScope PackageStash ];
@@ -13362,11 +13423,11 @@ let
     pname = "Net-Ident";
     version = "1.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Net-Ident-1.25.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/Net-Ident-1.25.tar.gz";
       sha256 = "2e5bd58b01c2a66e8049a2f8d9c93e1b5f6dce53e0ee3a481ce6a6f411f2c8f8";
     };
     meta = {
-      homepage = https://github.com/toddr/Net-Ident;
+      homepage = "https://github.com/toddr/Net-Ident";
       description = "Lookup the username on the remote end of a TCP/IP connection";
       license = stdenv.lib.licenses.mit;
     };
@@ -13376,7 +13437,7 @@ let
     pname = "NetAddr-IP";
     version = "4.079";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz";
       sha256 = "ec5a82dfb7028bcd28bb3d569f95d87dd4166cc19867f2184ed3a59f6d6ca0e7";
     };
     meta = {
@@ -13389,7 +13450,7 @@ let
     pname = "Net-Amazon-AWSSign";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NA/NATON/Net-Amazon-AWSSign-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/N/NA/NATON/Net-Amazon-AWSSign-0.12.tar.gz";
       sha256 = "0gpdjz5095hd3y1xhnbv45m6q2shw0c9r7spj1jvb8hy7dmhq10x";
     };
     propagatedBuildInputs = [ URI ];
@@ -13402,7 +13463,7 @@ let
     pname = "Net-Amazon-EC2";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MALLEN/Net-Amazon-EC2-0.36.tar.gz";
       sha256 = "1wbjgmxjzr8mjpwj3mglan9hyh327cz27sfsir0w4rphwy93ca2f";
     };
     propagatedBuildInputs = [ LWPProtocolHttps Moose ParamsValidate XMLSimple ];
@@ -13417,7 +13478,7 @@ let
     pname = "Net-Amazon-MechanicalTurk";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MT/MTURK/Net-Amazon-MechanicalTurk-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/MT/MTURK/Net-Amazon-MechanicalTurk-1.02.tar.gz";
       sha256 = "13hgggfchhp4m3l2rn3d1v6g6ccwmwf9xiyc9izv5570930mw2cd";
     };
     patches =
@@ -13430,7 +13491,7 @@ let
     pname = "Net-Amazon-S3";
     version = "0.87";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LL/LLAP/Net-Amazon-S3-0.87.tar.gz;
+      url = "mirror://cpan/authors/id/L/LL/LLAP/Net-Amazon-S3-0.87.tar.gz";
       sha256 = "77d803477a0c635f311f538e163c5f10e471882c5153398012c93f4284376b8f";
     };
     buildInputs = [ TestDeep TestException TestLoadAllModules TestMockTime TestWarnings ];
@@ -13445,7 +13506,7 @@ let
     pname = "Net-Amazon-S3-Policy";
     version = "0.1.6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz;
+      url = "mirror://cpan/authors/id/P/PO/POLETTIX/Net-Amazon-S3-Policy-0.1.6.tar.gz";
       sha256 = "056rhq6vsdpwi2grbmxj8341qjrz0258civpnhs78j37129nxcfj";
     };
     propagatedBuildInputs = [ JSON ];
@@ -13459,7 +13520,7 @@ let
     pname = "Net-Async-Ping";
     version = "0.004001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Net-Async-Ping-0.004001.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Net-Async-Ping-0.004001.tar.gz";
       sha256 = "0nz9i9fp7wp620f4i9z8fip1zhcaz34ckhd00ymksw8cfr8fhmwh";
     };
     propagatedBuildInputs = [ IOAsync Moo NetFrameLayerIPv6 namespaceclean ];
@@ -13475,7 +13536,7 @@ let
     pname = "Net-AMQP";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHIPS/Net-AMQP-0.06.tar.gz";
       sha256 = "0b2ba7de2cd7ddd5fe102a2e2ae7aeba21eaab1078bf3bfd3c5a722937256380";
     };
     doCheck = false; # failures on 32bit
@@ -13491,7 +13552,7 @@ let
     pname = "Net-CIDR";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRSAM/Net-CIDR-0.20.tar.gz";
       sha256 = "c75edc6818bb360d71c139169fd64ad65c35fff6d2b9fac7b9f9e6c467f187b5";
     };
     meta = {
@@ -13505,7 +13566,7 @@ let
     pname = "Net-CIDR-Lite";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOUGW/Net-CIDR-Lite-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOUGW/Net-CIDR-Lite-0.21.tar.gz";
       sha256 = "cfa125e8a2aef9259bc3a44e07cbdfb7894b64d22e7c0cee92aee2f5c7915093";
     };
     meta = {
@@ -13517,13 +13578,13 @@ let
     pname = "Net-CoverArtArchive";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CY/CYCLES/Net-CoverArtArchive-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/C/CY/CYCLES/Net-CoverArtArchive-1.02.tar.gz";
       sha256 = "1lfx8lrjgb3s11fcm243jp5sghngd9svkgmg7xmssmj34q4f49ap";
     };
     buildInputs = [ FileFindRule ];
     propagatedBuildInputs = [ JSONAny LWP Moose namespaceautoclean ];
     meta = {
-      homepage = https://github.com/metabrainz/CoverArtArchive;
+      homepage = "https://github.com/metabrainz/CoverArtArchive";
       description = "Query the coverartarchive.org";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13533,14 +13594,14 @@ let
     pname = "Net-DBus";
     version = "1.2.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DANBERR/Net-DBus-1.2.0.tar.gz";
       sha256 = "e7a1ac9ef4a1235b3fdbd5888f86c347182306467bd79abc9b0756a64b441cbc";
     };
     nativeBuildInputs = [ pkgs.buildPackages.pkgconfig ];
     buildInputs = [ pkgs.dbus TestPod TestPodCoverage ];
     propagatedBuildInputs = [ XMLTwig ];
     meta = {
-      homepage = http://www.freedesktop.org/wiki/Software/dbus;
+      homepage = "http://www.freedesktop.org/wiki/Software/dbus";
       description = "Extension for the DBus bindings";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13550,7 +13611,7 @@ let
     pname = "Net-DNS";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/N/NL/NLNETLABS/Net-DNS-1.21.tar.gz";
       sha256 = "ddefe13b28084ffcc8f10a96b3c13c59449dbf6fc371c006d129630ea0ce767a";
     };
     propagatedBuildInputs = [ DigestHMAC ];
@@ -13565,7 +13626,7 @@ let
      pname = "Net-DNS-Resolver-Mock";
      version = "1.20171219";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MB/MBRADSHAW/Net-DNS-Resolver-Mock-1.20171219.tar.gz;
+       url = "mirror://cpan/authors/id/M/MB/MBRADSHAW/Net-DNS-Resolver-Mock-1.20171219.tar.gz";
        sha256 = "0m3rxpkv1b9121srvbqkrgzg4m8mnydiydqv34in1i1ixwrl6jn9";
      };
      propagatedBuildInputs = [ NetDNS ];
@@ -13579,7 +13640,7 @@ let
     pname = "Net-Domain-TLD";
     version = "1.75";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXP/Net-Domain-TLD-1.75.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXP/Net-Domain-TLD-1.75.tar.gz";
       sha256 = "4c37f811184d68ac4179d48c10ea31922dd5fca2c1bffcdcd95c5a2a3b4002ee";
     };
     meta = {
@@ -13592,7 +13653,7 @@ let
      pname = "Net-FastCGI";
      version = "0.14";
      src = fetchurl {
-       url = mirror://cpan/authors/id/C/CH/CHANSEN/Net-FastCGI-0.14.tar.gz;
+       url = "mirror://cpan/authors/id/C/CH/CHANSEN/Net-FastCGI-0.14.tar.gz";
        sha256 = "0sjrnlzci21sci5m52zz0x9bf889j67i6vnhrjlypsfm9w5914qi";
      };
      buildInputs = [ TestException TestHexString ];
@@ -13606,7 +13667,7 @@ let
     pname = "Net-Frame";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-1.21.tar.gz";
       sha256 = "0ffphcw52dgn07k7q02di77zq2zzc0p3vlv2gnphr7v3ifi5gcxw";
     };
     propagatedBuildInputs = [ BitVector ClassGomor NetIPv6Addr ];
@@ -13621,7 +13682,7 @@ let
     pname = "Net-Frame-Layer-IPv6";
     version = "1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-Layer-IPv6-1.08.tar.gz;
+      url = "mirror://cpan/authors/id/G/GO/GOMOR/Net-Frame-Layer-IPv6-1.08.tar.gz";
       sha256 = "1mzp778jmjn23990gj0mibhr9mrwmaw85nh7wf25hzzkx0mqabds";
     };
     propagatedBuildInputs = [ NetFrame ];
@@ -13635,13 +13696,13 @@ let
     pname = "Net-HTTP";
     version = "6.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/Net-HTTP-6.19.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/Net-HTTP-6.19.tar.gz";
       sha256 = "52b76ec13959522cae64d965f15da3d99dcb445eddd85d2ce4e4f4df385b2fc4";
     };
     propagatedBuildInputs = [ URI ];
     __darwinAllowLocalNetworking = true;
     meta = {
-      homepage = https://github.com/libwww-perl/Net-HTTP;
+      homepage = "https://github.com/libwww-perl/Net-HTTP";
       description = "Low-level HTTP connection (client)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13652,7 +13713,7 @@ let
     pname = "Net-IDN-Encode";
     version = "2.500";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.500.tar.gz;
+      url = "mirror://cpan/authors/id/C/CF/CFAERBER/Net-IDN-Encode-2.500.tar.gz";
       sha256 = "1aiy7adirk3wpwlczd8sldi9k1dray0jrg1lbcrcw97zwcrkciam";
     };
     buildInputs = [ TestNoWarnings ];
@@ -13666,7 +13727,7 @@ let
     pname = "Net-IMAP-Client";
     version = "0.9505";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GANGLION/Net-IMAP-Client-0.9505.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GANGLION/Net-IMAP-Client-0.9505.tar.gz";
       sha256 = "d3f6a608b85e09a8080a67a9933837aae6f2cd0e8ee39df3380123dc5e3de912";
     };
     propagatedBuildInputs = [ IOSocketSSL ListMoreUtils ];
@@ -13679,7 +13740,7 @@ let
     pname = "Net-IP";
     version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz";
       sha256 = "0ffn2xqqbkfi7v303sp5dwgbv36jah3vg8r4nxhxfiv60vric3q4";
     };
     meta = {
@@ -13691,7 +13752,7 @@ let
     pname = "Net-IPv4Addr";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FRAJULAC/Net-IPv4Addr-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FRAJULAC/Net-IPv4Addr-0.10.tar.gz";
       sha256 = "1zk3591822dg187sgkwjjvg18qmvkn3yib1c34mq8z5i617xwi9q";
     };
     meta = {
@@ -13702,7 +13763,7 @@ let
     pname = "Net-IPv6Addr";
     version = "0.96";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BK/BKB/Net-IPv6Addr-0.96.tar.gz;
+      url = "mirror://cpan/authors/id/B/BK/BKB/Net-IPv6Addr-0.96.tar.gz";
       sha256 = "1y6dpv3gafvjcw9c5ldxminykz6aggwqdj6l93h9w2hncz8fa0iv";
     };
     propagatedBuildInputs = [ MathBase85 MathBigInt NetIPv4Addr ];
@@ -13716,7 +13777,7 @@ let
     pname = "Net-Netmask";
     version = "1.9104";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JM/JMASLAK/Net-Netmask-1.9104.tar.gz;
+      url = "mirror://cpan/authors/id/J/JM/JMASLAK/Net-Netmask-1.9104.tar.gz";
       sha256 = "17li2svymz49az35xl6galp4b9qcnb985gzklhikkvkn9da6rz3y";
     };
     buildInputs = [ Test2Suite TestUseAllModules ];
@@ -13729,7 +13790,7 @@ let
     pname = "Net-OAuth";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/K/KG/KGRENNAN/Net-OAuth-0.28.tar.gz";
       sha256 = "0k4h4a5048h7qgyx25ih64x0l4airx8a6d9gjq08wmxcl2fk3z3v";
     };
     buildInputs = [ TestWarn ];
@@ -13744,7 +13805,7 @@ let
     pname = "Net-Patricia";
     version = "1.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-1.22.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRUBER/Net-Patricia-1.22.tar.gz";
       sha256 = "70835a926e1c5a8d0324c72fffee82eeb7ec6c141dee04fd446820b64f71c552";
     };
     propagatedBuildInputs = [ NetCIDRLite Socket6 ];
@@ -13754,7 +13815,7 @@ let
     pname = "Net-Ping";
     version = "2.72";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Net-Ping-2.72.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Net-Ping-2.72.tar.gz";
       sha256 = "555af602f54229cd81fef7da1a81516800f3155c6dc4d07dc71be1de3253dd6a";
     };
     meta = {
@@ -13766,7 +13827,7 @@ let
     pname = "Net-DNS-Resolver-Programmable";
     version = "0.009";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BIGPRESH/Net-DNS-Resolver-Programmable-0.009.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BIGPRESH/Net-DNS-Resolver-Programmable-0.009.tar.gz";
       sha256 = "8080a2ab776629585911af1179bdb7c4dc2bebfd4b5efd77b11d1dac62454bf8";
     };
     propagatedBuildInputs = [ NetDNS ];
@@ -13780,7 +13841,7 @@ let
     pname = "Net-Prometheus";
     version = "0.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Net-Prometheus-0.07.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Net-Prometheus-0.07.tar.gz";
       sha256 = "1dh498b26wdaip053hw52317jjmb2n2r5209a1zv5yfrlxpblqm7";
     };
     propagatedBuildInputs = [ RefUtil StructDumb ];
@@ -13795,7 +13856,7 @@ let
     pname = "Net-SCP";
     version = "0.08.reprise";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IV/IVAN/Net-SCP-0.08.reprise.tar.gz;
+      url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SCP-0.08.reprise.tar.gz";
       sha256 = "88a9b2df69e769e5855a408b19f61915b82e8fe070ab5cf4d525dd3b8bbe31c1";
     };
     propagatedBuildInputs = [ pkgs.openssl ];
@@ -13813,7 +13874,7 @@ let
     pname = "Net-Server";
     version = "2.009";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.009.tar.gz;
+      url = "mirror://cpan/authors/id/R/RH/RHANDOM/Net-Server-2.009.tar.gz";
       sha256 = "0gw1k9gcw7habbkxvsfa2gz34brlbwcidk6khgsf1qjm0dbccrw2";
     };
     doCheck = false; # seems to hang waiting for connections
@@ -13826,7 +13887,7 @@ let
     pname = "Net-SFTP-Foreign";
     version = "1.90";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SALVA/Net-SFTP-Foreign-1.90.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SALVA/Net-SFTP-Foreign-1.90.tar.gz";
       sha256 = "d1eafb34f669ab6de675058292778ba2e0e42ecafd59abb1128ba31d62a0419d";
     };
     propagatedBuildInputs = [ pkgs.openssl ];
@@ -13843,7 +13904,7 @@ let
      pname = "Net-Server-Coro";
      version = "1.3";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AL/ALEXMV/Net-Server-Coro-1.3.tar.gz;
+       url = "mirror://cpan/authors/id/A/AL/ALEXMV/Net-Server-Coro-1.3.tar.gz";
        sha256 = "11pvfxsi0q37kd17z597wb8r9dv3r96fiagq57kc746k1lmp06hy";
      };
      propagatedBuildInputs = [ Coro NetServer ];
@@ -13857,7 +13918,7 @@ let
     pname = "Net-SMTP-SSL";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Net-SMTP-SSL-1.04.tar.gz";
       sha256 = "001a6dcfahf7kkyirqkc8jd4fh4fkal7n7vm9c4dblqrvmdc8abv";
     };
     propagatedBuildInputs = [ IOSocketSSL ];
@@ -13867,7 +13928,7 @@ let
     pname = "Net-SMTP-TLS";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/A/AW/AWESTHOLM/Net-SMTP-TLS-0.12.tar.gz";
       sha256 = "19g48kabj22v66jbf69q78xplhi7r1y2kdbddfwh4xy3g9k75rzg";
     };
     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
@@ -13877,7 +13938,7 @@ let
     pname = "Net-SMTP-TLS-ButMaintained";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/F/FA/FAYLAND/Net-SMTP-TLS-ButMaintained-0.24.tar.gz";
       sha256 = "0vi5cv7f9i96hgp3q3jpxzn1ysn802kh5xc304f8b7apf67w15bb";
     };
     propagatedBuildInputs = [ DigestHMAC IOSocketSSL ];
@@ -13912,7 +13973,7 @@ let
     pname = "Net-SSH";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IV/IVAN/Net-SSH-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/I/IV/IVAN/Net-SSH-0.09.tar.gz";
       sha256 = "7c71c7c3cbe953234dfe25bcc1ad7edb0e1f5a0578601f5523bc6070262a3817";
     };
     propagatedBuildInputs = [ pkgs.openssl ];
@@ -13929,7 +13990,7 @@ let
     pname = "Net-SSH-Perl";
     version = "2.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCHWIGON/Net-SSH-Perl-2.14.tar.gz;
+      url = "mirror://cpan/authors/id/S/SC/SCHWIGON/Net-SSH-Perl-2.14.tar.gz";
       sha256 = "2b5d1bb13590b5870116704e7f1dce9a9823c4f80ff5461b97bb26a317393017";
     };
     propagatedBuildInputs = [ CryptCurve25519 CryptIDEA CryptX FileHomeDir MathGMP StringCRC32 ];
@@ -13944,7 +14005,7 @@ let
     pname = "Net-SSLeay";
     version = "1.88";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz";
       sha256 = "1pfgh4h3szcpvqlcimc60pjbk9zwls99x5863sva0wc47i4dl010";
     };
     buildInputs = [ pkgs.openssl ];
@@ -13966,7 +14027,7 @@ let
     pname = "Net-Statsd";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/COSIMO/Net-Statsd-0.12.tar.gz";
       sha256 = "63e453603da165bc6d1c4ca0b55eda3d2204f040c59304a47782c5aa7886565c";
     };
     meta = {
@@ -13979,7 +14040,7 @@ let
     pname = "Net-Telnet";
     version = "3.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JR/JROGERS/Net-Telnet-3.04.tar.gz;
+      url = "mirror://cpan/authors/id/J/JR/JROGERS/Net-Telnet-3.04.tar.gz";
       sha256 = "e64d567a4e16295ecba949368e7a6b8b5ae2a16b3ad682121d9b007dc5d2a37a";
     };
     meta = {
@@ -13992,14 +14053,14 @@ let
     pname = "Net-Twitter-Lite";
     version = "0.12008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz;
+      url = "mirror://cpan/authors/id/M/MM/MMIMS/Net-Twitter-Lite-0.12008.tar.gz";
       sha256 = "13j69a6nqq8mh5b4qk021db55rkfnk1ppwk0rpg68b1z58gvxsmj";
     };
     buildInputs = [ ModuleBuildTiny TestFatal ];
     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
     doCheck = false;
     meta = {
-      homepage = https://github.com/semifor/Net-Twitter-Lite;
+      homepage = "https://github.com/semifor/Net-Twitter-Lite";
       description = "A perl interface to the Twitter API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -14009,7 +14070,7 @@ let
     pname = "Net-Whois-IP";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BS/BSCHMITZ/Net-Whois-IP-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/B/BS/BSCHMITZ/Net-Whois-IP-1.19.tar.gz";
       sha256 = "08kj2h9qiyfvv3jfz619xl796j93cslg7d96919mnrnjy6hdz6zh";
     };
     doCheck = false;
@@ -14025,7 +14086,7 @@ let
     pname = "Net-Works";
     version = "0.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAXMIND/Net-Works-0.22.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAXMIND/Net-Works-0.22.tar.gz";
       sha256 = "1zz91vn1kdxljnlwllf4dzdsm4v6pja5694vf8l4w66azcyv5j8a";
     };
     propagatedBuildInputs = [ ListAllUtils MathInt128 Moo namespaceautoclean ];
@@ -14040,7 +14101,7 @@ let
     pname = "Number-Bytes-Human";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Number-Bytes-Human-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/Number-Bytes-Human-0.11.tar.gz";
       sha256 = "0b3gprpbcrdwc2gqalpys5m2ngilh5injhww8y0gf3dln14rrisz";
     };
   };
@@ -14049,7 +14110,7 @@ let
     pname = "Number-Compare";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Number-Compare-0.03.tar.gz";
       sha256 = "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3";
     };
   };
@@ -14058,7 +14119,7 @@ let
     pname = "Number-Format";
     version = "1.75";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WR/WRW/Number-Format-1.75.tar.gz;
+      url = "mirror://cpan/authors/id/W/WR/WRW/Number-Format-1.75.tar.gz";
       sha256 = "82d659cb16461764fd44d11a9ce9e6a4f5e8767dc1069eb03467c6e55de257f3";
     };
     meta = {
@@ -14071,7 +14132,7 @@ let
     pname = "Number-Fraction";
     version = "2.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVECROSS/Number-Fraction-2.01.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAVECROSS/Number-Fraction-2.01.tar.gz";
       sha256 = "1ysv5md4dmz95zc0gy8ivb21nhqxyv8vrc5lr2sgshsjrdqsi185";
     };
     propagatedBuildInputs = [ Moose ];
@@ -14085,7 +14146,7 @@ let
      pname = "Number-Misc";
      version = "1.2";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIKO/Number-Misc-1.2.tar.gz";
        sha256 = "1n4ivj4ydplanwbxn3jbsfyfcl91ngn2d0addzqrq1hac26bdfbp";
      };
      meta = {
@@ -14098,7 +14159,7 @@ let
     pname = "Number-WithError";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Number-WithError-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/Number-WithError-1.01.tar.gz";
       sha256 = "0m7my372rcj2d3j8xvhqdlhnnvxqabasvpvvhdkyli3qgrra1xnz";
     };
     propagatedBuildInputs = [ ParamsUtil prefork ];
@@ -14113,7 +14174,7 @@ let
     pname = "NTLM";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/N/NB/NBEBOUT/NTLM-1.09.tar.gz";
       sha256 = "c823e30cda76bc15636e584302c960e2b5eeef9517c2448f7454498893151f85";
     };
     propagatedBuildInputs = [ DigestHMAC ];
@@ -14127,7 +14188,7 @@ let
     pname = "Object-Accessor";
     version = "0.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Object-Accessor-0.48.tar.gz";
       sha256 = "76cb824a27b6b4e560409fcf6fd5b3bfbbd38b72f1f3d37ed0b54bd9c0baeade";
     };
     meta = {
@@ -14140,7 +14201,7 @@ let
     pname = "Object-InsideOut";
     version = "4.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz;
+      url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz";
       sha256 = "1i6aif37ji91nsyncp5d0d3q29clf009sxdn1rz38917hai6rzcx";
     };
     propagatedBuildInputs = [ ExceptionClass ];
@@ -14154,7 +14215,7 @@ let
     pname = "Object-Signature";
     version = "1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Object-Signature-1.08.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Object-Signature-1.08.tar.gz";
       sha256 = "12k90c19ly93ib1p6sm3k7sbnr2h5dbywkdmnff2ngm99p4m68c4";
     };
     meta = {
@@ -14167,7 +14228,7 @@ let
     pname = "OLE-Storage_Lite";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/OLE-Storage_Lite-0.20.tar.gz";
       sha256 = "1fpqhhgb8blj4hhs97fsbnbhk29s9yms057a9s9yl20f3hbsc65b";
     };
     meta = {
@@ -14180,7 +14241,7 @@ let
     pname = "Opcodes";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Opcodes-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Opcodes-0.14.tar.gz";
       sha256 = "7f7365447e4d1c5b87b43091448f0488e67c9f036b26c022a5409cd73d343893";
     };
     meta = {
@@ -14209,7 +14270,7 @@ let
     pname = "OpenGL";
     version = "0.70";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHM/OpenGL-0.70.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHM/OpenGL-0.70.tar.gz";
       sha256 = "1q3lz168q081iwl9jg21fbzhp9la79gav9mv6nmh2jab83s2l3mj";
     };
 
@@ -14234,7 +14295,7 @@ let
     pname = "Net-OpenID-Common";
     version = "1.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Common-1.20.tar.gz;
+      url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Common-1.20.tar.gz";
       sha256 = "1jdbkp18ka2m4akjp9b0dbw2lqnzgwpq435cnh6hwwa79bbrfkmb";
     };
     propagatedBuildInputs = [ CryptDHGMP XMLSimple ];
@@ -14244,7 +14305,7 @@ let
     pname = "Net-OpenID-Consumer";
     version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Consumer-1.18.tar.gz;
+      url = "mirror://cpan/authors/id/W/WR/WROG/Net-OpenID-Consumer-1.18.tar.gz";
       sha256 = "0f2g6sczvbpyjmy14pabmrj0d48hlsndqswrvmqk1161wxpkh70f";
     };
     propagatedBuildInputs = [ JSON NetOpenIDCommon ];
@@ -14255,7 +14316,7 @@ let
     pname = "Net-OpenSSH";
     version = "0.78";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SALVA/Net-OpenSSH-0.78.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SALVA/Net-OpenSSH-0.78.tar.gz";
       sha256 = "8f10844542a2824389decdb8edec7561d8199dc5f0250e849a0bb56f7aee880c";
     };
     meta = {
@@ -14268,7 +14329,7 @@ let
     pname = "Net-ZooKeeper";
     version = "0.41";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAF/Net-ZooKeeper-0.41.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAF/Net-ZooKeeper-0.41.tar.gz";
       sha256 = "91c177f30f82302eaf3173356eef05c21bc82163df752acb469177bd14a72db9";
     };
     buildInputs = [ pkgs.zookeeper_mt ];
@@ -14278,7 +14339,7 @@ let
     NIX_CFLAGS_LINK = "-L${pkgs.zookeeper_mt.out}/lib -lzookeeper_mt";
     meta = {
       maintainers = [ maintainers.limeytexan ];
-      homepage = https://github.com/mark-5/p5-net-zookeeper;
+      homepage = "https://github.com/mark-5/p5-net-zookeeper";
       license = stdenv.lib.licenses.asl20;
     };
   };
@@ -14287,7 +14348,7 @@ let
     pname = "Package-Constants";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Package-Constants-0.06.tar.gz";
       sha256 = "0b58be78706ccc4e4bd9bbad41767470427fd7b2cfad749489de101f85bc5df5";
     };
     meta = {
@@ -14300,7 +14361,7 @@ let
     pname = "Package-DeprecationManager";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Package-DeprecationManager-0.17.tar.gz";
       sha256 = "1d743ada482b5c9871d894966e87d4c20edc96931bb949fb2638b000ddd6684b";
     };
     buildInputs = [ TestFatal TestWarnings ];
@@ -14315,7 +14376,7 @@ let
     pname = "PatchReader";
     version = "0.9.6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TM/TMANNERM/PatchReader-0.9.6.tar.gz;
+      url = "mirror://cpan/authors/id/T/TM/TMANNERM/PatchReader-0.9.6.tar.gz";
       sha256 = "b8de37460347bb5474dc01916ccb31dd2fe0cd92242c4a32d730e8eb087c323c";
     };
     meta = {
@@ -14328,7 +14389,7 @@ let
     pname = "Package-Stash";
     version = "0.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-0.38.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-0.38.tar.gz";
       sha256 = "c58ee8844df2dda38e3bf66fdf443439aaefaef1a33940edf2055f0afd223a7f";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -14343,7 +14404,7 @@ let
     pname = "Package-Stash-XS";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-XS-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Package-Stash-XS-0.29.tar.gz";
       sha256 = "1akqk10qxwk798qppajqbczwmhy4cs9g0lg961m3vq218slnnryk";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -14357,13 +14418,13 @@ let
     pname = "Pango";
     version = "1.227";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAOC/Pango-1.227.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAOC/Pango-1.227.tar.gz";
       sha256 = "0wdcidnfnb6nm79fzfs39ivawj3x8m98a147fmcxgv1zvwia9c1l";
     };
     buildInputs = [ pkgs.pango ];
     propagatedBuildInputs = [ Cairo Glib ];
     meta = {
-      homepage = http://gtk2-perl.sourceforge.net/;
+      homepage = "http://gtk2-perl.sourceforge.net/";
       description = "Layout and render international text";
       license = stdenv.lib.licenses.lgpl21Plus;
     };
@@ -14373,12 +14434,12 @@ let
     pname = "Parallel-ForkManager";
     version = "2.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YA/YANICK/Parallel-ForkManager-2.02.tar.gz";
       sha256 = "c1b2970a8bb666c3de7caac4a8f4dbcc043ab819bbc337692ec7bf27adae4404";
     };
     buildInputs = [ TestWarn ];
     meta = {
-      homepage = https://github.com/dluxhu/perl-parallel-forkmanager;
+      homepage = "https://github.com/dluxhu/perl-parallel-forkmanager";
       description = "A simple parallel processing fork manager";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -14389,7 +14450,7 @@ let
     pname = "Parallel-Prefork";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/Parallel-Prefork-0.18.tar.gz";
       sha256 = "f1c1f48f1ae147a58bc88f9cb2f570d6bb15ea4c0d589abd4c3084ddc961596e";
     };
     buildInputs = [ TestRequires TestSharedFork ];
@@ -14404,7 +14465,7 @@ let
     pname = "Params-Classify";
     version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Params-Classify-0.015.tar.gz";
       sha256 = "052r198xyrsv8wz21gijdigz2cgnidsa37nvyfzdiz4rv1fc33ir";
     };
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
@@ -14414,7 +14475,7 @@ let
     pname = "Params-Util";
     version = "1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz;
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-1.07.tar.gz";
       sha256 = "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h";
     };
     meta = {
@@ -14427,7 +14488,7 @@ let
     pname = "Params-Validate";
     version = "1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.29.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-Validate-1.29.tar.gz";
       sha256 = "49a68dfb430bea028042479111d19068e08095e5a467e320b7ab7bde3d729733";
     };
     buildInputs = [ TestFatal TestRequires ];
@@ -14443,7 +14504,7 @@ let
      pname = "Params-ValidationCompiler";
      version = "0.30";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.30.tar.gz;
+       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Params-ValidationCompiler-0.30.tar.gz";
        sha256 = "1jqn1l4m4i341g14kmjsf3a1kn7vv6z89cix0xjjgr1v70iywnyw";
      };
      propagatedBuildInputs = [ EvalClosure ExceptionClass ];
@@ -14458,7 +14519,7 @@ let
     pname = "Paranoid";
     version = "2.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORLISS/Paranoid/Paranoid-2.07.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CORLISS/Paranoid/Paranoid-2.07.tar.gz";
       sha256 = "b55cfd8c6d5f181e218efd012f711a50cd14e4dbc8804650b95477178f43b7fc";
     };
     patches = [ ../development/perl-modules/Paranoid-blessed-path.patch ];
@@ -14478,7 +14539,7 @@ let
     pname = "PAR-Dist";
     version = "0.49";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.49.tar.gz;
+      url = "mirror://cpan/authors/id/R/RS/RSCHUPP/PAR-Dist-0.49.tar.gz";
       sha256 = "078ycyn8pw3rba4k3qwcqrqfcym5c1pivymwa0bvs9sab45j4iwy";
     };
     meta = {
@@ -14490,7 +14551,7 @@ let
      pname = "PAUSE-Permissions";
      version = "0.17";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/PAUSE-Permissions-0.17.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/PAUSE-Permissions-0.17.tar.gz";
        sha256 = "021ink414w4mdk6rd54cc1f23kfqg0zk4njx4ngr0bw3wc6r4kks";
      };
      propagatedBuildInputs = [ FileHomeDir HTTPDate MooXOptions TimeDurationParse ];
@@ -14506,7 +14567,7 @@ let
     pname = "parent";
     version = "0.237";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/parent-0.237.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CORION/parent-0.237.tar.gz";
       sha256 = "1bnaadzf51g6zrpq6pvvgds2cc9d4w1vck7sapkd3hb5hmjdk28h";
     };
   };
@@ -14515,7 +14576,7 @@ let
     pname = "Parse-DebControl";
     version = "2.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JA/JAYBONCI/Parse-DebControl-2.005.tar.gz;
+      url = "mirror://cpan/authors/id/J/JA/JAYBONCI/Parse-DebControl-2.005.tar.gz";
       sha256 = "0ad78qri4sg9agghqdm83xsjgks94yvffs23kppy7mqjy8gwwjxn";
     };
     propagatedBuildInputs = [ IOStringy LWP ];
@@ -14528,7 +14589,7 @@ let
      pname = "Parse-LocalDistribution";
      version = "0.19";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.19.tar.gz;
+       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-LocalDistribution-0.19.tar.gz";
        sha256 = "17p92nj4k3acrqqjnln1j5x8hbra9jkx5hdcybrq37ld9qnc62vb";
      };
      propagatedBuildInputs = [ ParsePMFile ];
@@ -14543,7 +14604,7 @@ let
     pname = "Parse-PlainConfig";
     version = "3.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/Parse-PlainConfig-3.05.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CORLISS/Parse-PlainConfig/Parse-PlainConfig-3.05.tar.gz";
       sha256 = "6b78a8552398b0d2d7063505c93b3cfed0432c5b2cf6e00b8e51febf411c1efa";
     };
     propagatedBuildInputs = [ ClassEHierarchy Paranoid ];
@@ -14558,7 +14619,7 @@ let
      pname = "Parse-PMFile";
      version = "0.42";
      src = fetchurl {
-       url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.42.tar.gz;
+       url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Parse-PMFile-0.42.tar.gz";
        sha256 = "0v3k5jslbl29735hs32x9si546v55cyy6sb58aib8vmq684wgxp7";
      };
      buildInputs = [ ExtUtilsMakeMakerCPANfile ];
@@ -14572,7 +14633,7 @@ let
     pname = "Parse-RecDescent";
     version = "1.967015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz;
+      url = "mirror://cpan/authors/id/J/JT/JTBRAUN/Parse-RecDescent-1.967015.tar.gz";
       sha256 = "1943336a4cb54f1788a733f0827c0c55db4310d5eae15e542639c9dd85656e37";
     };
     meta = {
@@ -14585,7 +14646,7 @@ let
     pname = "Parse-Syslog";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSCHWEI/Parse-Syslog-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/D/DS/DSCHWEI/Parse-Syslog-1.10.tar.gz";
       sha256 = "659a2145441ef36d9835decaf83da308fcd03f49138cb3d90928e8bfc9f139d9";
     };
   };
@@ -14594,7 +14655,7 @@ let
     pname = "Parser-MGC";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Parser-MGC-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Parser-MGC-0.16.tar.gz";
       sha256 = "14bv2fwg59q4s3kv0vf11hh222anlm181ig87cph2f68y32n2i3l";
     };
     propagatedBuildInputs = [ FileSlurpTiny ];
@@ -14608,7 +14669,7 @@ let
     pname = "Parser-Yapp";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/W/WB/WBRASWELL/Parse-Yapp-1.21.tar.gz";
       sha256 = "1r8kbyk0qd4ficmabj753kjpq0ib0csk01169w7jxflg62cfj41q";
     };
     meta = {
@@ -14621,7 +14682,7 @@ let
     pname = "Path-Class";
     version = "0.37";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz;
+      url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Path-Class-0.37.tar.gz";
       sha256 = "1kj8q8dmd8jci94w5arav59nkp0pkxrkliz4n8n6yf02hsa82iv5";
     };
     meta = {
@@ -14634,7 +14695,7 @@ let
     pname = "Path-Iterator-Rule";
     version = "1.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-1.014.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Iterator-Rule-1.014.tar.gz";
       sha256 = "19mik0r5v1cmxfxm0h4lwqyj0nmq6jgnvvq96hqcjgylpvc02x1z";
     };
     propagatedBuildInputs = [ NumberCompare TextGlob TryTiny ];
@@ -14650,7 +14711,7 @@ let
     pname = "Path-Tiny";
     version = "0.112";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.112.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Path-Tiny-0.112.tar.gz";
       sha256 = "813df2d140c65f795daefd8eca18e61194ecac7050c5406a069db86dea31cc3a";
     };
     meta = {
@@ -14674,7 +14735,7 @@ let
       substituteInPlace Cwd.pm --replace '/usr/bin/pwd' '${pkgs.coreutils}/bin/pwd'
     '';
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz;
+      url = "mirror://cpan/authors/id/X/XS/XSAWYERX/PathTools-3.75.tar.gz";
       sha256 = "a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2";
     };
   };
@@ -14707,7 +14768,7 @@ let
     # tests fail; look unfinished
     doCheck = false;
     meta = {
-      homepage = http://ludovic.rousseau.free.fr/softwares/pcsc-perl/;
+      homepage = "http://ludovic.rousseau.free.fr/softwares/pcsc-perl/";
       description = "Communicate with a smart card using PC/SC";
       license = stdenv.lib.licenses.gpl2Plus;
       maintainers = with maintainers; [ abbradar ];
@@ -14718,7 +14779,7 @@ let
     pname = "PDF-API2";
     version = "2.036";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.036.tar.gz;
+      url = "mirror://cpan/authors/id/S/SS/SSIMMS/PDF-API2-2.036.tar.gz";
       sha256 = "070444e9fef8beb6f115994a6ac89533fe8ba02d5e240a35bb07adcbcb511774";
     };
     buildInputs = [ TestException TestMemoryCycle ];
@@ -14733,12 +14794,12 @@ let
     pname = "Pegex";
     version = "0.74";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/Pegex-0.74.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/Pegex-0.74.tar.gz";
       sha256 = "31f0889695d79a3ab79a6315a8a08baeb1268592bc6596c3feffb424d982dfdf";
     };
     buildInputs = [ TestPod TieIxHash ];
     meta = {
-      homepage = https://github.com/ingydotnet/pegex-pm;
+      homepage = "https://github.com/ingydotnet/pegex-pm";
       description = "Acmeist PEG Parser Framework";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -14751,7 +14812,7 @@ let
     pname = "perl5lib";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NO/NOBULL/perl5lib-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/N/NO/NOBULL/perl5lib-1.02.tar.gz";
       sha256 = "1b6fgs8wy2a7ff8rr1qdvdghhvlpr1pv760k4i2c8lq1hhjnkf94";
     };
   };
@@ -14760,7 +14821,7 @@ let
     pname = "Perl-osnames";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERLANCAR/Perl-osnames-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Perl-osnames-0.11.tar.gz";
       sha256 = "fb22a1ed59dc2311f7f1ffca5685d90c0600020467f624f57b4dd3dba5bc659b";
     };
     meta = {
@@ -14773,13 +14834,13 @@ let
     pname = "Perl-Critic";
     version = "1.138";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Perl-Critic-1.138.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/Perl-Critic-1.138.tar.gz";
       sha256 = "2ad194f91ef24df4698369c2562d4164e9bf74f2d5565c681841abf79789ed82";
     };
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ BKeywords ConfigTiny FileWhich ModulePluggable PPIxQuoteLike PPIxRegexp PPIxUtilities PerlTidy PodSpell StringFormat ];
     meta = {
-      homepage = http://perlcritic.com;
+      homepage = "http://perlcritic.com";
       description = "Critique Perl source code for best-practices";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -14789,7 +14850,7 @@ let
     pname = "Perl-Destruct-Level";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/R/RG/RGARCIA/Perl-Destruct-Level-0.02.tar.gz";
       sha256 = "0fyiysrq874ncscgdjg522fs29gvqads6ynyhwxwwq1b545srd20";
     };
     meta = {
@@ -14800,7 +14861,7 @@ let
     pname = "PerlIO-eol";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/PerlIO-eol-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/PerlIO-eol-0.17.tar.gz";
       sha256 = "1fayp27vcmypqyzcd4003036h3g5zy6jk1ia25frdca58pzcpk6f";
     };
   };
@@ -14824,7 +14885,7 @@ let
     pname = "PerlIO-utf8_strict";
     version = "0.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.007.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/PerlIO-utf8_strict-0.007.tar.gz";
       sha256 = "83a33f2fe046cb3ad6afc80790635a423e2c7c6854afacc6998cd46951cc81cb";
     };
     buildInputs = [ TestException ];
@@ -14838,7 +14899,7 @@ let
     pname = "PerlIO-via-dynamic";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/PerlIO-via-dynamic-0.14.tar.gz";
       sha256 = "0jbb3xpbqzmr625blvnjszd69l3cwxzi7bhmkj5x48dgv3s7mkca";
     };
   };
@@ -14847,7 +14908,7 @@ let
     pname = "PerlIO-via-symlink";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-symlink-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/C/CL/CLKAO/PerlIO-via-symlink-0.05.tar.gz";
       sha256 = "0lidddcaz9anddqrpqk4zwm550igv6amdhj86i2jjdka9b1x81s1";
     };
 
@@ -14864,7 +14925,7 @@ let
     pname = "PerlIO-via-Timeout";
     version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAMS/PerlIO-via-Timeout-0.32.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAMS/PerlIO-via-Timeout-0.32.tar.gz";
       sha256 = "9278f9ef668850d913d98fa4c0d7e7d667cff3503391f4a4eae73a246f2e7916";
     };
     buildInputs = [ ModuleBuildTiny TestSharedFork TestTCP ];
@@ -14878,13 +14939,13 @@ let
     pname = "perl-ldap";
     version = "0.66";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARSCHAP/perl-ldap-0.66.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARSCHAP/perl-ldap-0.66.tar.gz";
       sha256 = "09263ce6166e80c98d689d41d09995b813389fd069b784601f6dc57f8e2b4102";
     };
     buildInputs = [ TextSoundex ];
     propagatedBuildInputs = [ ConvertASN1 ];
     meta = {
-      homepage = http://ldap.perl.org/;
+      homepage = "http://ldap.perl.org/";
       description = "LDAP client library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.limeytexan ];
@@ -14895,7 +14956,7 @@ let
     pname = "PerlMagick";
     version = "6.89-1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz;
+      url = "mirror://cpan/authors/id/J/JC/JCRISTY/PerlMagick-6.89-1.tar.gz";
       sha256 = "0n9afy1z5bhf9phrbahnkwhgcmijn8jggpbzwrivw1zhliliiy68";
     };
     buildInputs = [ pkgs.imagemagick ];
@@ -14910,7 +14971,7 @@ let
     pname = "Perl-Tidy";
     version = "20200110";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20200110.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHANCOCK/Perl-Tidy-20200110.tar.gz";
       sha256 = "c8c13ab88f42409d419993d488b8dc7cf4a02d5034d3037ca859fb93b18e8086";
     };
     meta = {
@@ -14923,7 +14984,7 @@ let
     pname = "PHP-Serialization";
     version = "0.34";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/PHP-Serialization-0.34.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/PHP-Serialization-0.34.tar.gz";
       sha256 = "0yphqsgg7zrar2ywk2j2fnjxmi9rq32yf0p5ln8m9fmfx4kd84mr";
     };
     meta = {
@@ -14935,7 +14996,7 @@ let
     pname = "PkgConfig";
     version = "0.23026";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/PkgConfig-0.23026.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/PkgConfig-0.23026.tar.gz";
       sha256 = "56c8ad9015af3799b99a21b8790997723406acf479f35d13fe9bf632db2d5c26";
     };
     meta = {
@@ -14949,13 +15010,13 @@ let
     pname = "Plack";
     version = "1.0047";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0047.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-1.0047.tar.gz";
       sha256 = "322c93f5acc0a0f0e11fd4a76188f978bdc14338a9f1df3ae535227017046561";
     };
     buildInputs = [ AuthenSimplePasswd CGIEmulatePSGI FileShareDirInstall HTTPRequestAsCGI HTTPServerSimplePSGI IOHandleUtil LWP LWPProtocolhttp10 LogDispatchArray MIMETypes TestMockTimeHiRes TestRequires TestSharedFork TestTCP ];
     propagatedBuildInputs = [ ApacheLogFormatCompiler CookieBaker DevelStackTraceAsHTML FileShareDir FilesysNotifySimple HTTPEntityParser HTTPHeadersFast HTTPMessage TryTiny ];
     meta = {
-      homepage = https://github.com/plack/Plack;
+      homepage = "https://github.com/plack/Plack";
       description = "Perl Superglue for Web frameworks and Web Servers (PSGI toolkit)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -14965,7 +15026,7 @@ let
      pname = "Plack-App-Proxy";
      version = "0.29";
      src = fetchurl {
-       url = mirror://cpan/authors/id/L/LE/LEEDO/Plack-App-Proxy-0.29.tar.gz;
+       url = "mirror://cpan/authors/id/L/LE/LEEDO/Plack-App-Proxy-0.29.tar.gz";
        sha256 = "03x6yb6ykz1ms90jp1s0pq19yplf7wswljvhzqkr16jannfrmah4";
      };
      propagatedBuildInputs = [ AnyEventHTTP LWP Plack ];
@@ -14980,7 +15041,7 @@ let
      pname = "Plack-Middleware-Auth-Digest";
      version = "0.05";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Auth-Digest-0.05.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Auth-Digest-0.05.tar.gz";
        sha256 = "1sqm23kfsl3ac4060zcclc3r86x1vxzhsgvgzg6mxk9njj93zgcs";
      };
      propagatedBuildInputs = [ DigestHMAC Plack ];
@@ -14996,7 +15057,7 @@ let
      pname = "Plack-Middleware-ConsoleLogger";
      version = "0.05";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ConsoleLogger-0.05.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ConsoleLogger-0.05.tar.gz";
        sha256 = "1ngvhwdw9ll4cwnvf0i89ppa9pbyiwng6iba04scrqjda353lrsm";
      };
      propagatedBuildInputs = [ JavaScriptValueEscape Plack ];
@@ -15012,13 +15073,13 @@ let
     pname = "Plack-Middleware-Debug";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Debug-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Debug-0.17.tar.gz";
       sha256 = "a30b62f1bb94e641f7b60b5ea5335e140c553b4131ec4003b56db37f47617a26";
     };
     buildInputs = [ ModuleBuildTiny TestRequires ];
     propagatedBuildInputs = [ ClassMethodModifiers DataDump DataDumperConcise Plack TextMicroTemplate ];
     meta = {
-      homepage = https://github.com/miyagawa/Plack-Middleware-Debug;
+      homepage = "https://github.com/miyagawa/Plack-Middleware-Debug";
       description = "Display information about the current request/response";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15028,7 +15089,7 @@ let
      pname = "Plack-Middleware-Deflater";
      version = "0.12";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/Plack-Middleware-Deflater-0.12.tar.gz;
+       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/Plack-Middleware-Deflater-0.12.tar.gz";
        sha256 = "0xf2visi16hgwgyp9q0cjr10ikbn474hjia5mj8mb2scvbkrbni8";
      };
      propagatedBuildInputs = [ Plack ];
@@ -15043,12 +15104,12 @@ let
     pname = "Plack-Middleware-FixMissingBodyInRedirect";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-FixMissingBodyInRedirect-0.12.tar.gz";
       sha256 = "6c22d069f5a57ac206d4659b28b8869bb9270640bb955efddd451dcc58cdb391";
     };
     propagatedBuildInputs = [ HTMLParser Plack ];
     meta = {
-      homepage = https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect;
+      homepage = "https://github.com/Sweet-kid/Plack-Middleware-FixMissingBodyInRedirect";
       description = "Plack::Middleware which sets body for redirect response, if it's not already set";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15058,7 +15119,7 @@ let
      pname = "Plack-Middleware-Header";
      version = "0.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/C/CH/CHIBA/Plack-Middleware-Header-0.04.tar.gz;
+       url = "mirror://cpan/authors/id/C/CH/CHIBA/Plack-Middleware-Header-0.04.tar.gz";
        sha256 = "0pjxxbnilphn38s3mmv0fmg9q2hm4z02ngp2a1lxblzjfbzvkdjy";
      };
      propagatedBuildInputs = [ Plack ];
@@ -15072,7 +15133,7 @@ let
     pname = "Plack-Middleware-MethodOverride";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-MethodOverride-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-MethodOverride-0.20.tar.gz";
       sha256 = "dbfb5a2efb48bfeb01cb3ae1e1c677e155dc7bfe210c7e7f221bae3cb6aab5f1";
     };
     propagatedBuildInputs = [ Plack ];
@@ -15086,12 +15147,12 @@ let
     pname = "Plack-Middleware-RemoveRedundantBody";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/S/SW/SWEETKID/Plack-Middleware-RemoveRedundantBody-0.09.tar.gz";
       sha256 = "80d45f93d6b7290b0bd8b3cedd84a37fc501456cc3dec02ec7aad81c0018087e";
     };
     propagatedBuildInputs = [ Plack ];
     meta = {
-      homepage = https://github.com/Sweet-kid/Plack-Middleware-RemoveRedundantBody;
+      homepage = "https://github.com/Sweet-kid/Plack-Middleware-RemoveRedundantBody";
       description = "Plack::Middleware which sets removes body for HTTP response if it's not required";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15101,7 +15162,7 @@ let
     pname = "Plack-Middleware-ReverseProxy";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-ReverseProxy-0.16.tar.gz";
       sha256 = "0a512n62pnk5ayj3zdzyj50iy1qi8nwh6ygks2h7nrh7gp9k2jc7";
     };
     propagatedBuildInputs = [ Plack ];
@@ -15115,7 +15176,7 @@ let
      pname = "Plack-Middleware-Session";
      version = "0.33";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.33.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Plack-Middleware-Session-0.33.tar.gz";
        sha256 = "1vm4a66civdzh7xvl5hy5wn1w8j1vndppwyz8ndh9n4as74s5yag";
      };
      propagatedBuildInputs = [ DigestHMAC Plack ];
@@ -15131,13 +15192,13 @@ let
     pname = "Plack-Test-ExternalServer";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Plack-Test-ExternalServer-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Plack-Test-ExternalServer-0.02.tar.gz";
       sha256 = "5baf5c57fe0c06412deec9c5abe7952ab8a04f8c47b4bbd8e9e9982268903ed0";
     };
     buildInputs = [ Plack TestSharedFork TestTCP ];
     propagatedBuildInputs = [ LWP ];
     meta = {
-      homepage = https://github.com/perl-catalyst/Plack-Test-ExternalServer;
+      homepage = "https://github.com/perl-catalyst/Plack-Test-ExternalServer";
       description = "Run HTTP tests on external live servers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15187,7 +15248,7 @@ let
     pname = "POE-Test-Loops";
     version = "1.360";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCAPUTO/POE-Test-Loops-1.360.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCAPUTO/POE-Test-Loops-1.360.tar.gz";
       sha256 = "0yx4wsljfmdzsiv0ni98x6lw975cm82ahngbwqvzv60wx5pwkl5y";
     };
     meta = {
@@ -15201,7 +15262,7 @@ let
     pname = "PPI";
     version = "1.270";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MITHALDU/PPI-1.270.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MITHALDU/PPI-1.270.tar.gz";
       sha256 = "622a698c781bb85d2bdf7bbfe040fe70d33b79774c9ae01fce2375dc73faf457";
     };
     buildInputs = [ ClassInspector TestDeep TestNoWarnings TestObject TestSubCalls ];
@@ -15212,7 +15273,7 @@ let
     preCheck = "rm t/03_document.t";
 
     meta = {
-      homepage = https://github.com/adamkennedy/PPI;
+      homepage = "https://github.com/adamkennedy/PPI";
       description = "Parse, Analyze and Manipulate Perl (without perl)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15222,7 +15283,7 @@ let
     pname = "PPIx-QuoteLike";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-QuoteLike-0.008.tar.gz";
       sha256 = "0dzlcddvfzn7s8z1jj12ghsbzf9wm5dq84361v4vx5p6j8zhsaz4";
     };
     propagatedBuildInputs = [ PPI ];
@@ -15236,7 +15297,7 @@ let
     pname = "PPIx-Regexp";
     version = "0.068";
     src = fetchurl {
-      url = mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.068.tar.gz;
+      url = "mirror://cpan/authors/id/W/WY/WYANT/PPIx-Regexp-0.068.tar.gz";
       sha256 = "b5444b699a3c7ad79506c796559449c6f858dc62deb60e08249f96782636e5f4";
     };
     propagatedBuildInputs = [ ListMoreUtils PPI ];
@@ -15250,7 +15311,7 @@ let
     pname = "PPIx-Utilities";
     version = "1.001000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz;
+      url = "mirror://cpan/authors/id/E/EL/ELLIOTJS/PPIx-Utilities-1.001000.tar.gz";
       sha256 = "03a483386fd6a2c808f09778d44db06b02c3140fb24ba4bf12f851f46d3bcb9b";
     };
     buildInputs = [ TestDeep ];
@@ -15265,7 +15326,7 @@ let
     pname = "Proc-Background";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NERDVANA/Proc-Background-1.21.tar.gz";
       sha256 = "91b6a5aeb841b1c313498c78fad08e37d17595702dc6205b5ad38ef69949b7ee";
     };
     meta = {
@@ -15276,7 +15337,7 @@ let
     pname = "Proc-ProcessTable";
     version = "0.59";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.59.tar.gz;
+      url = "mirror://cpan/authors/id/J/JW/JWB/Proc-ProcessTable-0.59.tar.gz";
       sha256 = "f8cc5054d78c35a0ce39fb75430b4ef402e2a99013d2ec37e7997f316594606c";
     };
     meta = {
@@ -15289,7 +15350,7 @@ let
     pname = "Proc-Find";
     version = "0.051";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERLANCAR/Proc-Find-0.051.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERLANCAR/Proc-Find-0.051.tar.gz";
       sha256 = "64d39071ec94d7b66a7cab5a950246f0fff013b5a200a63d1176432987e5a135";
     };
     propagatedBuildInputs = [ ProcProcessTable ];
@@ -15303,7 +15364,7 @@ let
     pname = "Proc-SafeExec";
     version = "1.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BILBO/Proc-SafeExec-1.5.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BILBO/Proc-SafeExec-1.5.tar.gz";
       sha256 = "1b4d0908bcac563d34a7e5be61c5da3eee98e4a6c7fa68c2670cc5844b5a2d78";
     };
   };
@@ -15312,7 +15373,7 @@ let
     pname = "Proc-Simple";
     version = "1.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHILLI/Proc-Simple-1.32.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHILLI/Proc-Simple-1.32.tar.gz";
       sha256 = "4c8f0a924b19ad78a13da73fe0fb306d32a7b9d10a332c523087fc83a209a8c4";
     };
     meta = {
@@ -15324,7 +15385,7 @@ let
     pname = "Proc-Wait3";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CT/CTILMES/Proc-Wait3-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/C/CT/CTILMES/Proc-Wait3-0.05.tar.gz";
       sha256 = "1a907f5db6933dc2939bbfeffe19eeae7ed39ef1b97a2bc9b723f2f25f81caf3";
     };
     meta = {
@@ -15337,7 +15398,7 @@ let
     pname = "Proc-WaitStat";
     version = "1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROSCH/Proc-WaitStat-1.00.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROSCH/Proc-WaitStat-1.00.tar.gz";
       sha256 = "1g3l8jzx06x4l4p0x7fyn4wvg6plfzl420irwwb9v447wzsn6xfh";
     };
     propagatedBuildInputs = [ IPCSignal ];
@@ -15347,7 +15408,7 @@ let
     pname = "Protocol-Redis";
     version = "1.0011";
     src = fetchurl {
-      url = mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0011.tar.gz;
+      url = "mirror://cpan/authors/id/U/UN/UNDEF/Protocol-Redis-1.0011.tar.gz";
       sha256 = "7ceb6bd80067c904465d4fd1f1715724388c9bdc37c6c2c003a20ce569b7f4e8";
     };
     meta = {
@@ -15378,7 +15439,7 @@ let
     pname = "Protocol-WebSocket";
     version = "0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VT/VTI/Protocol-WebSocket-0.26.tar.gz;
+      url = "mirror://cpan/authors/id/V/VT/VTI/Protocol-WebSocket-0.26.tar.gz";
       sha256 = "08jmazvrmvp8jn15p2n3c1h3f2cbkr07xjzy197jb8x724vx0dsq";
     };
     buildInputs = [ ModuleBuildTiny ];
@@ -15389,7 +15450,7 @@ let
     version = "1.10";
 
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/C/CR/CRUX/Protocol-HTTP2-1.10.tar.gz";
       sha256 = "0jm6jq1wszjrrcypyi642m2i8wgni50wdnzh9dzfkyjazdc00sn2";
     };
     buildInputs = [ AnyEvent ModuleBuildTiny NetSSLeay TestLeakTrace TestSharedFork TestTCP ];
@@ -15399,7 +15460,7 @@ let
     pname = "PSGI";
     version = "1.102";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/PSGI-1.102.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/PSGI-1.102.tar.gz";
       sha256 = "0iqzxs8fv63510knm3zr3jr3ky4x7diwd7y24mlshzci81kl8v55";
     };
   };
@@ -15408,7 +15469,7 @@ let
     pname = "PadWalker";
     version = "2.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-2.3.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROBIN/PadWalker-2.3.tar.gz";
       sha256 = "2a6c44fb600861e54568e74081a8d1f121f0060076069ceab34b1ae89d6588cf";
     };
   };
@@ -15417,7 +15478,7 @@ let
     pname = "Perl6-Junction";
     version = "1.60000";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CF/CFRANKS/Perl6-Junction-1.60000.tar.gz;
+      url = "mirror://cpan/authors/id/C/CF/CFRANKS/Perl6-Junction-1.60000.tar.gz";
       sha256 = "0r3in9pyrm6wfrhcvxbq5w1617x8x5537lxj9hdzks4pa7l7a8yh";
     };
   };
@@ -15426,13 +15487,13 @@ let
     pname = "Perl-MinimumVersion";
     version = "1.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Perl-MinimumVersion-1.38.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Perl-MinimumVersion-1.38.tar.gz";
       sha256 = "478b5824791b87fc74c94a892180682bd06ad2cdf34034b1a4b859273927802a";
     };
     buildInputs = [ TestScript ];
     propagatedBuildInputs = [ FileFindRulePerl PerlCritic ];
     meta = {
-      homepage = https://github.com/neilbowers/Perl-MinimumVersion;
+      homepage = "https://github.com/neilbowers/Perl-MinimumVersion";
       description = "Find a minimum required version of perl for Perl code";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15442,12 +15503,12 @@ let
     pname = "Perl-PrereqScanner";
     version = "1.023";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.023.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Perl-PrereqScanner-1.023.tar.gz";
       sha256 = "280a1c4710390865fb9f310a861a34720b28b4cbe50609c841af5cf2d3a2bced";
     };
     propagatedBuildInputs = [ GetoptLongDescriptive ListMoreUtils ModulePath Moose PPI StringRewritePrefix namespaceautoclean ];
     meta = {
-      homepage = https://github.com/rjbs/Perl-PrereqScanner;
+      homepage = "https://github.com/rjbs/Perl-PrereqScanner";
       description = "A tool to scan your Perl code for its prerequisites";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15457,7 +15518,7 @@ let
     pname = "Perl-PrereqScanner-NotQuiteLite";
     version = "0.9909";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9909.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Perl-PrereqScanner-NotQuiteLite-0.9909.tar.gz";
       sha256 = "09sa86maxrqnxf84wa0cgkcs8p6xvpsv0x5dny3hz0300zgrqmq5";
     };
     propagatedBuildInputs = [ DataDump ModuleCPANfile ModuleFind RegexpTrie ];
@@ -15472,7 +15533,7 @@ let
     pname = "Perl-Version";
     version = "1.013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Perl-Version-1.013.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Perl-Version-1.013.tar.gz";
       sha256 = "1887414d1c8689d864c840114101e043e99d7dd5b9cca69369a60e821e3ad0f7";
     };
     propagatedBuildInputs = [ FileSlurpTiny ];
@@ -15486,7 +15547,7 @@ let
     pname = "Pod-Checker";
     version = "1.73";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.73.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Checker-1.73.tar.gz";
       sha256 = "7dee443b03d80d0735ec50b6d1caf0209c51ab0a97d64050cfc10e1555cb9305";
     };
   };
@@ -15495,7 +15556,7 @@ let
     pname = "Pod-Coverage";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Pod-Coverage-0.23.tar.gz";
       sha256 = "01xifj83dv492lxixijmg6va02rf3ydlxly0a9slmx22r6qa1drh";
     };
     propagatedBuildInputs = [ DevelSymdump ];
@@ -15505,12 +15566,12 @@ let
     pname = "Pod-Coverage-TrustPod";
     version = "0.100005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Coverage-TrustPod-0.100005.tar.gz";
       sha256 = "08bk6lfimr2pwi6c92xg5cw1cxmi5fqhls3yasqzpjnd4if86s3c";
     };
     propagatedBuildInputs = [ PodCoverage PodEventual ];
     meta = {
-      homepage = https://github.com/rjbs/pod-coverage-trustpod;
+      homepage = "https://github.com/rjbs/pod-coverage-trustpod";
       description = "Allow a module's pod to contain Pod::Coverage hints";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15520,13 +15581,13 @@ let
     pname = "Pod-Elemental";
     version = "0.103005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-0.103005.tar.gz";
       sha256 = "824336ec18326e3b970e7815922b3921b0a821d2ee0e50b0c5b2bc327f99615e";
     };
     buildInputs = [ TestDeep TestDifferences ];
     propagatedBuildInputs = [ MooseXTypes PodEventual StringRewritePrefix StringTruncate ];
     meta = {
-      homepage = https://github.com/rjbs/Pod-Elemental;
+      homepage = "https://github.com/rjbs/Pod-Elemental";
       description = "Work with nestable Pod elements";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15536,13 +15597,13 @@ let
     pname = "Pod-Elemental-PerlMunger";
     version = "0.200006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-PerlMunger-0.200006.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Elemental-PerlMunger-0.200006.tar.gz";
       sha256 = "09fd3b5d53119437a01dced66b42eafdcd53895b3c32a2b0f781f36fda0f665b";
     };
     buildInputs = [ TestDifferences ];
     propagatedBuildInputs = [ PPI PodElemental ];
     meta = {
-      homepage = https://github.com/rjbs/Pod-Elemental-PerlMunger;
+      homepage = "https://github.com/rjbs/Pod-Elemental-PerlMunger";
       description = "A thing that takes a string of Perl and rewrites its documentation";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15552,7 +15613,7 @@ let
     pname = "Pod-Eventual";
     version = "0.094001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.094001.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Eventual-0.094001.tar.gz";
       sha256 = "be9fb8910b108e5d1a66f002b659ad22576e88d779b703dff9d15122c3f80834";
     };
     propagatedBuildInputs = [ MixinLinewise ];
@@ -15567,7 +15628,7 @@ let
     pname = "Pod-Parser";
     version = "1.63";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-1.63.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAREKR/Pod-Parser-1.63.tar.gz";
       sha256 = "dbe0b56129975b2f83a02841e8e0ed47be80f060686c66ea37e529d97aa70ccd";
     };
     meta = {
@@ -15580,12 +15641,12 @@ let
     pname = "Pod-POM";
     version = "2.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Pod-POM-2.01.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Pod-POM-2.01.tar.gz";
       sha256 = "1b50fba9bbdde3ead192beeba0eaddd0c614e3afb1743fa6fff805f57c56f7f4";
     };
     buildInputs = [ FileSlurper TestDifferences TextDiff ];
     meta = {
-      homepage = https://github.com/neilb/Pod-POM;
+      homepage = "https://github.com/neilb/Pod-POM";
       description = "POD Object Model";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15595,7 +15656,7 @@ let
     pname = "Pod-POM-View-TOC";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERLER/Pod-POM-View-TOC-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERLER/Pod-POM-View-TOC-0.02.tar.gz";
       sha256 = "ccb42272c7503379cb1131394620ee50276d72844e0e80eb4b007a9d58f87623";
     };
     propagatedBuildInputs = [ PodPOM ];
@@ -15609,11 +15670,11 @@ let
     pname = "Pod-LaTeX";
     version = "0.61";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TJ/TJENNESS/Pod-LaTeX-0.61.tar.gz;
+      url = "mirror://cpan/authors/id/T/TJ/TJENNESS/Pod-LaTeX-0.61.tar.gz";
       sha256 = "15a840ea1c8a76cd3c865fbbf2fec33b03615c0daa50f9c800c54e0cf0659d46";
     };
     meta = {
-      homepage = https://github.com/timj/perl-Pod-LaTeX/tree/master;
+      homepage = "https://github.com/timj/perl-Pod-LaTeX/tree/master";
       description = "Convert Pod data to formatted Latex";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15623,7 +15684,7 @@ let
     pname = "podlators";
     version = "4.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RR/RRA/podlators-4.10.tar.gz;
+      url = "mirror://cpan/authors/id/R/RR/RRA/podlators-4.10.tar.gz";
       sha256 = "008b4j41ijrfyyq5nd3y7pqyww6rg49fjg2c6kmpnqrmgs347qqp";
     };
     meta = {
@@ -15636,12 +15697,12 @@ let
     pname = "podlinkcheck";
     version = "15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KRYDE/podlinkcheck-15.tar.gz;
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/podlinkcheck-15.tar.gz";
       sha256 = "4e3bebec1bf82dbf850a94ae26a253644cf5806ec41afc74e43e1710a37321db";
     };
     propagatedBuildInputs = [ FileFindIterator FileHomeDir IPCRun constant-defer libintl_perl ];
     meta = {
-      homepage = http://user42.tuxfamily.org/podlinkcheck/index.html;
+      homepage = "http://user42.tuxfamily.org/podlinkcheck/index.html";
       description = "Check POD L<> link references";
       license = stdenv.lib.licenses.gpl3Plus;
     };
@@ -15651,7 +15712,7 @@ let
     pname = "prefork";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/prefork-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/prefork-1.05.tar.gz";
       sha256 = "01ckn45ij3nbrsc0yc4wl4z0wndn36jh6247zbycwa1vlvgvr1vd";
     };
     meta = {
@@ -15664,7 +15725,7 @@ let
     pname = "Pod-Perldoc";
     version = "3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MALLEN/Pod-Perldoc-3.28.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MALLEN/Pod-Perldoc-3.28.tar.gz";
       sha256 = "0kf6xwdha8jl0nxv60r2v7xsfnvv6i3gy135xsl40g71p02ychfc";
     };
     meta = {
@@ -15677,7 +15738,7 @@ let
     pname = "Pod-Plainer";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RM/RMBARKER/Pod-Plainer-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/R/RM/RMBARKER/Pod-Plainer-1.04.tar.gz";
       sha256 = "1bbfbf7d1d4871e5a83bab2137e22d089078206815190eb1d5c1260a3499456f";
     };
     meta = {
@@ -15690,12 +15751,12 @@ let
     pname = "Pod-Markdown";
     version = "3.200";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.200.tar.gz;
+      url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Pod-Markdown-3.200.tar.gz";
       sha256 = "16dffpqwrdhi2s90ff2sgncrpnzqp81ydhl5pd78m725j60p2286";
     };
     buildInputs = [ TestDifferences ];
     meta = {
-      homepage = https://github.com/rwstauner/Pod-Markdown;
+      homepage = "https://github.com/rwstauner/Pod-Markdown";
       description = "Convert POD to Markdown";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15706,7 +15767,7 @@ let
      pname = "Pod-Markdown-Github";
      version = "0.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MINIMAL/Pod-Markdown-Github-0.04.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MINIMAL/Pod-Markdown-Github-0.04.tar.gz";
        sha256 = "04y67c50hpf1vb9cwsza3fbj4rshdqa47vi3zcj4kkjckh02yzmk";
      };
      propagatedBuildInputs = [ PodMarkdown ];
@@ -15721,7 +15782,7 @@ let
     pname = "Pod-Simple";
     version = "3.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.40.tar.gz;
+      url = "mirror://cpan/authors/id/K/KH/KHW/Pod-Simple-3.40.tar.gz";
       sha256 = "0384k8k18srsdj2a2j10gbvv19lnvynq359y9kb4zn5bv2wqqfh6";
     };
   };
@@ -15730,7 +15791,7 @@ let
     pname = "Pod-Spell";
     version = "1.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOLMEN/Pod-Spell-1.20.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOLMEN/Pod-Spell-1.20.tar.gz";
       sha256 = "6383f7bfe22bc0d839a08057a0ce780698b046184aea935be4833d94986dd03c";
     };
     propagatedBuildInputs = [ ClassTiny FileShareDir LinguaENInflect PathTiny ];
@@ -15741,7 +15802,7 @@ let
      pname = "Pod-Strip";
      version = "1.02";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DO/DOMM/Pod-Strip-1.02.tar.gz;
+       url = "mirror://cpan/authors/id/D/DO/DOMM/Pod-Strip-1.02.tar.gz";
        sha256 = "1zsjfw2cjq1bd3ppl67fdvrx46vj9lina0c3cv9qgk5clzvaq3fq";
      };
      meta = {
@@ -15754,7 +15815,7 @@ let
      pname = "Pod-Tidy";
      version = "0.10";
      src = fetchurl {
-       url = mirror://cpan/authors/id/J/JH/JHOBLITT/Pod-Tidy-0.10.tar.gz;
+       url = "mirror://cpan/authors/id/J/JH/JHOBLITT/Pod-Tidy-0.10.tar.gz";
        sha256 = "1gcxjplgksnc5iggi8dzbkbkcryii5wjhypd7fs3kmbwx91y2vl8";
      };
      propagatedBuildInputs = [ EncodeNewlines IOString PodWrap TextGlob ];
@@ -15769,13 +15830,13 @@ let
     pname = "Pod-Weaver";
     version = "4.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.015.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Pod-Weaver-4.015.tar.gz";
       sha256 = "5af25b29a55783e495a9df5ef6293240e2c9ab02764613d79f1ed50b12dec5ae";
     };
     buildInputs = [ PPI SoftwareLicense TestDifferences ];
     propagatedBuildInputs = [ ConfigMVPReaderINI DateTime ListMoreUtils LogDispatchouli PodElemental ];
     meta = {
-      homepage = https://github.com/rjbs/Pod-Weaver;
+      homepage = "https://github.com/rjbs/Pod-Weaver";
       description = "Weave together a Pod document from an outline";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15785,7 +15846,7 @@ let
      pname = "Pod-Wrap";
      version = "0.01";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NU/NUFFIN/Pod-Wrap-0.01.tar.gz;
+       url = "mirror://cpan/authors/id/N/NU/NUFFIN/Pod-Wrap-0.01.tar.gz";
        sha256 = "0qwb5hp26f85xnb3zivf8ccfdplabiyl5sd53c6wgdgvzzicpjjh";
      };
      meta = {
@@ -15797,7 +15858,7 @@ let
     pname = "Probe-Perl";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KW/KWILLIAMS/Probe-Perl-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/K/KW/KWILLIAMS/Probe-Perl-0.03.tar.gz";
       sha256 = "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r";
     };
   };
@@ -15806,13 +15867,13 @@ let
     pname = "POSIX-strftime-Compiler";
     version = "0.42";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZEBURO/POSIX-strftime-Compiler-0.42.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZEBURO/POSIX-strftime-Compiler-0.42.tar.gz";
       sha256 = "26582bdd78b254bcc1c56d0b770fa280e8b8f70957c84dc44572ba4cacb0ac11";
     };
     # We cannot change timezones on the fly.
     prePatch = "rm t/04_tzset.t";
     meta = {
-      homepage = https://github.com/kazeburo/POSIX-strftime-Compiler;
+      homepage = "https://github.com/kazeburo/POSIX-strftime-Compiler";
       description = "GNU C library compatible strftime for loggers and servers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15822,12 +15883,12 @@ let
     pname = "Razor2-Client-Agent";
     version = "2.86";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Razor2-Client-Agent-2.86.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/Razor2-Client-Agent-2.86.tar.gz";
       sha256 = "5e062e02ebb65e24b708e7eefa5300c43d6f657bf20d08fec4ca8a0a3b94845f";
     };
     propagatedBuildInputs = [ DigestSHA1 URI ];
     meta = {
-      homepage = http://razor.sourceforge.net/;
+      homepage = "http://razor.sourceforge.net/";
       description = "Collaborative, content-based spam filtering network agent";
       license = stdenv.lib.licenses.mit;
     };
@@ -15838,12 +15899,12 @@ let
     pname = "Readonly";
     version = "2.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SANKO/Readonly-2.05.tar.gz";
       sha256 = "4b23542491af010d44a5c7c861244738acc74ababae6b8838d354dfb19462b5e";
     };
     buildInputs = [ ModuleBuildTiny ];
     meta = {
-      homepage = https://github.com/sanko/readonly;
+      homepage = "https://github.com/sanko/readonly";
       description = "Facility for creating read-only scalars, arrays, hashes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15853,7 +15914,7 @@ let
     pname = "Readonly-XS";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROODE/Readonly-XS-1.05.tar.gz";
       sha256 = "8ae5c4e85299e5c8bddd1b196f2eea38f00709e0dc0cb60454dc9114ae3fff0d";
     };
     propagatedBuildInputs = [ Readonly ];
@@ -15863,13 +15924,13 @@ let
     pname = "Redis";
     version = "1.995";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAMS/Redis-1.995.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAMS/Redis-1.995.tar.gz";
       sha256 = "a0b07b284ff12bb852a3120723f1e63ab279df575d6c52a78f914565a9f0b906";
     };
     buildInputs = [ IOString ModuleBuildTiny TestDeep TestFatal TestSharedFork TestTCP ];
     propagatedBuildInputs = [ IOSocketTimeout TryTiny ];
     meta = {
-      homepage = https://github.com/PerlRedis/perl-redis;
+      homepage = "https://github.com/PerlRedis/perl-redis";
       description = "Perl binding for Redis database";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -15879,7 +15940,7 @@ let
     pname = "Ref-Util";
     version = "0.204";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARC/Ref-Util-0.204.tar.gz;
+      url = "mirror://cpan/authors/id/A/AR/ARC/Ref-Util-0.204.tar.gz";
       sha256 = "1q85y5lzgl8wz5qnz3j6mch2fmllr668h54wszaz6i6gp8ysfps1";
     };
     meta = {
@@ -15892,7 +15953,7 @@ let
     pname = "Regexp-Assemble";
     version = "0.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Regexp-Assemble-0.38.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Regexp-Assemble-0.38.tgz";
       sha256 = "0hp4v8mghmpflq9l9fqrkjg4cw0d3ha2nrmnsnzwjwqvmvwyfsx0";
     };
   };
@@ -15901,7 +15962,7 @@ let
     pname = "Regexp-Common";
     version = "2017060201";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABIGAIL/Regexp-Common-2017060201.tar.gz";
       sha256 = "ee07853aee06f310e040b6bf1a0199a18d81896d3219b9b35c9630d0eb69089b";
     };
     meta = with stdenv.lib; {
@@ -15914,7 +15975,7 @@ let
     pname = "Regexp-Common-net-CIDR";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/Regexp-Common-net-CIDR-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/Regexp-Common-net-CIDR-0.03.tar.gz";
       sha256 = "39606a57aab20d4f4468300f2ec3fa2ab557fcc9cb7880ec7c6e07d80162da33";
     };
     propagatedBuildInputs = [ RegexpCommon ];
@@ -15927,7 +15988,7 @@ let
     pname = "Regexp-Grammars";
     version = "1.052";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCONWAY/Regexp-Grammars-1.052.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCONWAY/Regexp-Grammars-1.052.tar.gz";
       sha256 = "d552e7aaec956fc9ff0c56602fc95bc5c97ef815a0a8df7f42d1128f39534a62";
     };
     meta = {
@@ -15940,7 +16001,7 @@ let
     pname = "Regexp-IPv6";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SALVA/Regexp-IPv6-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SALVA/Regexp-IPv6-0.03.tar.gz";
       sha256 = "d542d17d75ce93631de8ba2156da0e0b58a755c409cd4a0d27a3873a26712ce2";
     };
   };
@@ -15949,11 +16010,11 @@ let
     pname = "Regexp-Parser";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/Regexp-Parser-0.23.tar.gz";
       sha256 = "f739dab8df2b06aae5c48f9971251b73704464a32d07d8d025f3c0f869544e89";
     };
     meta = {
-      homepage = https://github.com/toddr/Regexp-Parser;
+      homepage = "https://github.com/toddr/Regexp-Parser";
       description = "Base class for parsing regexes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15963,7 +16024,7 @@ let
     pname = "Regexp-Trie";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Regexp-Trie-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DANKOGAI/Regexp-Trie-0.02.tar.gz";
       sha256 = "1yn5l6x3xyic9jxw9jggqsbggcv7rc8ggj4zbnlz9hfvv17gjazv";
     };
     meta = {
@@ -15974,7 +16035,7 @@ let
     pname = "REST-Client";
     version = "273";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KK/KKANE/REST-Client-273.tar.gz;
+      url = "mirror://cpan/authors/id/K/KK/KKANE/REST-Client-273.tar.gz";
       sha256 = "a8652a2214308faff2c68be5ce64c904dcccc5e86be7f32376c1590869d01844";
     };
     propagatedBuildInputs = [ LWPProtocolHttps ];
@@ -15988,12 +16049,12 @@ let
     pname = "REST-Utils";
     version = "0.6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JA/JALDHAR/REST-Utils-0.6.tar.gz;
+      url = "mirror://cpan/authors/id/J/JA/JALDHAR/REST-Utils-0.6.tar.gz";
       sha256 = "1zdrf3315rp2b8r9dwwj5h93xky7i33iawf4hzszwcddhzflmsfl";
     };
     buildInputs = [ TestLongString TestWWWMechanize TestWWWMechanizeCGI ];
     meta = {
-      homepage = https://jaldhar.github.io/REST-Utils/;
+      homepage = "https://jaldhar.github.io/REST-Utils/";
       description = "Utility functions for REST applications";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16003,7 +16064,7 @@ let
     pname = "RPC-XML";
     version = "0.80";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.80.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJRAY/RPC-XML-0.80.tar.gz";
       sha256 = "1xvy9hs7bqsjnk0663kf7zk2qjg0pzv96n6z2wlc2w5bgal7q3ga";
     };
     propagatedBuildInputs = [ XMLParser ];
@@ -16014,7 +16075,7 @@ let
     pname = "Return-Value";
     version = "1.666005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Return-Value-1.666005.tar.gz";
       sha256 = "1b2hfmdl19zi1z3npzv9wf6dh1g0xd88i70b4233ds9icnln08lf";
     };
   };
@@ -16023,7 +16084,7 @@ let
     pname = "Role-Basic";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/O/OV/OVID/Role-Basic-0.13.tar.gz";
       sha256 = "38a0959ef9f193ff76e72c325a9e9211bc4868689bd0e2b005778f53f8b6f36a";
     };
     meta = {
@@ -16036,7 +16097,7 @@ let
     pname = "Role-HasMessage";
     version = "0.006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-HasMessage-0.006.tar.gz";
       sha256 = "1lylfvarjfy6wy34dfny3032pc6r33mjby5yzzhmxybg8zhdp9pn";
     };
     propagatedBuildInputs = [ MooseXRoleParameterized StringErrf ];
@@ -16050,7 +16111,7 @@ let
     pname = "Role-Identifiable";
     version = "0.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Role-Identifiable-0.007.tar.gz";
       sha256 = "1bbkj2wqpbfdw1cbm99vg9d94rvzba19m18xhnylaym0l78lc4sn";
     };
     propagatedBuildInputs = [ Moose ];
@@ -16064,7 +16125,7 @@ let
     pname = "Role-Tiny";
     version = "2.001004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Role-Tiny-2.001004.tar.gz";
       sha256 = "92ba5712850a74102c93c942eb6e7f62f7a4f8f483734ed289d08b324c281687";
     };
     meta = {
@@ -16091,7 +16152,7 @@ let
     pname = "RSS-Parser-Lite";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/T/TF/TFPBL/RSS-Parser-Lite-0.12.tar.gz";
       sha256 = "1fcmp4qp7q3xr2mw7clqqwph45icbvgfs2n41gp9zamim2y39p49";
     };
     propagatedBuildInputs = [ locallib ];
@@ -16102,7 +16163,7 @@ let
     pname = "RT-Client-REST";
     version = "0.56";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DJ/DJZORT/RT-Client-REST-0.56.tar.gz;
+      url = "mirror://cpan/authors/id/D/DJ/DJZORT/RT-Client-REST-0.56.tar.gz";
       sha256 = "798baccf11eaecbb7d2d27be0b5e4fa9cb80b34cc51cab12eb7b88facf39fd4b";
     };
     buildInputs = [ CGI HTTPServerSimple TestException ];
@@ -16117,7 +16178,7 @@ let
     pname = "Safe-Isa";
     version = "1.000010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000010.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Safe-Isa-1.000010.tar.gz";
       sha256 = "0sm6p1kw98s7j6n92vvxjqf818xggnmjwci34xjmw7gzl2519x47";
     };
     meta = {
@@ -16130,7 +16191,7 @@ let
     pname = "Scalar-List-Utils";
     version = "1.53";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.53.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Scalar-List-Utils-1.53.tar.gz";
       sha256 = "bd4086b066fb3b18a0be2e7d9bc100a99aa0f233ad659492340415c7b2bdae99";
     };
     meta = {
@@ -16143,7 +16204,7 @@ let
     pname = "Scalar-String";
     version = "0.003";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-0.003.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZE/ZEFRAM/Scalar-String-0.003.tar.gz";
       sha256 = "f54a17c9b78713b02cc43adfadf60b49467e7634d31317e8b9e9e97c26d68b52";
     };
   };
@@ -16152,7 +16213,7 @@ let
     pname = "SCGI";
     version = "0.6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VI/VIPERCODE/SCGI-0.6.tar.gz;
+      url = "mirror://cpan/authors/id/V/VI/VIPERCODE/SCGI-0.6.tar.gz";
       sha256 = "196rj47mh4fq2vlnw595q391zja5v6qg7s3sy0vy8igfyid8rdsq";
     };
     preConfigure = "export HOME=$(mktemp -d)";
@@ -16162,7 +16223,7 @@ let
     pname = "Scope-Guard";
     version = "0.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHOCOLATE/Scope-Guard-0.21.tar.gz";
       sha256 = "0y6jfzvxiz8h5yfz701shair0ilypq2mvimd7wn8wi2nbkm1p6wc";
     };
     meta = {
@@ -16175,7 +16236,7 @@ let
     pname = "Scope-Upper";
     version = "0.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.32.tar.gz;
+      url = "mirror://cpan/authors/id/V/VP/VPIT/Scope-Upper-0.32.tar.gz";
       sha256 = "ccaff3251c092f2af8b5ad840b76655c4bc4ccf504ff7bde233811822a40abcf";
     };
     meta = {
@@ -16228,13 +16289,13 @@ let
     pname = "Sereal-Decoder";
     version = "4.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YV/YVES/Sereal-Decoder-4.008.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Decoder-4.008.tar.gz";
       sha256 = "1vxgwlya7sj9mb6y278qblrjl2708d0agy7cryyqj7qf08d056rv";
     };
     buildInputs = [ TestDeep TestDifferences TestLongString TestWarn ];
     preBuild = ''ls'';
     meta = {
-      homepage = https://github.com/Sereal/Sereal;
+      homepage = "https://github.com/Sereal/Sereal";
       description = "Fast, compact, powerful binary deserialization";
       license = with stdenv.lib.licenses; [ artistic2 ];
       maintainers = [ maintainers.thoughtpolice ];
@@ -16245,12 +16306,12 @@ let
     pname = "Sereal-Encoder";
     version = "4.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YV/YVES/Sereal-Encoder-4.008.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-Encoder-4.008.tar.gz";
       sha256 = "0vzk6d2h034qks4lby53xrfljsrx4cvkaqi7gz9frba17lvl01rq";
     };
     buildInputs = [ SerealDecoder TestDeep TestDifferences TestLongString TestWarn ];
     meta = {
-      homepage = https://github.com/Sereal/Sereal;
+      homepage = "https://github.com/Sereal/Sereal";
       description = "Fast, compact, powerful binary deserialization";
       license = with stdenv.lib.licenses; [ artistic2 ];
       maintainers = [ maintainers.thoughtpolice ];
@@ -16261,13 +16322,13 @@ let
     pname = "Sereal";
     version = "4.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YV/YVES/Sereal-4.008.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YV/YVES/Sereal-4.008.tar.gz";
       sha256 = "1ima428v8mi509crr3b1rnh67ki8vbcd7iignw68mf2iaw5wmb58";
     };
     buildInputs = [ TestLongString TestWarn ];
     propagatedBuildInputs = [ SerealDecoder SerealEncoder ];
     meta = {
-      homepage = https://github.com/Sereal/Sereal;
+      homepage = "https://github.com/Sereal/Sereal";
       description = "Fast, compact, powerful binary deserialization";
       license = with stdenv.lib.licenses; [ artistic2 ];
       maintainers = [ maintainers.thoughtpolice ];
@@ -16291,12 +16352,12 @@ let
     pname = "Server-Starter";
     version = "0.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.35.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/Server-Starter-0.35.tar.gz";
       sha256 = "676dc0d6cff4648538332c63c32fb88ad09ed868213ea9e62e3f19fad41b9c40";
     };
     buildInputs = [ TestRequires TestSharedFork TestTCP ];
     meta = {
-      homepage = https://github.com/kazuho/p5-Server-Starter;
+      homepage = "https://github.com/kazuho/p5-Server-Starter";
       description = "A superdaemon for hot-deploying server programs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16321,7 +16382,7 @@ let
     pname = "Set-Infinite";
     version = "0.65";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FG/FGLOCK/Set-Infinite-0.65.tar.gz;
+      url = "mirror://cpan/authors/id/F/FG/FGLOCK/Set-Infinite-0.65.tar.gz";
       sha256 = "07bc880734492de40b4a3a8b5a331762f64e69b4629029fd9a9d357b25b87e1f";
     };
     meta = {
@@ -16333,7 +16394,7 @@ let
     pname = "Set-IntSpan";
     version = "1.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz;
+      url = "mirror://cpan/authors/id/S/SW/SWMCD/Set-IntSpan-1.19.tar.gz";
       sha256 = "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi";
     };
 
@@ -16346,7 +16407,7 @@ let
     pname = "Set-Object";
     version = "1.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.40.tar.gz;
+      url = "mirror://cpan/authors/id/R/RU/RURBAN/Set-Object-1.40.tar.gz";
       sha256 = "1c4d8464c13e6d94957cf021ce603c961b08f52db6a9eaf5a5b0d37868cd37b7";
     };
     meta = {
@@ -16359,7 +16420,7 @@ let
     pname = "Set-Scalar";
     version = "1.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAVIDO/Set-Scalar-1.29.tar.gz";
       sha256 = "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53";
     };
     meta = {
@@ -16386,7 +16447,7 @@ let
     pname = "SGMLSpm";
     version = "1.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz;
+      url = "mirror://cpan/authors/id/R/RA/RAAB/SGMLSpm-1.1.tar.gz";
       sha256 = "1gdjf3mcz2bxir0l9iljxiz6qqqg3a9gg23y5wjg538w552r432m";
     };
   };
@@ -16395,7 +16456,7 @@ let
     pname = "Signal-Mask";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Signal-Mask-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Signal-Mask-0.008.tar.gz";
       sha256 = "043d995b6b249d9ebc04c467db31bb7ddc2e55faa08e885bdb050b1f2336b73f";
     };
     propagatedBuildInputs = [ IPCSignal ];
@@ -16409,7 +16470,7 @@ let
      pname = "Snowball-Norwegian";
      version = "1.2";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz;
+       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Norwegian-1.2.tar.gz";
        sha256 = "0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx";
      };
      meta = {
@@ -16422,7 +16483,7 @@ let
      pname = "Snowball-Swedish";
      version = "1.2";
      src = fetchurl {
-       url = mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz;
+       url = "mirror://cpan/authors/id/A/AS/ASKSH/Snowball-Swedish-1.2.tar.gz";
        sha256 = "0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg";
      };
      meta = {
@@ -16435,7 +16496,7 @@ let
     pname = "SOAP-Lite";
     version = "1.27";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.27.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHRED/SOAP-Lite-1.27.tar.gz";
       sha256 = "00fkvmnxiy5mr45rj5qmxmflw0xdkw2gihm48iha2i8smdmi0ng3";
     };
     propagatedBuildInputs = [ ClassInspector IOSessionData LWPProtocolHttps TaskWeaken XMLParser ];
@@ -16450,7 +16511,7 @@ let
     pname = "Socket6";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/U/UM/UMEMOTO/Socket6-0.29.tar.gz";
       sha256 = "468915fa3a04dcf6574fc957eff495915e24569434970c91ee8e4e1459fc9114";
     };
     setOutputFlags = false;
@@ -16466,13 +16527,13 @@ let
     pname = "Software-License";
     version = "0.103014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Software-License-0.103014.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Software-License-0.103014.tar.gz";
       sha256 = "eb45ea602d75006683789fbba57a01c0a1f7037371de95ea54b91577535d1789";
     };
     buildInputs = [ TryTiny ];
     propagatedBuildInputs = [ DataSection TextTemplate ];
     meta = {
-      homepage = https://github.com/rjbs/Software-License;
+      homepage = "https://github.com/rjbs/Software-License";
       description = "Packages that provide templated software licenses";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16482,7 +16543,7 @@ let
      pname = "Software-License-CCpack";
      version = "1.11";
      src = fetchurl {
-       url = mirror://cpan/authors/id/B/BB/BBYRD/Software-License-CCpack-1.11.tar.gz;
+       url = "mirror://cpan/authors/id/B/BB/BBYRD/Software-License-CCpack-1.11.tar.gz";
        sha256 = "1cakbn7am8mhalwas5h33l7c6avdqpg42z478p6rav11pim5qksr";
      };
      propagatedBuildInputs = [ SoftwareLicense ];
@@ -16498,7 +16559,7 @@ let
     pname = "Sort-Key";
     version = "1.33";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SALVA/Sort-Key-1.33.tar.gz";
       sha256 = "1kqs10s2plj6c96srk0j8d7xj8dxk1704r7mck8rqk09mg7lqspd";
     };
     meta = {
@@ -16511,7 +16572,7 @@ let
     pname = "Sort-Versions";
     version = "1.62";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.62.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Sort-Versions-1.62.tar.gz";
       sha256 = "1aifzm79ky03gi2lwxyx4mk6yky8x215j0kz4f0jbgkf803k6pxz";
     };
   };
@@ -16520,7 +16581,7 @@ let
      pname = "Specio";
      version = "0.45";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.45.tar.gz;
+       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-0.45.tar.gz";
        sha256 = "1xk1skzvmqjgk7dqfkcmp6g7fc493cyk2hp94fzpdc43cg78ifg4";
      };
      propagatedBuildInputs = [ DevelStackTrace EvalClosure MROCompat ModuleRuntime RoleTiny SubQuote TryTiny ];
@@ -16535,7 +16596,7 @@ let
      pname = "Specio-Library-Path-Tiny";
      version = "0.04";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Specio-Library-Path-Tiny-0.04.tar.gz;
+       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Specio-Library-Path-Tiny-0.04.tar.gz";
        sha256 = "0cyfx8gigsgisdwynjamh8jkpad23sr8v6a98hq285zmibm16s7g";
      };
      propagatedBuildInputs = [ PathTiny Specio ];
@@ -16550,7 +16611,7 @@ let
     pname = "Spiffy";
     version = "0.46";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/Spiffy-0.46.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/Spiffy-0.46.tar.gz";
       sha256 = "18qxshrjh0ibpzjm2314157mxlibh3smyg64nr4mq990hh564n4g";
     };
   };
@@ -16559,12 +16620,12 @@ let
     pname = "Spreadsheet-ParseExcel";
     version = "0.65";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOUGW/Spreadsheet-ParseExcel-0.65.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOUGW/Spreadsheet-ParseExcel-0.65.tar.gz";
       sha256 = "6ec4cb429bd58d81640fe12116f435c46f51ff1040c68f09cc8b7681c1675bec";
     };
     propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOStringy OLEStorage_Lite ];
     meta = {
-      homepage = https://github.com/runrig/spreadsheet-parseexcel/;
+      homepage = "https://github.com/runrig/spreadsheet-parseexcel/";
       description = "Read information from an Excel file";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16574,7 +16635,7 @@ let
     pname = "Spreadsheet-WriteExcel";
     version = "2.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz;
+      url = "mirror://cpan/authors/id/J/JM/JMCNAMARA/Spreadsheet-WriteExcel-2.40.tar.gz";
       sha256 = "e356aad6866cf135731268ee0e979a197443c15a04878e9cf3e80d022ad6c07e";
     };
     propagatedBuildInputs = [ OLEStorage_Lite ParseRecDescent ];
@@ -16588,7 +16649,7 @@ let
     pname = "SQL-Abstract";
     version = "1.86";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/SQL-Abstract-1.86.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/SQL-Abstract-1.86.tar.gz";
       sha256 = "e7a7f7da5e6fa42f495860e92e9138b8a0964ca7674c95bd6ff1b1ce21aa8cdf";
     };
     buildInputs = [ TestDeep TestException TestWarn ];
@@ -16603,7 +16664,7 @@ let
     pname = "SQL-Abstract-Limit";
     version = "0.141";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAVEBAIRD/SQL-Abstract-Limit-0.141.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAVEBAIRD/SQL-Abstract-Limit-0.141.tar.gz";
       sha256 = "1qqh89kz065mkgyg5pjcgbf8qcpzfk8vf1lgkbwynknadmv87zqg";
     };
     propagatedBuildInputs = [ DBI SQLAbstract ];
@@ -16614,18 +16675,29 @@ let
     pname = "SQL-SplitStatement";
     version = "1.00020";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EM/EMAZEP/SQL-SplitStatement-1.00020.tar.gz;
+      url = "mirror://cpan/authors/id/E/EM/EMAZEP/SQL-SplitStatement-1.00020.tar.gz";
       sha256 = "0bqg45k4c9qkb2ypynlwhpvzsl4ssfagmsalys18s5c79ps30z7p";
     };
     buildInputs = [ TestException ];
     propagatedBuildInputs = [ ClassAccessor ListMoreUtils RegexpCommon SQLTokenizer ];
   };
 
+  SQLStatement = buildPerlPackage {
+    pname = "SQL-Statement";
+    version = "1.412";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/R/RE/REHSACK/SQL-Statement-1.412.tar.gz";
+      sha256 = "65c870883379c11b53f19ead10aaac241ccc86a90bbab77f6376fe750720e5c8";
+    };
+    buildInputs = [ TestDeep ];
+    propagatedBuildInputs = [ Clone ModuleRuntime ParamsUtil TextSoundex MathBaseConvert ];
+  };
+
   SQLTokenizer = buildPerlPackage {
     pname = "SQL-Tokenizer";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IZ/IZUT/SQL-Tokenizer-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/I/IZ/IZUT/SQL-Tokenizer-0.24.tar.gz";
       sha256 = "1qa2dfbzdlr5qqdam9yn78z5w3al5r8577x06qan8wv58ay6ka7s";
     };
   };
@@ -16634,7 +16706,7 @@ let
     pname = "SQL-Translator";
     version = "1.60";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IL/ILMARI/SQL-Translator-1.60.tar.gz;
+      url = "mirror://cpan/authors/id/I/IL/ILMARI/SQL-Translator-1.60.tar.gz";
       sha256 = "6bb0cb32ca25da69df65e5de71f679f3ca90044064526fa336cabd342f220e87";
     };
     buildInputs = [ FileShareDirInstall JSONMaybeXS TestDifferences TestException XMLWriter YAML ];
@@ -16649,7 +16721,7 @@ let
     pname = "Package-Variant";
     version = "1.003002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-1.003002.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSTROUT/Package-Variant-1.003002.tar.gz";
       sha256 = "b2ed849d2f4cdd66467512daa3f143266d6df810c5fae9175b252c57bc1536dc";
     };
     buildInputs = [ TestFatal ];
@@ -16664,7 +16736,7 @@ let
     pname = "Sort-Naturally";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BINGOS/Sort-Naturally-1.03.tar.gz";
       sha256 = "eaab1c5c87575a7826089304ab1f8ffa7f18e6cd8b3937623e998e865ec1e746";
     };
   };
@@ -16673,7 +16745,7 @@ let
     pname = "Starlet";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/Starlet-0.31.tar.gz";
       sha256 = "b9603b8e62880cb4582f6a7939eafec65e6efd3d900f2c7dd342e5f4c68d62d8";
     };
     buildInputs = [ LWP TestSharedFork TestTCP ];
@@ -16689,14 +16761,19 @@ let
     pname = "Starman";
     version = "0.4015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4015.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Starman-0.4015.tar.gz";
       sha256 = "1y1kn4929k299fbf6sw9lxcsdlq9fvq777p6yrzk591rr9xhkx8h";
     };
     buildInputs = [ LWP ModuleBuildTiny TestRequires TestTCP ];
+    nativeBuildInputs = stdenv.lib.optional stdenv.isDarwin shortenPerlShebang;
     propagatedBuildInputs = [ DataDump HTTPParserXS NetServer Plack ];
+    postInstall = stdenv.lib.optionalString stdenv.isDarwin ''
+      shortenPerlShebang $out/bin/starman
+    '';
+
     doCheck = false; # binds to various TCP ports
     meta = {
-      homepage = https://github.com/miyagawa/Starman;
+      homepage = "https://github.com/miyagawa/Starman";
       description = "High-performance preforking PSGI/Plack web server";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16706,7 +16783,7 @@ let
     pname = "Statistics-Basic";
     version = "1.6611";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz;
+      url = "mirror://cpan/authors/id/J/JE/JETTERO/Statistics-Basic-1.6611.tar.gz";
       sha256 = "1ywl398z42hz9w1k0waf1caa6agz8jzsjlf4rzs1lgpx2mbcwmb8";
     };
     propagatedBuildInputs = [ NumberFormat ];
@@ -16719,7 +16796,7 @@ let
     pname = "Statistics-CaseResampling";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMUELLER/Statistics-CaseResampling-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMUELLER/Statistics-CaseResampling-0.15.tar.gz";
       sha256 = "11whlh2dl7l6wrrnfmpbsg7ldcn316iccl1aaa4j5lqhdyyl6745";
     };
     meta = {
@@ -16731,11 +16808,11 @@ let
     pname = "Statistics-Descriptive";
     version = "3.0702";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0702.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Statistics-Descriptive-3.0702.tar.gz";
       sha256 = "f98a10c625640170cdda408cccc72bdd7f66f8ebe5f59dec1b96185171ef11d0";
     };
     meta = {
-      #homepage = http://web-cpan.berlios.de/modules/Statistics-Descriptive/; # berlios shut down; I found no replacement
+      #homepage = "http://web-cpan.berlios.de/modules/Statistics-Descriptive/"; # berlios shut down; I found no replacement
       description = "Module of basic descriptive statistical functions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16746,7 +16823,7 @@ let
     pname = "Statistics-Distributions";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz";
       sha256 = "1j1kswl98f4i9dn176f9aa3y9bissx2sscga5jm3gjl4pxm3k7zr";
     };
   };
@@ -16755,7 +16832,7 @@ let
     pname = "Statistics-TTest";
     version = "1.1.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Y/YU/YUNFANG/Statistics-TTest-1.1.0.tar.gz;
+      url = "mirror://cpan/authors/id/Y/YU/YUNFANG/Statistics-TTest-1.1.0.tar.gz";
       sha256 = "0rkifgzm4rappiy669dyi6lyxn2sdqaf0bl6gndlfa67b395kndj";
     };
     propagatedBuildInputs = [ StatisticsDescriptive StatisticsDistributions ];
@@ -16765,7 +16842,7 @@ let
     pname = "Storable";
     version = "3.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XS/XSAWYERX/Storable-3.15.tar.gz;
+      url = "mirror://cpan/authors/id/X/XS/XSAWYERX/Storable-3.15.tar.gz";
       sha256 = "fc3dad06cb2e6fc86a2f2abc5b5491d9da328ca3e6b6306559c224521db174da";
     };
     meta = {
@@ -16777,11 +16854,11 @@ let
     pname = "Stream-Buffered";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/D/DO/DOY/Stream-Buffered-0.03.tar.gz";
       sha256 = "0fs2n9zw6isfkha2kbqrvl9mwg572x1x0jlfaps0qsyynn846bcv";
     };
     meta = {
-      homepage = https://plackperl.org;
+      homepage = "https://plackperl.org";
       description = "Temporary buffer to save bytes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16791,11 +16868,11 @@ let
     pname = "strictures";
     version = "2.000006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/strictures-2.000006.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/strictures-2.000006.tar.gz";
       sha256 = "0mwd9xqz4n8qfpi5h5581lbm33qhf7agww18h063icnilrs7km89";
     };
     meta = {
-      homepage = http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git;
+      homepage = "http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/strictures.git";
       description = "Turn on strict and make all warnings fatal";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16805,7 +16882,7 @@ let
     pname = "String-Approx";
     version = "3.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JH/JHI/String-Approx-3.28.tar.gz;
+      url = "mirror://cpan/authors/id/J/JH/JHI/String-Approx-3.28.tar.gz";
       sha256 = "43201e762d8699cb0ac2c0764a5454bdc2306c0771014d6c8fba821480631342";
     };
   };
@@ -16814,7 +16891,7 @@ let
     pname = "String-CamelCase";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HI/HIO/String-CamelCase-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/H/HI/HIO/String-CamelCase-0.04.tar.gz";
       sha256 = "1a8i4yzv586svd0pbxls7642vvmyiwzh4x2xyij8gbnfxsydxhw9";
     };
   };
@@ -16823,7 +16900,7 @@ let
     pname = "String-CRC32";
     version = "1.8";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.8.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEEJO/String-CRC32-1.8.tar.gz";
       sha256 = "0vvwlf50vylx1m7nrjphkz309nsl2k2yqyldn3942337kiipjnmn";
     };
   };
@@ -16832,7 +16909,7 @@ let
     pname = "String-Errf";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Errf-0.008.tar.gz";
       sha256 = "1nyn9s52jgbffrsv0m7rhcx1awjj43n68bfjlap8frdc7mw6y4xf";
     };
     buildInputs = [ JSONMaybeXS TimeDate ];
@@ -16847,7 +16924,7 @@ let
     pname = "String-Escape";
     version = "2010.002";
     src = fetchurl {
-        url = mirror://cpan/authors/id/E/EV/EVO/String-Escape-2010.002.tar.gz;
+        url = "mirror://cpan/authors/id/E/EV/EVO/String-Escape-2010.002.tar.gz";
         sha256 = "12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x";
     };
   };
@@ -16856,12 +16933,12 @@ let
     pname = "String-Flogger";
     version = "1.101245";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101245.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Flogger-1.101245.tar.gz";
       sha256 = "aa03c08e01f802a358c175c6093c02adf9688659a087a8ddefdc3e9cef72640b";
     };
     propagatedBuildInputs = [ JSONMaybeXS SubExporter ];
     meta = {
-      homepage = https://github.com/rjbs/String-Flogger;
+      homepage = "https://github.com/rjbs/String-Flogger";
       description = "String munging for loggers";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -16871,7 +16948,7 @@ let
     pname = "String-Format";
     version = "1.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SREZIC/String-Format-1.18.tar.gz;
+      url = "mirror://cpan/authors/id/S/SR/SREZIC/String-Format-1.18.tar.gz";
       sha256 = "0y77frxzjifd4sw0j19cc346ysas1mya84rdxaz279lyin7plhcy";
     };
   };
@@ -16880,7 +16957,7 @@ let
     pname = "String-Formatter";
     version = "0.102084";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102084.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Formatter-0.102084.tar.gz";
       sha256 = "0mlwm0rirv46gj4h072q8gdync5zxxsxy8p028gdyrhczl942dc3";
     };
     propagatedBuildInputs = [ SubExporter ];
@@ -16894,7 +16971,7 @@ let
     pname = "String-MkPasswd";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/C/CG/CGRAU/String-MkPasswd-0.05.tar.gz";
       sha256 = "15lvcc8c9hp6mg3jx02wd3b85aphn8yl5db62q3pam04c0sgh42k";
     };
   };
@@ -16903,7 +16980,7 @@ let
     pname = "String-Random";
     version = "0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/String-Random-0.30.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/String-Random-0.30.tar.gz";
       sha256 = "06xdpyjc53al0a4ib2lw1m388v41z97hzqbdkd00w3nmjsdrn4w1";
     };
   };
@@ -16912,7 +16989,7 @@ let
     pname = "String-RewritePrefix";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/String-RewritePrefix-0.008.tar.gz";
       sha256 = "1sq8way03gxb990n232y201grnh0jj0xhj7g4b3mz3sfj7b32np4";
     };
     propagatedBuildInputs = [ SubExporter ];
@@ -16926,7 +17003,7 @@ let
     pname = "String-ShellQuote";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROSCH/String-ShellQuote-1.04.tar.gz";
       sha256 = "0dfxhr6hxc2majkkrm0qbx3qcbykzpphbj2ms93dc86f7183c1p6";
     };
     doCheck = !stdenv.isDarwin;
@@ -16940,7 +17017,7 @@ let
     pname = "Shell-Command";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/Shell-Command-0.06.tar.gz";
       sha256 = "1lgc2rb3b5a4lxvbq0cbg08qk0n2i88srxbsz93bwi3razpxxr7k";
     };
   };
@@ -16949,7 +17026,7 @@ let
     pname = "String-ToIdentifier-EN";
     version = "0.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/String-ToIdentifier-EN-0.12.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/String-ToIdentifier-EN-0.12.tar.gz";
       sha256 = "12nw7h2yiybhdw0vnnpc7bif8ylhsn6kqf6s39dsrf9h54iq9yrs";
     };
     propagatedBuildInputs = [ LinguaENInflectPhrase TextUnidecode namespaceclean ];
@@ -16959,7 +17036,7 @@ let
     pname = "String-Truncate";
     version = "1.100602";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/String-Truncate-1.100602.tar.gz";
       sha256 = "0vjz4fd4cvcy12gk5bdha7z73ifmfpmk748khha94dhiq3pd98xa";
     };
     propagatedBuildInputs = [ SubExporter ];
@@ -16973,7 +17050,7 @@ let
     pname = "String-TT";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/String-TT-0.03.tar.gz";
       sha256 = "1asjr79wqcl9wk96afxrm1yhpj8lk9bk8kyz78yi5ypr0h55yq7p";
     };
     buildInputs = [ TestException TestSimple13 TestTableDriven ];
@@ -16988,7 +17065,7 @@ let
     pname = "String-Util";
     version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKO/String-Util-1.26.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKO/String-Util-1.26.tar.gz";
       sha256 = "0bgs6fsc0gcj9qa1k98nwjp4xbkl3ckz71rz3qhmav0lgkrr96pl";
     };
     meta = {
@@ -17005,7 +17082,7 @@ let
     pname = "Struct-Dumb";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Struct-Dumb-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Struct-Dumb-0.09.tar.gz";
       sha256 = "0g9rziaqxkm00vh30g1yfwzq3b1xl23p8fbm4rszqsp641wr2z9k";
     };
     buildInputs = [ TestFatal ];
@@ -17019,12 +17096,12 @@ let
     pname = "Sub-Exporter";
     version = "0.987";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-0.987.tar.gz";
       sha256 = "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l";
     };
     propagatedBuildInputs = [ DataOptList ];
     meta = {
-      homepage = https://github.com/rjbs/sub-exporter;
+      homepage = "https://github.com/rjbs/sub-exporter";
       description = "A sophisticated exporter for custom-built routines";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17034,13 +17111,13 @@ let
     pname = "Sub-Exporter-ForMethods";
     version = "0.100052";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100052.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-ForMethods-0.100052.tar.gz";
       sha256 = "421fbba4f6ffcf13c4335f2c20630d709e6fa659c07545d094dbc5a558ad3006";
     };
     buildInputs = [ namespaceautoclean ];
     propagatedBuildInputs = [ SubExporter SubName ];
     meta = {
-      homepage = https://github.com/rjbs/Sub-Exporter-ForMethods;
+      homepage = "https://github.com/rjbs/Sub-Exporter-ForMethods";
       description = "Helper routines for using Sub::Exporter to build methods";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17050,12 +17127,12 @@ let
     pname = "Sub-Exporter-GlobExporter";
     version = "0.005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.005.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-GlobExporter-0.005.tar.gz";
       sha256 = "0qvsvfvfyk69v2ygjnyd5sh3bgbzd6f7k7mgv0zws1yywvpmxi1g";
     };
     propagatedBuildInputs = [ SubExporter ];
     meta = {
-      homepage = https://github.com/rjbs/sub-exporter-globexporter;
+      homepage = "https://github.com/rjbs/sub-exporter-globexporter";
       description = "Export shared globs with Sub::Exporter collectors";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17065,7 +17142,7 @@ let
     pname = "Sub-Exporter-Progressive";
     version = "0.001013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/Sub-Exporter-Progressive-0.001013.tar.gz";
       sha256 = "0mn0x8mkh36rrsr58s1pk4srwxh2hbwss7sv630imnk49navfdfm";
     };
     meta = {
@@ -17078,7 +17155,7 @@ let
     pname = "Sub-Identify";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/R/RG/RGARCIA/Sub-Identify-0.14.tar.gz";
       sha256 = "068d272086514dd1e842b6a40b1bedbafee63900e5b08890ef6700039defad6f";
     };
     meta = {
@@ -17091,7 +17168,7 @@ let
     pname = "Sub-Info";
     version = "0.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Sub-Info-0.002.tar.gz";
       sha256 = "ea3056d696bdeff21a99d340d5570887d39a8cc47bff23adfc82df6758cdd0ea";
     };
     propagatedBuildInputs = [ Importer ];
@@ -17105,7 +17182,7 @@ let
     pname = "Sub-Install";
     version = "0.928";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-0.928.tar.gz";
       sha256 = "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1";
     };
     meta = {
@@ -17118,12 +17195,12 @@ let
     pname = "Sub-Name";
     version = "0.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.26.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Sub-Name-0.26.tar.gz";
       sha256 = "2d2f2d697d516c89547e7c4307f1e79441641cae2c7395e7319b306d390df105";
     };
     buildInputs = [ BC DevelCheckBin ];
     meta = {
-      homepage = https://github.com/p5sagit/Sub-Name;
+      homepage = "https://github.com/p5sagit/Sub-Name";
       description = "(Re)name a sub";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17133,7 +17210,7 @@ let
     pname = "Sub-Override";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Sub-Override-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/O/OV/OVID/Sub-Override-0.09.tar.gz";
       sha256 = "1d955qn44brkcfif3gi0q2vvvqahny6rax0vr068x5i9yz0ng6lk";
     };
     buildInputs = [ TestFatal ];
@@ -17143,7 +17220,7 @@ let
     pname = "Sub-Quote";
     version = "2.006006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006006.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Sub-Quote-2.006006.tar.gz";
       sha256 = "6e4e2af42388fa6d2609e0e82417de7cc6be47223f576592c656c73c7524d89d";
     };
     buildInputs = [ TestFatal ];
@@ -17157,11 +17234,11 @@ let
     pname = "Sub-Uplevel";
     version = "0.2800";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Sub-Uplevel-0.2800.tar.gz";
       sha256 = "14z2xjiw931wizcx3mblmby753jspvfm321d6chs907nh0xzdwxl";
     };
     meta = {
-      homepage = https://github.com/dagolden/sub-uplevel;
+      homepage = "https://github.com/dagolden/sub-uplevel";
       description = "Apparently run a function in a higher stack frame";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17171,7 +17248,7 @@ let
     pname = "SVN-Simple";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CL/CLKAO/SVN-Simple-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/C/CL/CLKAO/SVN-Simple-0.28.tar.gz";
       sha256 = "1ysgi38zx236cxz539k6d6rw5z0vc70rrglsaf5fk6rnwilw2g6n";
     };
     propagatedBuildInputs = [ (pkgs.subversionClient.override { inherit perl; }) ];
@@ -17181,12 +17258,12 @@ let
     pname = "Swim";
     version = "0.1.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/Swim-0.1.48.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/Swim-0.1.48.tar.gz";
       sha256 = "a5f72fd2f22917fa2b4acbb2ee2c3d32903d97ee5b0e449b0f387018c77f4f0c";
     };
     propagatedBuildInputs = [ HTMLEscape HashMerge IPCRun Pegex TextAutoformat YAMLLibYAML ];
     meta = {
-      homepage = https://github.com/ingydotnet/swim-pm;
+      homepage = "https://github.com/ingydotnet/swim-pm";
       description = "See What I Mean?!";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17206,7 +17283,7 @@ let
     pname = "Symbol-Global-Name";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Symbol-Global-Name-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/Symbol-Global-Name-0.05.tar.gz";
       sha256 = "0f7623e9d724760aa64040222da1d82f1188586791329261cc60dad1d60d6a92";
     };
     meta = {
@@ -17219,7 +17296,7 @@ let
     pname = "Symbol-Util";
     version = "0.0203";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Symbol-Util-0.0203.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Symbol-Util-0.0203.tar.gz";
       sha256 = "0cnwwrd5d6i80f33s7n2ak90rh4s53ss7q57wndrpkpr4bfn3djm";
     };
   };
@@ -17228,12 +17305,12 @@ let
     pname = "syntax";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHAYLON/syntax-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHAYLON/syntax-0.004.tar.gz";
       sha256 = "fe19b6da8a8f43a5aa2ee571441bc0e339fb156d0081c157a1a24e9812c7d365";
     };
     propagatedBuildInputs = [ DataOptList namespaceclean ];
     meta = {
-      homepage = https://github.com/phaylon/syntax/wiki;
+      homepage = "https://github.com/phaylon/syntax/wiki";
       description = "Activate syntax extensions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17243,13 +17320,13 @@ let
     pname = "Syntax-Keyword-Junction";
     version = "0.003008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003008.tar.gz;
+      url = "mirror://cpan/authors/id/F/FR/FREW/Syntax-Keyword-Junction-0.003008.tar.gz";
       sha256 = "8b4975f21b1992a7e6c2df5dcc92b254c61925595eddcdfaf0b1498717aa95ef";
     };
     buildInputs = [ TestRequires ];
     propagatedBuildInputs = [ syntax ];
     meta = {
-      homepage = https://github.com/frioux/Syntax-Keyword-Junction;
+      homepage = "https://github.com/frioux/Syntax-Keyword-Junction";
       description = "Perl6 style Junction operators in Perl5";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17259,7 +17336,7 @@ let
     pname = "Sys-Mmap";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SW/SWALTERS/Sys-Mmap-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/S/SW/SWALTERS/Sys-Mmap-0.19.tar.gz";
       sha256 = "1yh0170xfw3z7n3lynffcb6axv7wi6zb46cx03crj1cvrhjmwa89";
     };
     meta = with stdenv.lib; {
@@ -17273,7 +17350,7 @@ let
     pname = "Sys-MemInfo";
     version = "0.99";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-0.99.tar.gz;
+      url = "mirror://cpan/authors/id/S/SC/SCRESTO/Sys-MemInfo-0.99.tar.gz";
       sha256 = "0786319d3a3a8bae5d727939244bf17e140b714f52734d5e9f627203e4cf3e3b";
     };
     meta = {
@@ -17287,7 +17364,7 @@ let
     pname = "Sys-CPU";
     version = "0.61";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz;
+      url = "mirror://cpan/authors/id/M/MZ/MZSANFORD/Sys-CPU-0.61.tar.gz";
       sha256 = "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5";
     };
     patches = [
@@ -17310,7 +17387,7 @@ let
     pname = "Sys-Hostname-Long";
     version = "1.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCOTT/Sys-Hostname-Long-1.5.tar.gz;
+      url = "mirror://cpan/authors/id/S/SC/SCOTT/Sys-Hostname-Long-1.5.tar.gz";
       sha256 = "1jv5n8jv48c1p8svjsigyxndv1ygsq8wgwj9c7ypx1vaf3rns679";
     };
     doCheck = false; # no `hostname' in stdenv
@@ -17320,7 +17397,7 @@ let
     pname = "Sys-SigAction";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/L/LB/LBAXTER/Sys-SigAction-0.23.tar.gz";
       sha256 = "c4ef6c9345534031fcbbe2adc347fc7194d47afc945e7a44fac7e9563095d353";
     };
     doCheck = !stdenv.isAarch64; # it hangs on Aarch64
@@ -17334,7 +17411,7 @@ let
     pname = "Sys-Syslog";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SAPER/Sys-Syslog-0.36.tar.gz";
       sha256 = "ed42a9e5ba04ad4856cc0cb5d38d289c3c5d3764543ec04efafc4af7e3378df8";
     };
     meta = {
@@ -17347,7 +17424,7 @@ let
     pname = "System-Command";
     version = "1.119";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/System-Command-1.119.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOOK/System-Command-1.119.tar.gz";
       sha256 = "c8c9fb1e527c52463cab1476500efea70396a0b62bea625d2d6faea994dc46e7";
     };
     propagatedBuildInputs = [ IPCRun ];
@@ -17359,11 +17436,11 @@ let
 
   SysVirt = buildPerlModule rec {
     pname = "Sys-Virt";
-    version = "5.4.0";
+    version = "6.2.0";
     src = assert version == pkgs.libvirt.version; pkgs.fetchgit {
-      url = git://libvirt.org/libvirt-perl.git;
-      rev = "v${version}";
-      sha256 = "0csg10mydcif2l0qf16nlphq6ih5378nk6dk1vznf5bspws2ch7a";
+      url = "git://libvirt.org/libvirt-perl.git";
+      rev = "799b243230163ff4f8dde6293da8a0e31e7c900e";
+      sha256 = "1k38d1ycx3ibgfzcr1iym7cvpwvygh6a2i5548m4qjb47vfi12rz";
     };
     nativeBuildInputs = [ pkgs.pkgconfig ];
     buildInputs = [ pkgs.libvirt CPANChanges TestPod TestPodCoverage XMLXPath ];
@@ -17374,7 +17451,7 @@ let
     pname = "TAP-Parser-SourceHandler-pgTAP";
     version = "3.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.35.tar.gz;
+      url = "mirror://cpan/authors/id/D/DW/DWHEELER/TAP-Parser-SourceHandler-pgTAP-3.35.tar.gz";
       sha256 = "1655337l1cyd7q62007wrk87q2gbbwfq9xjy1wgx3hyflxpkkvl4";
     };
     doCheck = !stdenv.isDarwin;
@@ -17388,7 +17465,7 @@ let
     pname = "Task-Catalyst-Tutorial";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Task-Catalyst-Tutorial-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Task-Catalyst-Tutorial-0.06.tar.gz";
       sha256 = "75b1b2d96155647842587146cefd0de30943b85195e8e3eca51e0f0b8642d61e";
     };
     propagatedBuildInputs = [ CatalystAuthenticationStoreDBIxClass CatalystControllerHTMLFormFu CatalystDevel CatalystManual CatalystPluginAuthorizationACL CatalystPluginAuthorizationRoles CatalystPluginSessionStateCookie CatalystPluginSessionStoreFastMmap CatalystPluginStackTrace CatalystViewTT ];
@@ -17403,7 +17480,7 @@ let
     pname = "Task-FreecellSolver-Testing";
     version = "0.0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Task-FreecellSolver-Testing-v0.0.11.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-FreecellSolver-Testing-v0.0.11.tar.gz";
       sha256 = "a2f73c65d0e5676cf4aae213ba4c3f88bf85f084a2165f1e71e3ce5b19023206";
     };
     buildInputs = [ CodeTidyAll TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace TestTrap ];
@@ -17418,7 +17495,7 @@ let
     pname = "Task-Plack";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Task-Plack-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Task-Plack-0.28.tar.gz";
       sha256 = "0ajwkyr9nwn11afi6fz6kx4bi7a3p8awjsldmsakz3sl0s42pmbr";
     };
     propagatedBuildInputs = [ CGICompile CGIEmulatePSGI CGIPSGI Corona FCGI FCGIClient FCGIProcManager HTTPServerSimplePSGI IOHandleUtil NetFastCGI PSGI PlackAppProxy PlackMiddlewareAuthDigest PlackMiddlewareConsoleLogger PlackMiddlewareDebug PlackMiddlewareDeflater PlackMiddlewareHeader PlackMiddlewareReverseProxy PlackMiddlewareSession Starlet Starman Twiggy ];
@@ -17429,12 +17506,12 @@ let
     pname = "Task-Test-Run-AllPlugins";
     version = "0.0105";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Task-Test-Run-AllPlugins-0.0105.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Task-Test-Run-AllPlugins-0.0105.tar.gz";
       sha256 = "fd43bd053aa884a5abca851f145a0e29898515dcbfc3512f18cd0d86d28eb0a9";
     };
     buildInputs = [ TestRun TestRunCmdLine TestRunPluginAlternateInterpreters TestRunPluginBreakOnFailure TestRunPluginColorFileVerdicts TestRunPluginColorSummary TestRunPluginTrimDisplayedFilenames ];
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "Specifications for installing all the Test::Run";
       license = stdenv.lib.licenses.mit;
     };
@@ -17444,7 +17521,7 @@ let
     pname = "Task-Weaken";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Task-Weaken-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Task-Weaken-1.06.tar.gz";
       sha256 = "1gk6rmnp4x50lzr0vfng41khf0f8yzxlm0pad1j69vxskpdzx0r3";
     };
     meta = {
@@ -17457,12 +17534,12 @@ let
     pname = "Template-Plugin-Autoformat";
     version = "2.77";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KARMAN/Template-Plugin-Autoformat-2.77.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KARMAN/Template-Plugin-Autoformat-2.77.tar.gz";
       sha256 = "bddfb4919f0abb2a2be7a9665333e0d4e098032f0e383dbaf04c4d896c7486ed";
     };
     propagatedBuildInputs = [ TemplateToolkit TextAutoformat ];
     meta = {
-      homepage = https://github.com/karpet/template-plugin-autoformat;
+      homepage = "https://github.com/karpet/template-plugin-autoformat";
       description = "TT plugin for Text::Autoformat";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17472,7 +17549,7 @@ let
     pname = "Template-Plugin-Class";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Template-Plugin-Class-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Template-Plugin-Class-0.14.tar.gz";
       sha256 = "1hq7jy6zg1iaslsyi05afz0i944y9jnv3nb4krkxjfmzwy5gw106";
     };
     propagatedBuildInputs = [ TemplateToolkit ];
@@ -17482,7 +17559,7 @@ let
     pname = "Template-Plugin-IO-All";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/X/XE/XERN/Template-Plugin-IO-All-0.01.tar.gz";
       sha256 = "1f7445422a21932e09bbef935766e0af6b7cceb088e9d8e030cd7a84bcdc5ee4";
     };
     propagatedBuildInputs = [ IOAll TemplateToolkit ];
@@ -17497,7 +17574,7 @@ let
     pname = "Template-Plugin-JavaScript";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Template-Plugin-JavaScript-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Template-Plugin-JavaScript-0.02.tar.gz";
       sha256 = "1mqqqs0dhfr6bp1305j9ns05q4pq1n3f561l6p8848k5ml3dh87a";
     };
     propagatedBuildInputs = [ TemplateToolkit ];
@@ -17507,7 +17584,7 @@ let
     pname = "Template-Plugin-JSON-Escape";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/N/NA/NANTO/Template-Plugin-JSON-Escape-0.02.tar.gz";
       sha256 = "051a8b1d3bc601d58fc51e246067d36450cfe970278a0456e8ab61940f13cd86";
     };
     propagatedBuildInputs = [ JSON TemplateToolkit ];
@@ -17517,7 +17594,7 @@ let
     pname = "Template-Timer";
     version = "1.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/Template-Timer-1.00.tar.gz";
       sha256 = "1d3pbcx1kz73ncg8s8lx3ifwphz838qy0m40gdar7790cnrlqcdp";
     };
     propagatedBuildInputs = [ TemplateToolkit ];
@@ -17531,7 +17608,7 @@ let
     pname = "Template-Tiny";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/Template-Tiny-1.12.tar.gz";
       sha256 = "073e062c630b51dfb725cd6485a329155cb72d5c596e8cb698eb67c4566f0a4a";
     };
     meta = {
@@ -17544,7 +17621,7 @@ let
     pname = "Template-Toolkit";
     version = "3.007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/Template-Toolkit-3.007.tar.gz;
+      url = "mirror://cpan/authors/id/A/AT/ATOOMIC/Template-Toolkit-3.007.tar.gz";
       sha256 = "1jh953f1v4r494mdvzfqs1ay1bh453dmp10z4qmv0makwarjsnfp";
     };
     doCheck = !stdenv.isDarwin;
@@ -17558,7 +17635,7 @@ let
     pname = "Template-GD";
     version = "2.66";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz";
       sha256 = "98523c8192f2e8184042e5a2e172bd767ac289dd2e480f35f680dce32160905b";
     };
     propagatedBuildInputs = [ GD TemplateToolkit ];
@@ -17572,7 +17649,7 @@ let
     pname = "Term-Encoding";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Term-Encoding-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Term-Encoding-0.03.tar.gz";
       sha256 = "95ba9687d735d25a3cbe64508d7894f009c7fa2a1726c3e786e9e21da2251d0b";
     };
     meta = {
@@ -17585,7 +17662,7 @@ let
     pname = "Term-ProgressBar";
     version = "2.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANWAR/Term-ProgressBar-2.22.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MANWAR/Term-ProgressBar-2.22.tar.gz";
       sha256 = "2642ecca5b0b038c14812bcad3a9611ff7911dc59c9104d220797f837a880c49";
     };
     buildInputs = [ CaptureTiny TestException TestWarnings ];
@@ -17600,7 +17677,7 @@ let
     pname = "Term-ProgressBar-Quiet";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LB/LBROCARD/Term-ProgressBar-Quiet-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/L/LB/LBROCARD/Term-ProgressBar-Quiet-0.31.tar.gz";
       sha256 = "25675292f588bc29d32e710cf3667da9a2a1751e139801770a9fdb18cd2184a6";
     };
     propagatedBuildInputs = [ IOInteractive TermProgressBar ];
@@ -17615,7 +17692,7 @@ let
     pname = "Term-ProgressBar-Simple";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EV/EVDB/Term-ProgressBar-Simple-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/E/EV/EVDB/Term-ProgressBar-Simple-0.03.tar.gz";
       sha256 = "a20db3c67d5bdfd0c1fab392c6d1c26880a7ee843af602af4f9b53a7043579a6";
     };
     propagatedBuildInputs = [ TermProgressBarQuiet ];
@@ -17628,7 +17705,7 @@ let
     pname = "TermReadKey";
     version = "2.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.38.tar.gz;
+      url = "mirror://cpan/authors/id/J/JS/JSTOWE/TermReadKey-2.38.tar.gz";
       sha256 = "143jlibah1g14bym7sj3gphvqkpj1w4vn7sqc4vc62jpviw5hr2s";
     };
 
@@ -17652,7 +17729,7 @@ let
     pname = "Term-ReadLine-Gnu";
     version = "1.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.36.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAYASHI/Term-ReadLine-Gnu-1.36.tar.gz";
       sha256 = "9a08f7a4013c9b865541c10dbba1210779eb9128b961250b746d26702bab6925";
     };
     buildInputs = [ pkgs.readline pkgs.ncurses ];
@@ -17673,7 +17750,7 @@ let
     doCheck = false;
 
     meta = {
-      homepage = https://sourceforge.net/projects/perl-trg/;
+      homepage = "https://sourceforge.net/projects/perl-trg/";
       description = "Perl extension for the GNU Readline/History Library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17699,12 +17776,12 @@ let
     pname = "Term-Shell";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Term-Shell-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Term-Shell-0.11.tar.gz";
       sha256 = "7a142361f22f2e5fae9d6e39353663e8bdfa6118d1aee82204bd9083ddb04154";
     };
     propagatedBuildInputs = [ TermReadKey TextAutoformat ];
     meta = with stdenv.lib; {
-      homepage = https://metacpan.org/release/Term-Shell;
+      homepage = "https://metacpan.org/release/Term-Shell";
       description = "A simple command-line shell framework";
       license = with licenses; [ artistic1 gpl1Plus ];
     };
@@ -17714,7 +17791,7 @@ let
     pname = "Term-ShellUI";
     version = "0.92";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRONSON/Term-ShellUI-0.92.tar.gz;
+      url = "mirror://cpan/authors/id/B/BR/BRONSON/Term-ShellUI-0.92.tar.gz";
       sha256 = "3279c01c76227335eeff09032a40f4b02b285151b3576c04cacd15be05942bdb";
     };
   };
@@ -17723,7 +17800,7 @@ let
     pname = "Term-Size-Any";
     version = "0.002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Any-0.002.tar.gz;
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Any-0.002.tar.gz";
       sha256 = "64fa5fdb1ae3a823134aaa95aec75354bc17bdd9ca12ba0a7ae34a7e51b3ded2";
     };
     propagatedBuildInputs = [ DevelHide TermSizePerl ];
@@ -17737,7 +17814,7 @@ let
     pname = "Term-Size-Perl";
     version = "0.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.031.tar.gz;
+      url = "mirror://cpan/authors/id/F/FE/FERREIRA/Term-Size-Perl-0.031.tar.gz";
       sha256 = "ae9a6746cb1b305ddc8f8d8ca46878552b9c1123628971e13a275183822f209e";
     };
     meta = {
@@ -17750,7 +17827,7 @@ let
     pname = "Term-Table";
     version = "0.015";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Term-Table-0.015.tar.gz";
       sha256 = "d8a18b2801f91f0e5d747147ce786964a76f91d18568652908a3dc06a9b948d5";
     };
     propagatedBuildInputs = [ Importer ];
@@ -17764,7 +17841,7 @@ let
      pname = "Term-UI";
      version = "0.46";
      src = fetchurl {
-       url = mirror://cpan/authors/id/B/BI/BINGOS/Term-UI-0.46.tar.gz;
+       url = "mirror://cpan/authors/id/B/BI/BINGOS/Term-UI-0.46.tar.gz";
        sha256 = "19p92za5cx1v7g57pg993amprcvm1az3pp7y9g5b1aplsy06r54i";
      };
      propagatedBuildInputs = [ LogMessageSimple ];
@@ -17778,7 +17855,7 @@ let
     pname = "Term-VT102";
     version = "0.91";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz;
+      url = "mirror://cpan/authors/id/A/AJ/AJWOOD/Term-VT102-0.91.tar.gz";
       sha256 = "f954e0310941d45c0fc3eb4a40f5d3a00d68119e277d303a1e6af11ded6fbd94";
     };
     meta = {
@@ -17789,7 +17866,7 @@ let
     pname = "Term-VT102-Boundless";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FB/FBARRIOS/Term-VT102-Boundless-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/F/FB/FBARRIOS/Term-VT102-Boundless-0.05.tar.gz";
       sha256 = "e1ded85ae3d76b59c03b8697f4a6cb01ae31bd62a9354f5bb7d18f9e927b485f";
     };
     propagatedBuildInputs = [ TermVT102 ];
@@ -17799,7 +17876,7 @@ let
     pname = "Term-Animation";
     version = "2.6";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz;
+      url = "mirror://cpan/authors/id/K/KB/KBAUCOM/Term-Animation-2.6.tar.gz";
       sha256 = "7d5c3c2d4f9b657a8b1dce7f5e2cbbe02ada2e97c72f3a0304bf3c99d084b045";
     };
     propagatedBuildInputs = [ Curses ];
@@ -17813,7 +17890,7 @@ let
      pname = "Test2-Plugin-NoWarnings";
      version = "0.08";
      src = fetchurl {
-       url = mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.08.tar.gz;
+       url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test2-Plugin-NoWarnings-0.08.tar.gz";
        sha256 = "122rcksn4qg0f99ap9ppmkvk0fvxcqa9jlqmq7wlk3q0ajylr4cy";
      };
      buildInputs = [ IPCRun3 Test2Suite ];
@@ -17827,7 +17904,7 @@ let
     pname = "Test2-Suite";
     version = "0.000128";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000128.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test2-Suite-0.000128.tar.gz";
       sha256 = "f8e4e76900f5fb748d085aa5d18b916e07273e9ca50fb671ab8be1301cfae08c";
     };
     propagatedBuildInputs = [ ModulePluggable ScopeGuard SubInfo TermTable TestSimple13 ];
@@ -17841,7 +17918,7 @@ let
      pname = "Test-Abortable";
      version = "0.002";
      src = fetchurl {
-       url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Abortable-0.002.tar.gz;
+       url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Abortable-0.002.tar.gz";
        sha256 = "0v97y31j56f4mxw0vxyjbdprq4951h4wcdh4acnfm63np7wvg44p";
      };
      propagatedBuildInputs = [ SubExporter ];
@@ -17857,7 +17934,7 @@ let
     pname = "Test-Assert";
     version = "0.0504";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Test-Assert-0.0504.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Assert-0.0504.tar.gz";
       sha256 = "194bzflmzc0cw5727kznbj1zwzj7gnj7nx1643zk2hshdjlnv8yg";
     };
     buildInputs = [ ClassInspector TestUnitLite ];
@@ -17868,7 +17945,7 @@ let
     pname = "Test-Assertions";
     version = "1.054";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BB/BBC/Test-Assertions-1.054.tar.gz;
+      url = "mirror://cpan/authors/id/B/BB/BBC/Test-Assertions-1.054.tar.gz";
       sha256 = "10026w4r3yv6k3vc6cby7d61mxddlqh0ls6z39c82f17awfy9p7w";
     };
     propagatedBuildInputs = [ LogTrace ];
@@ -17878,7 +17955,7 @@ let
     pname = "Test-Aggregate";
     version = "0.375";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RW/RWSTAUNER/Test-Aggregate-0.375.tar.gz;
+      url = "mirror://cpan/authors/id/R/RW/RWSTAUNER/Test-Aggregate-0.375.tar.gz";
       sha256 = "c6cc0abfd0d4fce85371acca93ec245381841d32b4caa2d6475e4bc8130427d1";
     };
     buildInputs = [ TestMost TestNoWarnings TestTrap ];
@@ -17894,7 +17971,7 @@ let
     pname = "Test-Base";
     version = "0.89";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/Test-Base-0.89.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/Test-Base-0.89.tar.gz";
       sha256 = "056hibgg3i2b89mwr76vyxi6ayb3hqjqcwicvn3s5lximsma3517";
     };
     propagatedBuildInputs = [ Spiffy ];
@@ -17905,7 +17982,7 @@ let
     pname = "Test-Bits";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Test-Bits-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test-Bits-0.02.tar.gz";
       sha256 = "1hqbvqlkj3k9ys4zq3f1fl1y6crni8r0ynan673f49rs91b6z0m9";
     };
     propagatedBuildInputs = [ ListAllUtils ];
@@ -17920,7 +17997,7 @@ let
     pname = "Test-CheckDeps";
     version = "0.010";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.010.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEONT/Test-CheckDeps-0.010.tar.gz";
       sha256 = "1vjinlixxdx6gfcw8y1dw2rla8bfhi8nmgcqr3nffc7kqskcrz36";
     };
     propagatedBuildInputs = [ CPANMetaCheck ];
@@ -17934,7 +18011,7 @@ let
     pname = "Test-Class";
     version = "0.50";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Class-0.50.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Class-0.50.tar.gz";
       sha256 = "099154ed8caf3ff97c71237fab952264ac1c03d9270737a56071cabe65991350";
     };
     buildInputs = [ TestException ];
@@ -17949,7 +18026,7 @@ let
      pname = "Test-Class-Most";
      version = "0.08";
      src = fetchurl {
-       url = mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-0.08.tar.gz;
+       url = "mirror://cpan/authors/id/O/OV/OVID/Test-Class-Most-0.08.tar.gz";
        sha256 = "1zvx9hil0mg0pnb8xfa4m0xgjpvh8s5gnbyprq3xwpdsdgcdwk33";
      };
      buildInputs = [ TestClass TestDeep TestDifferences TestException TestMost TestWarn ];
@@ -17963,13 +18040,13 @@ let
     pname = "Test-CleanNamespaces";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-CleanNamespaces-0.24.tar.gz";
       sha256 = "338d5569e8e89a654935f843ec0bc84aaa486fe8dd1898fb9cab3eccecd5327a";
     };
     buildInputs = [ Filepushd Moo Mouse RoleTiny SubExporter TestDeep TestNeeds TestWarnings namespaceclean ];
     propagatedBuildInputs = [ PackageStash SubIdentify ];
     meta = {
-      homepage = https://github.com/karenetheridge/Test-CleanNamespaces;
+      homepage = "https://github.com/karenetheridge/Test-CleanNamespaces";
       description = "Check for uncleaned imports";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -17979,7 +18056,7 @@ let
      pname = "Test-Cmd";
      version = "1.09";
      src = fetchurl {
-       url = mirror://cpan/authors/id/N/NE/NEILB/Test-Cmd-1.09.tar.gz;
+       url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Cmd-1.09.tar.gz";
        sha256 = "114nfafwfxxn7kig265b7lg0znb5ybvc282sjjwf14g7vpn20cyg";
      };
        doCheck = false; /* test fails */
@@ -17994,11 +18071,11 @@ let
     pname = "Test-Command";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DANBOO/Test-Command-0.11.tar.gz";
       sha256 = "0cwm3c4d49mdrbm6vgh78b3x8mk730l0zg8i7xb9z8bkx9pzr8r8";
     };
     meta = {
-      homepage = https://github.com/danboo/perl-test-command;
+      homepage = "https://github.com/danboo/perl-test-command";
       description = "Test routines for external commands ";
       license = with stdenv.lib.licenses; [ artistic1 gpl1 ];
     };
@@ -18008,7 +18085,7 @@ let
     pname = "Test-Compile";
     version = "2.3.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.1.tar.gz;
+      url = "mirror://cpan/authors/id/E/EG/EGILES/Test-Compile-v2.3.1.tar.gz";
       sha256 = "1174cff010011ae43e6462755ccd8a6cf0372ca506705c60586f7b1748ff4ddf";
     };
     propagatedBuildInputs = [ UNIVERSALrequire ];
@@ -18022,7 +18099,7 @@ let
     pname = "Test-CPAN-Meta";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-0.25.tar.gz";
       sha256 = "f55b4f9cf6bc396d0fe8027267685cb2ac4affce897d0967a317fac6db5a8db5";
     };
     meta = {
@@ -18035,7 +18112,7 @@ let
      pname = "Test-CPAN-Meta-JSON";
      version = "0.16";
      src = fetchurl {
-       url = mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-0.16.tar.gz;
+       url = "mirror://cpan/authors/id/B/BA/BARBIE/Test-CPAN-Meta-JSON-0.16.tar.gz";
        sha256 = "1jg9ka50ixwq083wd4k12rhdjq87w0ihb34gd8jjn7gvvyd51b37";
      };
      propagatedBuildInputs = [ JSON ];
@@ -18049,7 +18126,7 @@ let
     pname = "Test-Data-Split";
     version = "0.2.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Data-Split-0.2.1.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Data-Split-0.2.1.tar.gz";
       sha256 = "9ba0c27a9e23c5dd8ede7611a049180485acc512a63783e1d1843b6569db5ae7";
     };
     buildInputs = [ TestDifferences ];
@@ -18064,7 +18141,7 @@ let
     pname = "Test-Deep";
     version = "1.128";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-1.128.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Deep-1.128.tar.gz";
       sha256 = "0bq9c0vrxbwhhy1pd2ss06fk06jal98j022mnyq6k0msdy1pwbc5";
     };
     meta = {
@@ -18075,7 +18152,7 @@ let
     pname = "Test-Dir";
     version = "1.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.16.tar.gz;
+      url = "mirror://cpan/authors/id/M/MT/MTHURN/Test-Dir-1.16.tar.gz";
       sha256 = "7332b323913eb6a2684d094755196304b2f8606f70eaab913654ca91f273eac2";
     };
     meta = {
@@ -18088,7 +18165,7 @@ let
     pname = "Test-Differences";
     version = "0.67";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.67.tar.gz;
+      url = "mirror://cpan/authors/id/D/DC/DCANTRELL/Test-Differences-0.67.tar.gz";
       sha256 = "c88dbbb48b934b069284874f33abbaaa438aa31204aa3fa73bfc2f4aeac878da";
     };
     propagatedBuildInputs = [ CaptureTiny TextDiff ];
@@ -18102,7 +18179,7 @@ let
     pname = "Test-DistManifest";
     version = "1.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.014.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-DistManifest-1.014.tar.gz";
       sha256 = "3d26c20df42628981cbfcfa5b1ca028c6ceadb344c1dcf97a25ad6a88b73d7c5";
     };
     buildInputs = [ ModuleBuildTiny ];
@@ -18117,7 +18194,7 @@ let
     pname = "Test-EOL";
     version = "2.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-2.00.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-EOL-2.00.tar.gz";
       sha256 = "0l3bxpsw0x7j9nclizcp53mnf9wny25dmg2iglfhzgnk0xfpwzwf";
     };
     meta = {
@@ -18130,7 +18207,7 @@ let
     pname = "Test-Exception";
     version = "0.43";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Exception-0.43.tar.gz";
       sha256 = "0cxm7s4bg0xpxa6l6996a6iq3brr4j7p4hssnkc6dxv4fzq16sqm";
     };
     propagatedBuildInputs = [ SubUplevel ];
@@ -18140,7 +18217,7 @@ let
     pname = "Test-FailWarnings";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-FailWarnings-0.008.tar.gz";
       sha256 = "0vx9chcp5x8m0chq574p9fnfckh5gl94j7904rh9v17n568fyd6s";
     };
     buildInputs = [ CaptureTiny ];
@@ -18154,7 +18231,7 @@ let
     pname = "Test-Fake-HTTPD";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MASAKI/Test-Fake-HTTPD-0.08.tar.gz";
       sha256 = "1jkflkcjzrdvnlxff1xqfhfdcpsmvvjqzayl7hk3whavsxdrf9yh";
     };
     propagatedBuildInputs = [ HTTPDaemon Plack ];
@@ -18170,12 +18247,12 @@ let
     pname = "Test-Fatal";
     version = "0.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.014.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Fatal-0.014.tar.gz";
       sha256 = "bcdcef5c7b2790a187ebca810b0a08221a63256062cfab3c3b98685d91d1cbb0";
     };
     propagatedBuildInputs = [ TryTiny ];
     meta = {
-      homepage = https://github.com/rjbs/Test-Fatal;
+      homepage = "https://github.com/rjbs/Test-Fatal";
       description = "Incredibly simple helpers for testing code with exceptions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18185,7 +18262,7 @@ let
     pname = "Test-File";
     version = "1.443";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.443.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-File-1.443.tar.gz";
       sha256 = "61b4a6ab8f617c8c7b5975164cf619468dc304b6baaaea3527829286fa58bcd5";
     };
     buildInputs = [ Testutf8 ];
@@ -18199,7 +18276,7 @@ let
     pname = "Test-File-Contents";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/D/DW/DWHEELER/Test-File-Contents-0.23.tar.gz";
       sha256 = "cd6fadfb910b34b4b53991ff231dad99929ca8850abec3ad0e2810c4bd7b1f3d";
     };
     propagatedBuildInputs = [ TextDiff ];
@@ -18213,13 +18290,13 @@ let
     pname = "Test-File-ShareDir";
     version = "1.001002";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz;
+      url = "mirror://cpan/authors/id/K/KE/KENTNL/Test-File-ShareDir-1.001002.tar.gz";
       sha256 = "b33647cbb4b2f2fcfbde4f8bb4383d0ac95c2f89c4c5770eb691f1643a337aad";
     };
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ ClassTiny FileCopyRecursive FileShareDir PathTiny ScopeGuard ];
     meta = {
-      homepage = https://github.com/kentfredric/Test-File-ShareDir;
+      homepage = "https://github.com/kentfredric/Test-File-ShareDir";
       description = "Create a Fake ShareDir for your modules for testing";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18229,7 +18306,7 @@ let
     pname = "Test-Filename";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Filename-0.03.tar.gz";
       sha256 = "1gpw4mjw68gnby8s4cifvbz6g2923xsc189jkw9d27i8qv20qiba";
     };
     propagatedBuildInputs = [ PathTiny ];
@@ -18243,7 +18320,7 @@ let
     pname = "Test-Fork";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Fork-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Fork-0.02.tar.gz";
       sha256 = "0gnh8m81fdrwmzy1fix12grfq7sf7nn0gbf24zlap1gq4kxzpzpw";
     };
     meta = {
@@ -18256,7 +18333,7 @@ let
     pname = "Test-Harness-Straps";
     version = "0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Harness-Straps-0.30.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Test-Harness-Straps-0.30.tar.gz";
       sha256 = "8b00efaa35723c1a35c8c8f5fa46a99e4bc528dfa520352b54ac418ef6d1cfa8";
     };
     meta = {
@@ -18269,7 +18346,7 @@ let
      pname = "Test-HexDifferences";
      version = "1.001";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Test-HexDifferences-1.001.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Test-HexDifferences-1.001.tar.gz";
        sha256 = "18lh6shpfx567gjikrid4hixydgv1hi3mycl20qzq2j2vpn4afd6";
      };
      propagatedBuildInputs = [ SubExporter TextDiff ];
@@ -18282,7 +18359,7 @@ let
      pname = "Test-HexString";
      version = "0.03";
      src = fetchurl {
-       url = mirror://cpan/authors/id/P/PE/PEVANS/Test-HexString-0.03.tar.gz;
+       url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-HexString-0.03.tar.gz";
        sha256 = "0h1zl2l1ljlcxsn0xvin9dwiymnhyhnfnxgzg3f9899g37f4qk3x";
      };
      meta = {
@@ -18295,7 +18372,7 @@ let
     pname = "Test-Identity";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Test-Identity-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Identity-0.01.tar.gz";
       sha256 = "08szivpqfwxnf6cfh0f0rfs4f7xbaxis3bra31l2c5gdk800a0ig";
     };
     meta = {
@@ -18308,7 +18385,7 @@ let
     pname = "Test-HTTP-Server-Simple";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALEXMV/Test-HTTP-Server-Simple-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALEXMV/Test-HTTP-Server-Simple-0.11.tar.gz";
       sha256 = "85c97ebd4deb805291b17277032da48807228f24f89b1ce2fb3c09f7a896bb78";
     };
     propagatedBuildInputs = [ HTTPServerSimple ];
@@ -18321,7 +18398,7 @@ let
     pname = "Test-JSON";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Test-JSON-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/O/OV/OVID/Test-JSON-0.11.tar.gz";
       sha256 = "1cyp46w3q7dg89qkw31ik2h2a6mdx6pzdz2lmp8m0a61zjr8mh07";
     };
     propagatedBuildInputs = [ JSONAny ];
@@ -18332,7 +18409,7 @@ let
      pname = "Test-Kwalitee";
      version = "1.28";
      src = fetchurl {
-       url = mirror://cpan/authors/id/E/ET/ETHER/Test-Kwalitee-1.28.tar.gz;
+       url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Kwalitee-1.28.tar.gz";
        sha256 = "18s3c8qfr3kmmyxmsn5la2zgbdsgpnkmscnl68i7fnavfpfnqlxl";
      };
      propagatedBuildInputs = [ ModuleCPANTSAnalyse ];
@@ -18348,7 +18425,7 @@ let
     pname = "Test-LWP-UserAgent";
     version = "0.033";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-LWP-UserAgent-0.033.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-LWP-UserAgent-0.033.tar.gz";
       sha256 = "03fjjj65fpjr4pv1532kwci1llfbsv4g9an0h7k723yqfx1wgdsb";
     };
     propagatedBuildInputs = [ LWP SafeIsa namespaceclean ];
@@ -18364,7 +18441,7 @@ let
     pname = "Test-LeakTrace";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LE/LEEJO/Test-LeakTrace-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/L/LE/LEEJO/Test-LeakTrace-0.16.tar.gz";
       sha256 = "00z4hcjra5nk700f3fgpy8fs036d7ry7glpn8g3wh7jzj7nrw22z";
     };
     meta = {
@@ -18377,7 +18454,7 @@ let
     pname = "Test-LectroTest";
     version = "0.5001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TM/TMOERTEL/Test-LectroTest-0.5001.tar.gz;
+      url = "mirror://cpan/authors/id/T/TM/TMOERTEL/Test-LectroTest-0.5001.tar.gz";
       sha256 = "0dfpkvn06499gczch4gfmdb05fdj82vlqy7cl6hz36l9jl6lyaxc";
     };
     meta = {
@@ -18390,7 +18467,7 @@ let
     pname = "Test-LoadAllModules";
     version = "0.022";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz;
+      url = "mirror://cpan/authors/id/K/KI/KITANO/Test-LoadAllModules-0.022.tar.gz";
       sha256 = "1zjwbqk1ns9m8srrhyj3i5zih976i4d2ibflh5s8lr10a1aiz1hv";
     };
     propagatedBuildInputs = [ ListMoreUtils ModulePluggable ];
@@ -18404,7 +18481,7 @@ let
     pname = "Test-LongString";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RG/RGARCIA/Test-LongString-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/R/RG/RGARCIA/Test-LongString-0.17.tar.gz";
       sha256 = "0kwp7rfr1i2amz4ckigkv13ah7jr30q6l5k4wk0vxl84myg39i5b";
     };
   };
@@ -18413,7 +18490,7 @@ let
     pname = "Test-Memory-Cycle";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Memory-Cycle-1.06.tar.gz";
       sha256 = "9d53ddfdc964cd8454cb0da4c695b6a3ae47b45839291c34cb9d8d1cfaab3202";
     };
     propagatedBuildInputs = [ DevelCycle PadWalker ];
@@ -18426,7 +18503,7 @@ let
     pname = "Test-Mock-Class";
     version = "0.0303";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Mock-Class-0.0303.tar.gz";
       sha256 = "00pkfqcz7b34q1mvx15k46sbxs22zcrvrbv15rnbn2na57z54bnd";
     };
     buildInputs = [ ClassInspector TestAssert TestUnitLite ];
@@ -18441,12 +18518,12 @@ let
     pname = "Test-Mock-Guard";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/X/XA/XAICRON/Test-Mock-Guard-0.10.tar.gz";
       sha256 = "7f228a63f8d6ceb92aa784080a13e85073121b2835eca06d794f9709950dbd3d";
     };
     propagatedBuildInputs = [ ClassLoad ];
     meta = {
-      homepage = https://github.com/zigorou/p5-test-mock-guard;
+      homepage = "https://github.com/zigorou/p5-test-mock-guard";
       description = "Simple mock test library using RAII";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18456,7 +18533,7 @@ let
     pname = "Test-MockModule";
     version = "0.171.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.171.0.tar.gz;
+      url = "mirror://cpan/authors/id/G/GF/GFRANKS/Test-MockModule-v0.171.0.tar.gz";
       sha256 = "1arqgb1773zym5dqlwm6kz48bfrccjhb5bjfsif0vkalwq2gvm7b";
     };
     propagatedBuildInputs = [ SUPER ];
@@ -18467,7 +18544,7 @@ let
     pname = "SUPER";
     version = "1.20190531";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHROMATIC/SUPER-1.20190531.tar.gz";
       sha256 = "685d1ee76e7f0e9006942923bf7df8b11c107132992917593dcf7397d417d39a";
     };
     propagatedBuildInputs = [ SubIdentify ];
@@ -18482,7 +18559,7 @@ let
     pname = "Test-MockObject";
     version = "1.20200122";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20200122.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHROMATIC/Test-MockObject-1.20200122.tar.gz";
       sha256 = "2b7f80da87f5a6fe0360d9ee521051053017442c3a26e85db68dfac9f8307623";
     };
     buildInputs = [ TestException TestWarn ];
@@ -18497,7 +18574,7 @@ let
     pname = "Test-MockTime";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DD/DDICK/Test-MockTime-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/D/DD/DDICK/Test-MockTime-0.17.tar.gz";
       sha256 = "1y820qsq7yf7r6smy5c6f0mpf2cis2q24vwmpim1svv0n8cf2qrk";
     };
   };
@@ -18506,7 +18583,7 @@ let
      pname = "Test-MockTime-HiRes";
      version = "0.08";
      src = fetchurl {
-       url = mirror://cpan/authors/id/T/TA/TARAO/Test-MockTime-HiRes-0.08.tar.gz;
+       url = "mirror://cpan/authors/id/T/TA/TARAO/Test-MockTime-HiRes-0.08.tar.gz";
        sha256 = "1hfykcjrls6ywgbd49w29c7apj3nq4wlyx7jzpd2glwmz2pgfjaz";
      };
      buildInputs = [ AnyEvent ModuleBuildTiny TestClass TestMockTime TestRequires ];
@@ -18521,11 +18598,11 @@ let
     pname = "Test-Mojibake";
     version = "1.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-1.3.tar.gz;
+      url = "mirror://cpan/authors/id/S/SY/SYP/Test-Mojibake-1.3.tar.gz";
       sha256 = "0cqvbwddgh0pfzmh989gkysi9apqj7dp7jkxfa428db9kgzpbzlg";
     };
     meta = {
-      homepage = https://github.com/creaktive/Test-Mojibake;
+      homepage = "https://github.com/creaktive/Test-Mojibake";
       description = "Check your source for encoding misbehavior";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18535,7 +18612,7 @@ let
      pname = "Test-More-UTF8";
      version = "0.05";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MO/MONS/Test-More-UTF8-0.05.tar.gz;
+       url = "mirror://cpan/authors/id/M/MO/MONS/Test-More-UTF8-0.05.tar.gz";
        sha256 = "016fs77lmw8xxrcnapvp6wq4hjwgsdfi3l9ylpxgxkcpdarw9wdr";
      };
      meta = {
@@ -18548,7 +18625,7 @@ let
     pname = "Test-Most";
     version = "0.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.35.tar.gz;
+      url = "mirror://cpan/authors/id/O/OV/OVID/Test-Most-0.35.tar.gz";
       sha256 = "0zv5dyzq55r28plffibcr7wd00abap0h2zh4s4p8snaiszsad5wq";
     };
     propagatedBuildInputs = [ ExceptionClass ];
@@ -18563,7 +18640,7 @@ let
     pname = "Test-Needs";
     version = "0.002006";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-0.002006.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Test-Needs-0.002006.tar.gz";
       sha256 = "77f9fff0c96c5e09f34d0416b3533c3319f7cd0bb1f7fe8f8072ad59f433f0e5";
     };
     meta = {
@@ -18576,7 +18653,7 @@ let
     pname = "Test-NoTabs";
     version = "2.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-2.02.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-NoTabs-2.02.tar.gz";
       sha256 = "0c306p9qdpa2ycii3c50hml23mwy6bjxpry126g1dw11hyiwcxgv";
     };
     meta = {
@@ -18589,7 +18666,7 @@ let
     pname = "Test-NoWarnings";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/A/AD/ADAMK/Test-NoWarnings-1.04.tar.gz";
       sha256 = "0v385ch0hzz9naqwdw2az3zdqi15gka76pmiwlgsy6diiijmg2k3";
     };
     meta = {
@@ -18602,7 +18679,7 @@ let
     pname = "Test-Object";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Object-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Object-0.08.tar.gz";
       sha256 = "65278964147837313f4108e55b59676e8a364d6edf01b3dc198aee894ab1d0bb";
     };
   };
@@ -18611,7 +18688,7 @@ let
     pname = "Test-Output";
     version = "1.031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-Output-1.031.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Output-1.031.tar.gz";
       sha256 = "193y1xjvgc1p9pdgdwps2127knvpz9wc1xh6gmr74y3ihmqz7f7q";
     };
     propagatedBuildInputs = [ CaptureTiny ];
@@ -18621,7 +18698,7 @@ let
      pname = "Test-PAUSE-Permissions";
      version = "0.07";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/SK/SKAJI/Test-PAUSE-Permissions-0.07.tar.gz;
+       url = "mirror://cpan/authors/id/S/SK/SKAJI/Test-PAUSE-Permissions-0.07.tar.gz";
        sha256 = "0gh7f67g1y30yggmwj1pq6xgrx3cfjibj2378nl3gilvyaxw2w2m";
      };
      propagatedBuildInputs = [ ConfigIdentity PAUSEPermissions ParseLocalDistribution ];
@@ -18636,7 +18713,7 @@ let
     pname = "Test-Perl-Critic";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-Perl-Critic-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-Perl-Critic-1.04.tar.gz";
       sha256 = "28f806b5412c7908b56cf1673084b8b44ce1cb54c9417d784d91428e1a04096e";
     };
     propagatedBuildInputs = [ MCE PerlCritic ];
@@ -18646,7 +18723,7 @@ let
     pname = "Test-PerlTidy";
     version = "20190402";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-PerlTidy-20190402.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-PerlTidy-20190402.tar.gz";
       sha256 = "e9cb9b23ed62e8c6a47a1e18b55328aa3bfa467e05cd93e7e12b2738dd1e025f";
     };
     propagatedBuildInputs = [ PathTiny PerlTidy TextDiff ];
@@ -18660,7 +18737,7 @@ let
     pname = "Test-Pod";
     version = "1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Pod-1.52.tar.gz";
       sha256 = "1z75x1pxwp8ajwq9iazlg2c3wd7rdlim08yclpdg32qnc36dpa30";
     };
     meta = {
@@ -18673,7 +18750,7 @@ let
     pname = "Test-Pod-Coverage";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Test-Pod-Coverage-1.10.tar.gz";
       sha256 = "1m203mhgfilz7iqc8mxaw4lw02fz391mni3n25sfx7nryylwrja8";
     };
     propagatedBuildInputs = [ PodCoverage ];
@@ -18683,7 +18760,7 @@ let
     pname = "Test-Pod-LinkCheck";
     version = "0.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-LinkCheck-0.008.tar.gz;
+      url = "mirror://cpan/authors/id/A/AP/APOCAL/Test-Pod-LinkCheck-0.008.tar.gz";
       sha256 = "2bfe771173c38b69eeb089504e3f76511b8e45e6a9e6dac3e616e400ea67bcf0";
     };
     buildInputs = [ ModuleBuildTiny TestPod ];
@@ -18713,7 +18790,7 @@ let
     pname = "Test-Portability-Files";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/A/AB/ABRAXXA/Test-Portability-Files-0.10.tar.gz";
       sha256 = "08e4b432492dc1b44b55d5db57952eb76379c7f434ee8f16aca64d491f401a16";
     };
     meta = {
@@ -18726,7 +18803,7 @@ let
     pname = "Test-Refcount";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PEVANS/Test-Refcount-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/Test-Refcount-0.10.tar.gz";
       sha256 = "1chf6zizi7x128l3qm1bdqzwjjqm2j4gzajgghaksisn945c4mq4";
     };
     meta = {
@@ -18739,7 +18816,7 @@ let
     pname = "Test-Requires";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOKUHIROM/Test-Requires-0.10.tar.gz";
       sha256 = "1d9f481lj12cw1ciil46xq9nq16p6a90nm7yrsalpf8asn8s6s17";
     };
     meta = {
@@ -18752,7 +18829,7 @@ let
     pname = "Test-Requires-Git";
     version = "1.008";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOOK/Test-Requires-Git-1.008.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOOK/Test-Requires-Git-1.008.tar.gz";
       sha256 = "70916210970d84d7491451159ab8b67e15251c8c0dae7c3df6c8d88542ea42a6";
     };
     propagatedBuildInputs = [ GitVersionCompare ];
@@ -18766,7 +18843,7 @@ let
      pname = "Test-RequiresInternet";
      version = "0.05";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz;
+       url = "mirror://cpan/authors/id/M/MA/MALLEN/Test-RequiresInternet-0.05.tar.gz";
        sha256 = "0gl33vpj9bb78pzyijp884b66sbw6jkh1ci0xki8rmf03hmb79xv";
      };
      meta = {
@@ -18779,7 +18856,7 @@ let
     pname = "Test-Roo";
     version = "1.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-1.004.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Roo-1.004.tar.gz";
       sha256 = "1mnym49j1lj7gzylma5b6nr4vp75rmgz2v71904v01xmxhy9l4i1";
     };
 
@@ -18791,13 +18868,13 @@ let
     pname = "Test-Routine";
     version = "0.027";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.027.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-Routine-0.027.tar.gz";
       sha256 = "0n6k310v2py787lkvhzrn8vndws9icdf8mighgl472k0x890xm5s";
     };
     buildInputs = [ TestAbortable TestFatal ];
     propagatedBuildInputs = [ Moose namespaceautoclean ];
     meta = {
-      homepage = https://github.com/rjbs/Test-Routine;
+      homepage = "https://github.com/rjbs/Test-Routine";
       description = "Composable units of assertion";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18807,13 +18884,13 @@ let
     pname = "Test-Run";
     version = "0.0304";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-0.0304.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-0.0304.tar.gz";
       sha256 = "f3feaf9c4494c0b3a5294228cab27efe93653b7e0bbd7fbb99b94b65b247f323";
     };
     buildInputs = [ TestTrap ];
     propagatedBuildInputs = [ IPCSystemSimple ListMoreUtils MooseXStrictConstructor TextSprintfNamed UNIVERSALrequire ];
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "Base class to run standard TAP scripts";
       license = stdenv.lib.licenses.mit;
     };
@@ -18823,14 +18900,14 @@ let
     pname = "Test-Run-CmdLine";
     version = "0.0131";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-CmdLine-0.0131.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-CmdLine-0.0131.tar.gz";
       sha256 = "cceeeecd3f4b2f1d2929f3ada351c1ade23a8ac73ef0486dc6e9605ebcdaef18";
     };
     buildInputs = [ TestRun TestTrap ];
     propagatedBuildInputs = [ MooseXGetopt UNIVERSALrequire YAMLLibYAML ];
     doCheck = !stdenv.isDarwin;
     meta = {
-      homepage = http://web-cpan.berlios.de/modules/Test-Run/;
+      homepage = "http://web-cpan.berlios.de/modules/Test-Run/";
       description = "Analyze tests from the command line using Test::Run";
       license = stdenv.lib.licenses.mit;
     };
@@ -18840,13 +18917,13 @@ let
     pname = "Test-Run-Plugin-AlternateInterpreters";
     version = "0.0124";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-AlternateInterpreters-0.0124.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-AlternateInterpreters-0.0124.tar.gz";
       sha256 = "eecb3830d350b5d7853322df4f3090af42ff17e9c31075f8d4f69856c968bff3";
     };
     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
     propagatedBuildInputs = [ Moose ];
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "Define different interpreters for different test scripts with Test::Run";
       license = stdenv.lib.licenses.mit;
     };
@@ -18856,13 +18933,13 @@ let
     pname = "Test-Run-Plugin-BreakOnFailure";
     version = "0.0.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-BreakOnFailure-v0.0.5.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-BreakOnFailure-v0.0.5.tar.gz";
       sha256 = "e422eb64a2fa6ae59837312e37ab88d68b4945148eb436a3774faed5074f0430";
     };
     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
     propagatedBuildInputs = [ Moose ];
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "Stop processing the entire test suite";
       license = stdenv.lib.licenses.mit;
     };
@@ -18872,7 +18949,7 @@ let
     pname = "Test-Run-Plugin-ColorFileVerdicts";
     version = "0.0124";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorFileVerdicts-0.0124.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorFileVerdicts-0.0124.tar.gz";
       sha256 = "0418f03abe241f5a3c2a2ab3dd2679d11eee42c9e1f5b5a6ea80d9e238374302";
     };
     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
@@ -18880,7 +18957,7 @@ let
     moreInputs = [ TestTrap ]; # Added because tests were failing without it
     doCheck=true;
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "Make the file verdict ('ok', 'NOT OK')";
       license = stdenv.lib.licenses.mit;
     };
@@ -18890,14 +18967,14 @@ let
     pname = "Test-Run-Plugin-ColorSummary";
     version = "0.0202";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorSummary-0.0202.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-ColorSummary-0.0202.tar.gz";
       sha256 = "ea4fb6768c4f6645cedf87d9b7c6baf97364ebc6f4171e4dd5f68939fb2bdd3a";
     };
     buildInputs = [ TestRun TestRunCmdLine TestTrap ];
     moreInputs = [ TestTrap ]; # Added because tests were failing without it
     doCheck=true;
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "A Test::Run plugin that";
       license = stdenv.lib.licenses.mit;
     };
@@ -18907,13 +18984,13 @@ let
     pname = "Test-Run-Plugin-TrimDisplayedFilenames";
     version = "0.0125";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-TrimDisplayedFilenames-0.0125.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-Run-Plugin-TrimDisplayedFilenames-0.0125.tar.gz";
       sha256 = "2255bc5cb6ab65ee4dfff3bcdf007fb74785ff3bb439a9cef5052c66d80424a5";
     };
     buildInputs = [ TestRun TestRunCmdLine TestTrap YAMLLibYAML ];
     propagatedBuildInputs = [ Moose ];
     meta = {
-      homepage = https://web-cpan.shlomifish.org/modules/Test-Run/;
+      homepage = "https://web-cpan.shlomifish.org/modules/Test-Run/";
       description = "Trim the first components";
       license = stdenv.lib.licenses.mit;
     };
@@ -18923,7 +19000,7 @@ let
     pname = "Test-RunValgrind";
     version = "0.2.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-0.2.1.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-RunValgrind-0.2.1.tar.gz";
       sha256 = "25a4a8bfcefaed7c40d8b8492e8828e798e6c85ca5f34ce4b9993f9899a7b09c";
     };
     buildInputs = [ TestTrap ];
@@ -18938,7 +19015,7 @@ let
     pname = "Test-Script";
     version = "1.26";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.26.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Script-1.26.tar.gz";
       sha256 = "1dvkb8dvidnycd6ws2h2iy262h37fjakflv6z90xrw72xix26hkd";
     };
 
@@ -18951,12 +19028,12 @@ let
     pname = "Test-SharedFork";
     version = "0.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.35.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-SharedFork-0.35.tar.gz";
       sha256 = "17y52j20k1bs9dgf4n6rhh9dn4cfxxbnfn2cfs7pb00fc5jyhci9";
     };
     buildInputs = [ TestRequires ];
     meta = {
-      homepage = https://github.com/tokuhirom/Test-SharedFork;
+      homepage = "https://github.com/tokuhirom/Test-SharedFork";
       description = "Fork test";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -18966,7 +19043,7 @@ let
     pname = "Test-Simple";
     version = "1.302171";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302171.tar.gz;
+      url = "mirror://cpan/authors/id/E/EX/EXODIST/Test-Simple-1.302171.tar.gz";
       sha256 = "e27f90d2b2a6bc6ffa7675a072c2f41d5caffd99858dc69b2030940cc138368a";
     };
     meta = {
@@ -18979,7 +19056,7 @@ let
     pname = "Test-Spec";
     version = "0.54";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AK/AKZHAN/Test-Spec-0.54.tar.gz;
+      url = "mirror://cpan/authors/id/A/AK/AKZHAN/Test-Spec-0.54.tar.gz";
       sha256 = "1lk5l69bm6yl1zxzz5v6mizzqfinpdhasmi4qjxr1vnwcl9cyc8a";
     };
     propagatedBuildInputs = [ DevelGlobalPhase PackageStash TieIxHash ];
@@ -18994,7 +19071,7 @@ let
     pname = "Test-SubCalls";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-SubCalls-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-SubCalls-1.10.tar.gz";
       sha256 = "cbc1e9b35a05e71febc13e5ef547a31c8249899bb6011dbdc9d9ff366ddab6c2";
     };
     propagatedBuildInputs = [ HookLexWrap ];
@@ -19004,7 +19081,7 @@ let
     pname = "Test-Synopsis";
     version = "0.16";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.16.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZO/ZOFFIX/Test-Synopsis-0.16.tar.gz";
       sha256 = "09891vnkw9i8v074rswaxbrp6x2d8j8r90gqc306497ppiryq4qv";
     };
     meta = {
@@ -19017,7 +19094,7 @@ let
     pname = "Test-TableDriven";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JR/JROCKWAY/Test-TableDriven-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/J/JR/JROCKWAY/Test-TableDriven-0.02.tar.gz";
       sha256 = "16l5n6sx3yqdir1rqq21d41znpwzbs8v34gqr93y051arypphn22";
     };
     meta = {
@@ -19030,7 +19107,7 @@ let
     pname = "Test-TempDir-Tiny";
     version = "0.018";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-TempDir-Tiny-0.018.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-TempDir-Tiny-0.018.tar.gz";
       sha256 = "10ay3zbihyxn4nbb1f0fmr4szag8iy8pd27v8j6idq6cgzys3dyp";
     };
     meta = {
@@ -19045,7 +19122,7 @@ let
     pname = "Test-TCP";
     version = "2.22";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Test-TCP-2.22.tar.gz";
       sha256 = "0mvv9rqwrwlcfh8qrs0s47p85rhlnw15d4gbpyi802bddp0c6lry";
     };
     meta = {
@@ -19059,7 +19136,7 @@ let
     pname = "Test-Time";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SATOH/Test-Time-0.08.tar.gz";
       sha256 = "b8bc3b074bb2247e8588399c1e55d071f049cf6ce1c8b4192c38cf3c24559548";
     };
     meta = {
@@ -19072,7 +19149,7 @@ let
      pname = "Test-Toolbox";
      version = "0.4";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIKO/Test-Toolbox-0.4.tar.gz";
        sha256 = "1hxx9rhvncvn7wvzhzx4sk00w0xq2scgspfhhyqwjnm1yg3va820";
      };
      meta = {
@@ -19085,7 +19162,7 @@ let
     pname = "Test-TrailingSpace";
     version = "0.0302";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0302.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Test-TrailingSpace-0.0302.tar.gz";
       sha256 = "c48a6377d84576512b47652798d9d4bb4467adacf0e6afc3df1f880f2c03b612";
     };
     propagatedBuildInputs = [ FileFindObjectRule ];
@@ -19099,7 +19176,7 @@ let
     pname = "Test-Unit-Lite";
     version = "0.1202";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz;
+      url = "mirror://cpan/authors/id/D/DE/DEXTER/Test-Unit-Lite-0.1202.tar.gz";
       sha256 = "1a5jym9hjcpdf0rwyn7gwrzsx4xqzwgzx59rgspqlqiif7p2a79m";
     };
     meta = {
@@ -19112,7 +19189,7 @@ let
     pname = "Test-Warn";
     version = "0.36";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BI/BIGJ/Test-Warn-0.36.tar.gz;
+      url = "mirror://cpan/authors/id/B/BI/BIGJ/Test-Warn-0.36.tar.gz";
       sha256 = "1nkc7jzxff0w4x9axbpsgxrksqdjnf70rb74q39zikkrsd3a7g7c";
     };
     propagatedBuildInputs = [ SubUplevel ];
@@ -19126,12 +19203,12 @@ let
     pname = "Test-Warnings";
     version = "0.028";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.028.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Test-Warnings-0.028.tar.gz";
       sha256 = "26fda9f8d279e943d27e43a4a3a5cea8a6592cd36e7308695f8dc6602262c0e0";
     };
     buildInputs = [ CPANMetaCheck PadWalker ];
     meta = {
-      homepage = https://github.com/karenetheridge/Test-Warnings;
+      homepage = "https://github.com/karenetheridge/Test-Warnings";
       description = "Test for warnings and the lack of them";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19141,7 +19218,7 @@ let
     pname = "Test-Without-Module";
     version = "0.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.20.tar.gz;
+      url = "mirror://cpan/authors/id/C/CO/CORION/Test-Without-Module-0.20.tar.gz";
       sha256 = "8e9aeb7c32a6c6d0b8a93114db2a8c072721273a9d9a2dd4f9ca86cfd28aa524";
     };
     meta = {
@@ -19154,13 +19231,13 @@ let
     pname = "Test-WWW-Mechanize";
     version = "1.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.52.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PETDANCE/Test-WWW-Mechanize-1.52.tar.gz";
       sha256 = "1jsywlbxhqw39ij7s8vmgff5vys58vlfaq27072awacnxc65aal4";
     };
     buildInputs = [ TestLongString ];
     propagatedBuildInputs = [ CarpAssertMore HTTPServerSimple WWWMechanize ];
     meta = {
-      homepage = https://github.com/petdance/test-www-mechanize;
+      homepage = "https://github.com/petdance/test-www-mechanize";
       description = "Testing-specific WWW::Mechanize subclass";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -19170,7 +19247,7 @@ let
     pname = "Test-WWW-Mechanize-Catalyst";
     version = "0.62";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTROUT/Test-WWW-Mechanize-Catalyst-0.62.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSTROUT/Test-WWW-Mechanize-Catalyst-0.62.tar.gz";
       sha256 = "1cdc2q16vs6fb335pzaislz2rx1ph9acaxyp7v5hv9xbwwddwfqq";
     };
     doCheck = false; # listens on an external port
@@ -19186,7 +19263,7 @@ let
     pname = "Test-WWW-Mechanize-CGI";
     version = "0.1";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Test-WWW-Mechanize-CGI-0.1.tar.gz";
       sha256 = "0bwwdk0iai5dlvvfpja971qpgvmf6yq67iag4z4szl9v5sra0xm5";
     };
     propagatedBuildInputs = [ WWWMechanizeCGI ];
@@ -19197,7 +19274,7 @@ let
     pname = "Test-WWW-Mechanize-PSGI";
     version = "0.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/Test-WWW-Mechanize-PSGI-0.39.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/Test-WWW-Mechanize-PSGI-0.39.tar.gz";
       sha256 = "0n4rhyyags3cwqb0gb1pr6gccd2x3l190j8gd96lwlvxnjrklss7";
     };
     buildInputs = [ CGI TestLongString TestWWWMechanize ];
@@ -19212,7 +19289,7 @@ let
     pname = "Test-XPath";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANWAR/Test-XPath-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MANWAR/Test-XPath-0.19.tar.gz";
       sha256 = "1wy0488yg15kahfafnlmlhppxik7d0z00wxwj9fszrsq2h6crz6y";
     };
     propagatedBuildInputs = [ XMLLibXML ];
@@ -19222,7 +19299,7 @@ let
     pname = "Test-YAML";
     version = "1.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/Test-YAML-1.07.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TINITA/Test-YAML-1.07.tar.gz";
       sha256 = "0pwrrnwi1qaiy3c5522vy0kzncxc9g02r4b056wqqaa69w1hsc0z";
     };
     buildInputs = [ TestBase ];
@@ -19232,7 +19309,7 @@ let
     pname = "Text-Aligner";
     version = "0.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.13.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Aligner-0.13.tar.gz";
       sha256 = "1vry21jrh91l2pkajnrps83bnr1fn6zshbzi80mcrnggrn9iq776";
     };
     meta = {
@@ -19244,7 +19321,7 @@ let
     pname = "Text-Aspell";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HANK/Text-Aspell-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HANK/Text-Aspell-0.09.tar.gz";
       sha256 = "0r9g31rd55934mp6n45b96g934ck4qns8x9i7qckn9wfy44k5sib";
     };
     propagatedBuildInputs = [ pkgs.aspell ];
@@ -19257,12 +19334,12 @@ let
     pname = "Text-Autoformat";
     version = "1.75";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.75.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Autoformat-1.75.tar.gz";
       sha256 = "9dd4f4ce3daec4b4dbf5b59dac4568a8946aed12c28b4e5988c8e8c602c6b771";
     };
     propagatedBuildInputs = [ TextReform ];
     meta = {
-      homepage = https://github.com/neilbowers/Text-Autoformat;
+      homepage = "https://github.com/neilbowers/Text-Autoformat";
       description = "Automatic text wrapping and reformatting";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19272,7 +19349,7 @@ let
     pname = "Text-Balanced";
     version = "2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHAY/Text-Balanced-2.03.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHAY/Text-Balanced-2.03.tar.gz";
       sha256 = "057753f8f0568b53921f66a60a89c30092b73329bcc61a2c43339ab70c9792c8";
     };
     meta = {
@@ -19286,7 +19363,7 @@ let
     version = "0.88";
     buildInputs = [ CaptureTiny ConfigAutoConf ExtUtilsLibBuilder ];
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-0.88.tar.gz;
+      url = "mirror://cpan/authors/id/A/AM/AMBS/Text-BibTeX-0.88.tar.gz";
       sha256 = "0b7lmjvfmypps1nw6nsdikgaakm0n0g4186glaqazg5xd1p5h55h";
     };
     perlPreHook = "export LD=$CC";
@@ -19310,7 +19387,7 @@ let
     pname = "Text-Brew";
     version = "0.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KC/KCIVEY/Text-Brew-0.02.tar.gz;
+      url = "mirror://cpan/authors/id/K/KC/KCIVEY/Text-Brew-0.02.tar.gz";
       sha256 = "0k7nxglbx5pxl693zrj1fsi094sf1a3vqsrn73inzz7r3j28a6xa";
     };
   };
@@ -19319,7 +19396,7 @@ let
     pname = "Text-CharWidth";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KU/KUBOTA/Text-CharWidth-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-CharWidth-0.04.tar.gz";
       sha256 = "abded5f4fdd9338e89fd2f1d8271c44989dae5bf50aece41b6179d8e230704f8";
     };
   };
@@ -19328,7 +19405,7 @@ let
     pname = "Text-CSV";
     version = "2.00";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IS/ISHIGAKI/Text-CSV-2.00.tar.gz;
+      url = "mirror://cpan/authors/id/I/IS/ISHIGAKI/Text-CSV-2.00.tar.gz";
       sha256 = "8ccbd9195805222d995844114d0e595bb24ce188f85284dbf256080311cbb2c2";
     };
     meta = {
@@ -19341,7 +19418,7 @@ let
     pname = "Text-CSV-Encoded";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/Z/ZA/ZARQUON/Text-CSV-Encoded-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/Z/ZA/ZARQUON/Text-CSV-Encoded-0.25.tar.gz";
       sha256 = "1l5rwlmnpnhjszb200a94lwvkwslsvyxm24ycf37gm8dla1mk2i4";
     };
     propagatedBuildInputs = [ TextCSV ];
@@ -19355,7 +19432,7 @@ let
     pname = "Text-CSV_XS";
     version = "1.40";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.40.tgz;
+      url = "mirror://cpan/authors/id/H/HM/HMBRAND/Text-CSV_XS-1.40.tgz";
       sha256 = "6a448ae1f66768fa5dec1cd2fb246bcaaa3f3ea22d555d1fee8d091833073675";
     };
     meta = {
@@ -19368,7 +19445,7 @@ let
     pname = "Text-Diff";
     version = "1.45";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Text-Diff-1.45.tar.gz";
       sha256 = "013g13prdghxvrp5754gyc7rmv1syyxrhs33yc5f0lrz3dxs1fp8";
     };
     propagatedBuildInputs = [ AlgorithmDiff ];
@@ -19382,7 +19459,7 @@ let
     pname = "Text-Format";
     version = "0.61";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-0.61.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Format-0.61.tar.gz";
       sha256 = "bb8a3b8ff515c85101baf553a769337f944a05cde81f111ae78aff416bf4ae2b";
     };
     meta = {
@@ -19397,7 +19474,7 @@ let
      pname = "Text-German";
      version = "0.06";
      src = fetchurl {
-       url = mirror://cpan/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz;
+       url = "mirror://cpan/authors/id/U/UL/ULPFR/Text-German-0.06.tar.gz";
        sha256 = "1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj";
      };
      meta = {
@@ -19408,7 +19485,7 @@ let
     pname = "Text-Glob";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-Glob-0.11.tar.gz";
       sha256 = "11sj62fynfgwrlgkv5a051cq6yn0pagxqjsz27dxx8phsd4wv706";
     };
   };
@@ -19417,7 +19494,7 @@ let
     pname = "Text-Hogan";
     version = "2.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAORU/Text-Hogan-2.03.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAORU/Text-Hogan-2.03.tar.gz";
       sha256 = "0yk1qn457jqknds4g2khlhi5vk2li1njbfwvxy44i665wknj7naq";
     };
     propagatedBuildInputs = [ Clone RefUtil TextTrim ];
@@ -19432,7 +19509,7 @@ let
     pname = "Text-Iconv";
     version = "1.7";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz;
+      url = "mirror://cpan/authors/id/M/MP/MPIOTR/Text-Iconv-1.7.tar.gz";
       sha256 = "5b80b7d5e709d34393bcba88971864a17b44a5bf0f9e4bcee383d029e7d2d5c3";
     };
   };
@@ -19441,7 +19518,7 @@ let
     pname = "Test-Inter";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/S/SB/SBECK/Test-Inter-1.09.tar.gz";
       sha256 = "1e9f129cc1a001fb95449d385253b38afabf5b466e3b3bd33e4e430f216e177a";
     };
     meta = {
@@ -19469,7 +19546,7 @@ let
     pname = "Test-Manifest";
     version = "2.021";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Test-Manifest-2.021.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Test-Manifest-2.021.tar.gz";
       sha256 = "a47aaad71c580e16e6e63d8c037cdddcd919876754beb2c95d9a88682dd332d9";
     };
     meta = {
@@ -19482,7 +19559,7 @@ let
     pname = "Text-Markdown";
     version = "1.000031";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz;
+      url = "mirror://cpan/authors/id/B/BO/BOBTFISH/Text-Markdown-1.000031.tar.gz";
       sha256 = "06y79lla8adkqhrs41xdddqjs81dcrh266b50mfbg37bxkawd4f1";
     };
     buildInputs = [ ListMoreUtils TestDifferences TestException ];
@@ -19492,12 +19569,12 @@ let
     pname = "Test-MinimumVersion";
     version = "0.101082";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101082.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Test-MinimumVersion-0.101082.tar.gz";
       sha256 = "3fba4e8fcf74806259aa639be7d90e70346ad0e0e4b8b619593490e378241970";
     };
     propagatedBuildInputs = [ PerlMinimumVersion ];
     meta = {
-      homepage = https://github.com/rjbs/Test-MinimumVersion;
+      homepage = "https://github.com/rjbs/Test-MinimumVersion";
       description = "Does your code require newer perl than you think?";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19507,7 +19584,7 @@ let
     pname = "Text-MicroTemplate";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAZUHO/Text-MicroTemplate-0.24.tar.gz";
       sha256 = "1j5ljx7hs4k29732nr5f2m4kssz4rqjw3kknsnhams2yydqix01j";
     };
     meta = {
@@ -19520,11 +19597,11 @@ let
     pname = "Test-Number-Delta";
     version = "1.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Test-Number-Delta-1.06.tar.gz";
       sha256 = "535430919e6fdf6ce55ff76e9892afccba3b7d4160db45f3ac43b0f92ffcd049";
     };
     meta = {
-      homepage = https://github.com/dagolden/Test-Number-Delta;
+      homepage = "https://github.com/dagolden/Test-Number-Delta";
       description = "Compare the difference between numbers against a given tolerance";
       license = "apache";
     };
@@ -19534,7 +19611,7 @@ let
     pname = "Text-Password-Pronounceable";
     version = "0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TS/TSIBLEY/Text-Password-Pronounceable-0.30.tar.gz;
+      url = "mirror://cpan/authors/id/T/TS/TSIBLEY/Text-Password-Pronounceable-0.30.tar.gz";
       sha256 = "c186a50256e0bedfafb17e7ce157e7c52f19503bb79e18ebf06255911f6ead1a";
     };
     meta = {
@@ -19560,7 +19637,7 @@ let
     pname = "Text-PDF";
     version = "0.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz;
+      url = "mirror://cpan/authors/id/B/BH/BHALLISSY/Text-PDF-0.31.tar.gz";
       sha256 = "0s5cimfr4wwzgv15k30x83ncg1257jwsvmbmb86lp02rw5g537yz";
     };
   };
@@ -19569,7 +19646,7 @@ let
     pname = "Text-Quoted";
     version = "2.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BP/BPS/Text-Quoted-2.10.tar.gz;
+      url = "mirror://cpan/authors/id/B/BP/BPS/Text-Quoted-2.10.tar.gz";
       sha256 = "081bf95ec9220af26cec89161e61bf73f9fbcbfeee1d9af15139e5d7b708f445";
     };
     propagatedBuildInputs = [ TextAutoformat ];
@@ -19583,7 +19660,7 @@ let
     pname = "Text-RecordParser";
     version = "1.6.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-1.6.5.tar.gz;
+      url = "mirror://cpan/authors/id/K/KC/KCLARK/Text-RecordParser-1.6.5.tar.gz";
       sha256 = "0nn33c058bl957v38xhqig4ld34lifl4arqiilhxky339i0q2fys";
     };
 
@@ -19599,7 +19676,7 @@ let
     pname = "Text-Reform";
     version = "1.20";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-1.20.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/Text-Reform-1.20.tar.gz";
       sha256 = "a8792dd8c1aac97001032337b36a356be96e2d74c4f039ef9a363b641db4ae61";
     };
     meta = {
@@ -19612,7 +19689,7 @@ let
     pname = "Text-Roman";
     version = "3.5";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz;
+      url = "mirror://cpan/authors/id/S/SY/SYP/Text-Roman-3.5.tar.gz";
       sha256 = "0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb";
     };
     meta = {
@@ -19625,7 +19702,7 @@ let
     pname = "Text-SimpleTable";
     version = "2.07";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.07.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRAMBERG/Text-SimpleTable-2.07.tar.gz";
       sha256 = "1v8r8qpzg283p2pqqr8dqrak2bxray1b2jmib0qk75jffqw3yv95";
     };
     meta = {
@@ -19639,7 +19716,7 @@ let
     pname = "Text-Soundex";
     version = "3.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Text-Soundex-3.05.tar.gz";
       sha256 = "f6dd55b4280b25dea978221839864382560074e1d6933395faee2510c2db60ed";
     };
   };
@@ -19648,7 +19725,7 @@ let
     pname = "Text-Sprintf-Named";
     version = "0.0403";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Sprintf-Named-0.0403.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Sprintf-Named-0.0403.tar.gz";
       sha256 = "8a2f6e52998d1d8adb6ce0f5be85265be2e51ce06cf8ae23b3a0f059ba21b888";
     };
     buildInputs = [ TestWarn ];
@@ -19662,12 +19739,12 @@ let
     pname = "Text-Table";
     version = "1.133";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.133.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/Text-Table-1.133.tar.gz";
       sha256 = "04kh5x5inq183rdg221wlqaaqi1ipyj588mxsslik6nhc14f17nd";
     };
     propagatedBuildInputs = [ TextAligner ];
     meta = {
-      homepage = https://www.shlomifish.org/open-source/projects/docmake/;
+      homepage = "https://www.shlomifish.org/open-source/projects/docmake/";
       description = "Organize Data in Tables";
       license = stdenv.lib.licenses.isc;
     };
@@ -19677,7 +19754,7 @@ let
     pname = "Text-TabularDisplay";
     version = "1.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-1.38.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DARREN/Text-TabularDisplay-1.38.tar.gz";
       sha256 = "1s46s4pg5mpfllx3icf4vnqz9iadbbdbsr5p7pr6gdjnzbx902gb";
     };
   };
@@ -19686,7 +19763,7 @@ let
     pname = "Text-Template";
     version = "1.58";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.58.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHOUT/Text-Template-1.58.tar.gz";
       sha256 = "0c465757782c4bfb9b17335307a8286771fd36ea04d259bc454ac63355f2a287";
     };
     buildInputs = [ TestMoreUTF8 TestWarnings ];
@@ -19696,7 +19773,7 @@ let
     pname = "Test-Trap";
     version = "0.3.4";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.3.4.tar.gz;
+      url = "mirror://cpan/authors/id/E/EB/EBHANSSEN/Test-Trap-v0.3.4.tar.gz";
       sha256 = "1qjs2080kcc66s4d7499br5lw2qmhr9gxky4xsl6vjdn6dpna10b";
     };
     propagatedBuildInputs = [ DataDump ];
@@ -19710,14 +19787,14 @@ let
     pname = "Test-Vars";
     version = "0.014";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Test-Vars-0.014.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Test-Vars-0.014.tar.gz";
       sha256 = "0qr8q0ksr925ycwbsyxjwgz4p9r7a8vkxpn33vy23zbijwpa3xx7";
     };
 
     buildInputs = [ ModuleBuildTiny ];
 
     meta = {
-      homepage = https://github.com/gfx/p5-Test-Vars;
+      homepage = "https://github.com/gfx/p5-Test-Vars";
       description = "Detects unused variables";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19727,7 +19804,7 @@ let
     pname = "Test-Version";
     version = "2.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-2.09.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/Test-Version-2.09.tar.gz";
       sha256 = "9ce1dd2897a5f30e1b7f8966ec66f57d8d8f280f605f28c7ca221fa79aca38e0";
     };
     buildInputs = [ TestException ];
@@ -19742,7 +19819,7 @@ let
     pname = "Text-Trim";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJT/Text-Trim-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJT/Text-Trim-1.03.tar.gz";
       sha256 = "0ks9afvx9c1b6px98wwzhbyhd2y6hdg7884814fc9pnx8qfzrz50";
     };
     meta = {
@@ -19755,7 +19832,7 @@ let
     pname = "Text-Unaccent";
     version = "1.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz;
+      url = "mirror://cpan/authors/id/L/LD/LDACHARY/Text-Unaccent-1.08.tar.gz";
       sha256 = "0avk50kia78kxryh2whmaj5l18q2wvmkdyqyjsf6kwr4kgy6x3i7";
     };
     # https://rt.cpan.org/Public/Bug/Display.html?id=124815
@@ -19766,7 +19843,7 @@ let
     pname = "Text-Unidecode";
     version = "1.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz;
+      url = "mirror://cpan/authors/id/S/SB/SBURKE/Text-Unidecode-1.30.tar.gz";
       sha256 = "1imii0p6wvhrxsr5z2zhazpx5vl4l4ybf1y2c5hy480xvi6z293c";
     };
   };
@@ -19775,7 +19852,7 @@ let
     pname = "Test-utf8";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKF/Test-utf8-1.01.tar.gz";
       sha256 = "ef371b1769cd8d36d2d657e8321723d94c8f8d89e7fd7437c6648c5dc6711b7a";
     };
     meta = {
@@ -19789,7 +19866,7 @@ let
     pname = "Text-NSP";
     version = "1.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TP/TPEDERSE/Text-NSP-1.31.tar.gz;
+      url = "mirror://cpan/authors/id/T/TP/TPEDERSE/Text-NSP-1.31.tar.gz";
       sha256 = "a01201beb29636b3e41ecda2a6cf6522fd265416bd6d994fad02f59fb49cf595";
     };
     meta = {
@@ -19803,7 +19880,7 @@ let
     pname = "Text-vFile-asData";
     version = "0.08";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCLAMP/Text-vFile-asData-0.08.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCLAMP/Text-vFile-asData-0.08.tar.gz";
       sha256 = "b291ab5e0f987c5172560a692234711a75e4596d83475f72d01278369532f82a";
     };
     propagatedBuildInputs = [ ClassAccessorChained ];
@@ -19817,7 +19894,7 @@ let
     pname = "Text-WikiFormat";
     version = "0.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz;
+      url = "mirror://cpan/authors/id/C/CY/CYCLES/Text-WikiFormat-0.81.tar.gz";
       sha256 = "0cxbgx879bsskmnhjzamgsa5862ddixyx4yr77lafmwimnaxjg74";
     };
     propagatedBuildInputs = [ URI ];
@@ -19827,7 +19904,7 @@ let
     pname = "Text-WrapI18N";
     version = "0.06";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz;
+      url = "mirror://cpan/authors/id/K/KU/KUBOTA/Text-WrapI18N-0.06.tar.gz";
       sha256 = "4bd29a17f0c2c792d12c1005b3c276f2ab0fae39c00859ae1741d7941846a488";
     };
     propagatedBuildInputs = [ pkgs.glibc TextCharWidth ];
@@ -19846,7 +19923,7 @@ let
     pname = "Text-Wrapper";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CJ/CJM/Text-Wrapper-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/C/CJ/CJM/Text-Wrapper-1.05.tar.gz";
       sha256 = "64268e15983a9df47e1d9199a491f394e89f542e54afb33f4b78f3f318e09ab9";
     };
     meta = {
@@ -19860,7 +19937,7 @@ let
     pname = "threads-shared";
     version = "1.59";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-shared-1.59.tar.gz;
+      url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/threads-shared-1.59.tar.gz";
       sha256 = "1krz69ks3siz0fhc9waf817nnlmxsgq7rc5rq99xvqg1f1g9iz6i";
     };
     meta = {
@@ -19873,7 +19950,7 @@ let
     pname = "Thread-Queue";
     version = "3.13";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JD/JDHEDDEN/Thread-Queue-3.13.tar.gz;
+      url = "mirror://cpan/authors/id/J/JD/JDHEDDEN/Thread-Queue-3.13.tar.gz";
       sha256 = "1s6wpxy07mr03krkzjr5r02cswsj18dd38aa5f16dfrgvp6xm8vb";
     };
     meta = {
@@ -19886,12 +19963,12 @@ let
     pname = "Throwable";
     version = "0.200013";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RJ/RJBS/Throwable-0.200013.tar.gz;
+      url = "mirror://cpan/authors/id/R/RJ/RJBS/Throwable-0.200013.tar.gz";
       sha256 = "184gdcwxqwnkrx5md968v1ny70pq6blzpkihccm3bpdxnpgd11wr";
     };
     propagatedBuildInputs = [ DevelStackTrace Moo ];
     meta = {
-      homepage = https://github.com/rjbs/Throwable;
+      homepage = "https://github.com/rjbs/Throwable";
       description = "A role for classes that can be thrown";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -19901,7 +19978,7 @@ let
     pname = "Tie-Cache-LRU";
     version = "20150301";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/Tie-Cache-LRU-20150301.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Tie-Cache-LRU-20150301.tar.gz";
       sha256 = "1bf740450d3a6d7c12b48c25f7da5964e44e7cc38b28572cfb76ff22464f4469";
     };
     propagatedBuildInputs = [ ClassVirtual enum ];
@@ -19915,7 +19992,7 @@ let
     pname = "Tie-Cache-LRU-Expires";
     version = "0.55";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OE/OESTERHOL/Tie-Cache-LRU-Expires-0.55.tar.gz;
+      url = "mirror://cpan/authors/id/O/OE/OESTERHOL/Tie-Cache-LRU-Expires-0.55.tar.gz";
       sha256 = "b316d849acd25f24346d55a9950d281fee0746398767c601234122159573eb9a";
     };
     propagatedBuildInputs = [ TieCacheLRU ];
@@ -19928,7 +20005,7 @@ let
     pname = "Tie-Cycle";
     version = "1.225";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.225.tar.gz;
+      url = "mirror://cpan/authors/id/B/BD/BDFOY/Tie-Cycle-1.225.tar.gz";
       sha256 = "0i9xq2qm50p2ih24265jndp2x8hfq7ap0d88nrlv5yaad4hxhc7k";
     };
     meta = {
@@ -19941,7 +20018,7 @@ let
     pname = "Tie-File";
     version = "1.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/Tie-File-1.05.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/Tie-File-1.05.tar.gz";
       sha256 = "8a980b577ff4b10fe11062ed8c774857fa8c9833c5305f2e8bfb3347af63f139";
     };
     meta = {
@@ -19953,7 +20030,7 @@ let
     pname = "Tie-IxHash";
     version = "1.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHORNY/Tie-IxHash-1.23.tar.gz";
       sha256 = "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs";
     };
     meta = {
@@ -19966,11 +20043,11 @@ let
     pname = "Tie-Handle-Offset";
     version = "0.004";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-0.004.tar.gz;
+      url = "mirror://cpan/authors/id/D/DA/DAGOLDEN/Tie-Handle-Offset-0.004.tar.gz";
       sha256 = "ee9f39055dc695aa244a252f56ffd37f8be07209b337ad387824721206d2a89e";
     };
     meta = {
-      homepage = https://github.com/dagolden/tie-handle-offset;
+      homepage = "https://github.com/dagolden/tie-handle-offset";
       description = "Tied handle that hides the beginning of a file";
       license = stdenv.lib.licenses.asl20;
     };
@@ -19980,7 +20057,7 @@ let
     pname = "Tie-Hash-Indexed";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/M/MH/MHX/Tie-Hash-Indexed-0.05.tar.gz";
       sha256 = "a8862a4763d58a8c785e34b8b18e5db4ce5c3e36b9b5cf565a3088584eab361e";
     };
     meta = {
@@ -19994,7 +20071,7 @@ let
     pname = "Tie-RefHash";
     version = "1.39";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/Tie-RefHash-1.39.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/Tie-RefHash-1.39.tar.gz";
       sha256 = "b0b80ef571e7dadb726b8214f7352a932a8fa82af29072895aa1aadc89f48bec";
     };
   };
@@ -20003,7 +20080,7 @@ let
     pname = "Tie-RegexpHash";
     version = "0.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AL/ALTREUS/Tie-RegexpHash-0.17.tar.gz;
+      url = "mirror://cpan/authors/id/A/AL/ALTREUS/Tie-RegexpHash-0.17.tar.gz";
       sha256 = "0c207850e77efb16618e0aa015507926a3425b34aad5aa6e3e40d83989a085a3";
     };
     meta = {
@@ -20028,7 +20105,7 @@ let
      pname = "Tie-Sub";
      version = "1.001";
      src = fetchurl {
-       url = mirror://cpan/authors/id/S/ST/STEFFENW/Tie-Sub-1.001.tar.gz;
+       url = "mirror://cpan/authors/id/S/ST/STEFFENW/Tie-Sub-1.001.tar.gz";
        sha256 = "1cgiyj85hhw2m4x2iv4zgaj3hzf3fghircpcfqmjndni4r4a0wgg";
      };
      propagatedBuildInputs = [ ParamsValidate ];
@@ -20043,7 +20120,7 @@ let
     pname = "Tie-ToObject";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/N/NU/NUFFIN/Tie-ToObject-0.03.tar.gz";
       sha256 = "1x1smn1kw383xc5h9wajxk9dlx92bgrbf7gk4abga57y6120s6m3";
     };
   };
@@ -20052,7 +20129,7 @@ let
     pname = "TimeDate";
     version = "2.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AT/ATOOMIC/TimeDate-2.31.tar.gz;
+      url = "mirror://cpan/authors/id/A/AT/ATOOMIC/TimeDate-2.31.tar.gz";
       sha256 = "10ad6l4ii2iahdpw8h0xqwasc1jblan31h597q3js4j5nbnhywjw";
     };
   };
@@ -20061,7 +20138,7 @@ let
     pname = "Time-Duration";
     version = "1.21";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-1.21.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-1.21.tar.gz";
       sha256 = "1f59z2svfydxgd1gzrb5k3hl6d432kzmskk7jhv2dyb5hyx0wd7y";
     };
     meta = {
@@ -20074,7 +20151,7 @@ let
     pname = "Time-Duration-Parse";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-Parse-0.15.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/Time-Duration-Parse-0.15.tar.gz";
       sha256 = "10g39bbrxkabbsfq4rv7f5b5x7h3jba08j4pg8gwr0b9iqx19n31";
     };
     buildInputs = [ TimeDuration ];
@@ -20089,7 +20166,7 @@ let
     pname = "Time-Local";
     version = "1.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.30.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/Time-Local-1.30.tar.gz";
       sha256 = "c7744f6b2986b946d3e2cf034df371bee16cdbafe53e945abb1a542c4f8920cb";
     };
     meta = {
@@ -20102,7 +20179,7 @@ let
     pname = "Time-Out";
     version = "0.11";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PA/PATL/Time-Out-0.11.tar.gz;
+      url = "mirror://cpan/authors/id/P/PA/PATL/Time-Out-0.11.tar.gz";
       sha256 = "1lhmx1x8j6z1k9vn32bcsw7g44cg22icshnnc37djlnlixlxm5lk";
     };
     meta = {
@@ -20113,7 +20190,7 @@ let
     pname = "Time-ParseDate";
     version = "2015.103";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-2015.103.tar.gz;
+      url = "mirror://cpan/authors/id/M/MU/MUIR/modules/Time-ParseDate-2015.103.tar.gz";
       sha256 = "2c1a06235bf811813caac9eaa9daa71af758667cdf7b082cb59863220fcaeed1";
     };
     doCheck = false;
@@ -20165,7 +20242,7 @@ let
 
     meta = {
       description = "Tools for running a map tile server";
-      homepage = https://github.com/openstreetmap/tirex;
+      homepage = "https://github.com/openstreetmap/tirex";
       maintainers = with maintainers; [ jglukasik ];
       license = with stdenv.lib.licenses; [ gpl2 ];
     };
@@ -20175,7 +20252,7 @@ let
     pname = "Tk";
     version = "804.034";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.034.tar.gz;
+      url = "mirror://cpan/authors/id/S/SR/SREZIC/Tk-804.034.tar.gz";
       sha256 = "fea6b144c723528a2206c8cd9175844032ee9c14ee37791f0f151e5e5b293fe2";
     };
     makeMakerFlags = "X11INC=${pkgs.xorg.libX11.dev}/include X11LIB=${pkgs.xorg.libX11.out}/lib";
@@ -20190,7 +20267,7 @@ let
     pname = "Tree-DAG_Node";
     version = "1.31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.31.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-DAG_Node-1.31.tgz";
       sha256 = "016kr76azxzfcpxjkhqp2piyyl6529shjis20mc3g2snfabsd2qw";
     };
     meta = {
@@ -20204,7 +20281,7 @@ let
     pname = "Tree-Simple";
     version = "1.33";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-1.33.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-1.33.tgz";
       sha256 = "1alnwb6c7n4al91m9cyknvcyvdz521lh22dz1hyk4v7c50adffnv";
     };
     buildInputs = [ TestException ];
@@ -20218,7 +20295,7 @@ let
     pname = "Tree-Simple-VisitorFactory";
     version = "0.15";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.15.tgz;
+      url = "mirror://cpan/authors/id/R/RS/RSAVAGE/Tree-Simple-VisitorFactory-0.15.tgz";
       sha256 = "06y2vazkl307k59hnkp9h5bp3p7711kgmp1qdhb2lgnfwzn84zin";
     };
     propagatedBuildInputs = [ TreeSimple ];
@@ -20229,7 +20306,7 @@ let
     pname = "Try-Tiny";
     version = "0.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/Try-Tiny-0.30.tar.gz";
       sha256 = "da5bd0d5c903519bbf10bb9ba0cb7bcac0563882bcfe4503aee3fb143eddef6b";
     };
     buildInputs = [ CPANMetaCheck CaptureTiny ];
@@ -20243,7 +20320,7 @@ let
     pname = "Try-Tiny-ByClass";
     version = "0.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MAUKE/Try-Tiny-ByClass-0.01.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MAUKE/Try-Tiny-ByClass-0.01.tar.gz";
       sha256 = "0ipif12ix6vnmlyar4gh89libfadbsd9kvqg52f2cpr957slx3h3";
     };
     propagatedBuildInputs = [ DispatchClass TryTiny ];
@@ -20256,7 +20333,7 @@ let
      pname = "Twiggy";
      version = "0.1025";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MI/MIYAGAWA/Twiggy-0.1025.tar.gz;
+       url = "mirror://cpan/authors/id/M/MI/MIYAGAWA/Twiggy-0.1025.tar.gz";
        sha256 = "1a57knbwync7rlzhsz1kdc0sd380xnaccwgiy1qwj5d87abdynnp";
      };
      propagatedBuildInputs = [ AnyEvent Plack ];
@@ -20272,7 +20349,7 @@ let
     pname = "Type-Tiny";
     version = "1.008005";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.008005.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TOBYINK/Type-Tiny-1.008005.tar.gz";
       sha256 = "cc25eb6bd204b586b71e1f6408922b88be3c8183a1e4f99282d885904c776226";
     };
     propagatedBuildInputs = [ ExporterTiny ];
@@ -20287,7 +20364,7 @@ let
      pname = "Types-Serialiser";
      version = "1.0";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/ML/MLEHMANN/Types-Serialiser-1.0.tar.gz;
+       url = "mirror://cpan/authors/id/M/ML/MLEHMANN/Types-Serialiser-1.0.tar.gz";
        sha256 = "03bk0hm5ys8k7265dkap825ybn2zmzb1hl0kf1jdm8yq95w39lvs";
      };
      propagatedBuildInputs = [ commonsense ];
@@ -20299,11 +20376,11 @@ let
     pname = "UNIVERSAL-can";
     version = "1.20140328";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz;
+      url = "mirror://cpan/authors/id/C/CH/CHROMATIC/UNIVERSAL-can-1.20140328.tar.gz";
       sha256 = "522da9f274786fe2cba99bc77cc1c81d2161947903d7fad10bd62dfb7f11990f";
     };
     meta = {
-      homepage = https://github.com/chromatic/UNIVERSAL-can;
+      homepage = "https://github.com/chromatic/UNIVERSAL-can";
       description = "Work around buggy code calling UNIVERSAL::can() as a function";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20313,11 +20390,11 @@ let
     pname = "UNIVERSAL-isa";
     version = "1.20171012";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/UNIVERSAL-isa-1.20171012.tar.gz";
       sha256 = "0avzv9j32aab6l0rd63n92v0pgliz1p4yabxxjfq275hdh1mcsfi";
     };
     meta = {
-      homepage = https://github.com/chromatic/UNIVERSAL-isa;
+      homepage = "https://github.com/chromatic/UNIVERSAL-isa";
       description = "Attempt to recover from people calling UNIVERSAL::isa as a function";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20327,7 +20404,7 @@ let
     pname = "UNIVERSAL-require";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEILB/UNIVERSAL-require-0.18.tar.gz";
       sha256 = "b2a736a87967a143dab58c8a110501d5235bcdd2c8b2a3bfffcd3c0bd06b38ed";
     };
     meta = {
@@ -20340,7 +20417,7 @@ let
     pname = "Unicode-CaseFold";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AR/ARODLAND/Unicode-CaseFold-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/A/AR/ARODLAND/Unicode-CaseFold-1.01.tar.gz";
       sha256 = "418a212808f9d0b8bb330ac905096d2dd364976753d4c71534dab9836a63194d";
     };
     perlPreHook = stdenv.lib.optionalString stdenv.isi686 "export LD=$CC"; # fix undefined reference to `__stack_chk_fail_local'
@@ -20354,7 +20431,7 @@ let
     pname = "Unicode-CheckUTF8";
     version = "1.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRADFITZ/Unicode-CheckUTF8-1.03.tar.gz;
+      url = "mirror://cpan/authors/id/B/BR/BRADFITZ/Unicode-CheckUTF8-1.03.tar.gz";
       sha256 = "97f84daf033eb9b49cd8fe31db221fef035a5c2ee1d757f3122c88cf9762414c";
     };
   };
@@ -20363,7 +20440,7 @@ let
     pname = "Unicode-LineBreak";
     version = "2019.001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz;
+      url = "mirror://cpan/authors/id/N/NE/NEZUMI/Unicode-LineBreak-2019.001.tar.gz";
       sha256 = "12iinva5gqc9g7qzxrvmh45n714z0ad9g7wq2dxwgp6drbj64rs8";
     };
     propagatedBuildInputs = [ MIMECharset ];
@@ -20377,7 +20454,7 @@ let
     pname = "Unicode-String";
     version = "2.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/GAAS/Unicode-String-2.10.tar.gz";
       sha256 = "0s4vp8k7ag7z9lsnnkpa9mnch83kxhp9gh7yiapld5a7rq712jl9";
     };
   };
@@ -20401,7 +20478,7 @@ let
     pname = "Unix-Getrusage";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TA/TAFFY/Unix-Getrusage-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/T/TA/TAFFY/Unix-Getrusage-0.03.tar.gz";
       sha256 = "76cde1cee2453260b85abbddc27cdc9875f01d2457e176e03dcabf05fb444d12";
     };
   };
@@ -20410,12 +20487,12 @@ let
     pname = "URI";
     version = "1.76";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/URI-1.76.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/URI-1.76.tar.gz";
       sha256 = "b2c98e1d50d6f572483ee538a6f4ccc8d9185f91f0073fd8af7390898254413e";
     };
     buildInputs = [ TestNeeds ];
     meta = {
-      homepage = https://github.com/libwww-perl/URI;
+      homepage = "https://github.com/libwww-perl/URI";
       description = "Uniform Resource Identifiers (absolute and relative)";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20425,7 +20502,7 @@ let
     pname = "URI-db";
     version = "0.19";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.19.tar.gz;
+      url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-db-0.19.tar.gz";
       sha256 = "c4999deaf451652216032c8e327ff6e6d655539eac379095bb69b0c369efa658";
     };
     propagatedBuildInputs = [ URINested ];
@@ -20439,7 +20516,7 @@ let
     pname = "URI-Find";
     version = "20160806";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSCHWERN/URI-Find-20160806.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/URI-Find-20160806.tar.gz";
       sha256 = "1mk3jv8x0mcq3ajrn9garnxd0jc7sw4pkwqi88r5apqvlljs84z2";
     };
     propagatedBuildInputs = [ URI ];
@@ -20453,7 +20530,7 @@ let
     pname = "URI-FromHash";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/D/DR/DROLSKY/URI-FromHash-0.05.tar.gz";
       sha256 = "1l3g5ygv83vn9y1zpwjdqq5cs4ip2q058q0gmpcf5wp9rsycbjm7";
     };
     propagatedBuildInputs = [ ParamsValidate URI ];
@@ -20468,7 +20545,7 @@ let
     pname = "URI-GoogleChart";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/URI-GoogleChart-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/URI-GoogleChart-1.02.tar.gz";
       sha256 = "00hq5cpsk7sa04n0wg52qhpqf9i2849yyvw2zk83ayh1qqpc50js";
     };
     propagatedBuildInputs = [ URI ];
@@ -20478,7 +20555,7 @@ let
      pname = "User-Identity";
      version = "0.99";
      src = fetchurl {
-       url = mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-0.99.tar.gz;
+       url = "mirror://cpan/authors/id/M/MA/MARKOV/User-Identity-0.99.tar.gz";
        sha256 = "0c2qwxgpqncm4ya3rb5zz2hgiwwf559j1b1a6llyarf9jy43hfzm";
      };
      meta = {
@@ -20491,7 +20568,7 @@ let
     pname = "URI-imap";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CW/CWEST/URI-imap-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/C/CW/CWEST/URI-imap-1.01.tar.gz";
       sha256 = "0bdv6mrdijcq46r3lmz801rscs63f8p9qqliy2safd6fds4rj55v";
     };
     propagatedBuildInputs = [ URI ];
@@ -20501,7 +20578,7 @@ let
     pname = "URI-Nested";
     version = "0.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-0.10.tar.gz;
+      url = "mirror://cpan/authors/id/D/DW/DWHEELER/URI-Nested-0.10.tar.gz";
       sha256 = "e1971339a65fbac63ab87142d4b59d3d259d51417753c77cb58ea31a8233efaf";
     };
     propagatedBuildInputs = [ URI ];
@@ -20515,7 +20592,7 @@ let
     pname = "URI-SmartURI";
     version = "0.032";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RK/RKITOVER/URI-SmartURI-0.032.tar.gz;
+      url = "mirror://cpan/authors/id/R/RK/RKITOVER/URI-SmartURI-0.032.tar.gz";
       sha256 = "0b2grkmkbnp37q85wj7jpj5zr93vdbisgxlls2vl5q928rwln5zb";
     };
     propagatedBuildInputs = [ ClassC3Componentised FileFindRule ListMoreUtils Moose URI namespaceclean ];
@@ -20530,7 +20607,7 @@ let
     pname = "URI-Template";
     version = "0.24";
     src = fetchurl {
-      url = mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-0.24.tar.gz;
+      url = "mirror://cpan/authors/id/B/BR/BRICAS/URI-Template-0.24.tar.gz";
       sha256 = "1phibcmam2hklrddzj79l43va1gcqpyszbw21ynxq53ynmhjvbk8";
     };
     propagatedBuildInputs = [ URI ];
@@ -20544,7 +20621,7 @@ let
     pname = "URI-ws";
     version = "0.03";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PL/PLICEASE/URI-ws-0.03.tar.gz;
+      url = "mirror://cpan/authors/id/P/PL/PLICEASE/URI-ws-0.03.tar.gz";
       sha256 = "6e6b0e4172acb6a53c222639c000608c2dd61d50848647482ac8600d50e541ef";
     };
     propagatedBuildInputs = [ URI ];
@@ -20559,7 +20636,7 @@ let
     pname = "UUID-Tiny";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CA/CAUGUSTIN/UUID-Tiny-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/C/CA/CAUGUSTIN/UUID-Tiny-1.04.tar.gz";
       sha256 = "6dcd92604d64e96cc6c188194ae16a9d3a46556224f77b6f3d1d1312b68f9a3d";
     };
     meta = {
@@ -20572,7 +20649,7 @@ let
     pname = "Variable-Magic";
     version = "0.62";
     src = fetchurl {
-      url = mirror://cpan/authors/id/V/VP/VPIT/Variable-Magic-0.62.tar.gz;
+      url = "mirror://cpan/authors/id/V/VP/VPIT/Variable-Magic-0.62.tar.gz";
       sha256 = "3f9a18517e33f006a9c2fc4f43f01b54abfe6ff2eae7322424f31069296b615c";
     };
     meta = {
@@ -20585,7 +20662,7 @@ let
     pname = "version";
     version = "0.9924";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JP/JPEACOCK/version-0.9924.tar.gz;
+      url = "mirror://cpan/authors/id/J/JP/JPEACOCK/version-0.9924.tar.gz";
       sha256 = "81e4485ff3faf9b7813584d57b557f4b34e73b6c2eb696394f6deefacf5ca65b";
     };
     meta = {
@@ -20613,7 +20690,7 @@ let
     pname = "VM-EC2";
     version = "1.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/L/LD/LDS/VM-EC2-1.28.tar.gz;
+      url = "mirror://cpan/authors/id/L/LD/LDS/VM-EC2-1.28.tar.gz";
       sha256 = "b2b6b31745c57431fca0efb9b9d0b8f168d6081755e048fd9d6c4469bd108acd";
     };
     propagatedBuildInputs = [ AnyEventCacheDNS AnyEventHTTP JSON StringApprox XMLSimple ];
@@ -20627,7 +20704,7 @@ let
     pname = "VM-EC2-Security-CredentialCache";
     version = "0.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RC/RCONOVER/VM-EC2-Security-CredentialCache-0.25.tar.gz;
+      url = "mirror://cpan/authors/id/R/RC/RCONOVER/VM-EC2-Security-CredentialCache-0.25.tar.gz";
       sha256 = "fc7e9c152ff2b721ccb221ac40089934775cf58366aedb5cc1693609f840937b";
     };
     propagatedBuildInputs = [ DateTimeFormatISO8601 VMEC2 ];
@@ -20641,13 +20718,13 @@ let
     pname = "W3C-LinkChecker";
     version = "4.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SC/SCOP/W3C-LinkChecker-4.81.tar.gz;
+      url = "mirror://cpan/authors/id/S/SC/SCOP/W3C-LinkChecker-4.81.tar.gz";
       sha256 = "6239f61b20d91dce7b21e4d4f626ab93a8f1e2f207da5015590d508cf6c66a65";
     };
     outputs = [ "out" ];
     propagatedBuildInputs = [ CGI CSSDOM ConfigGeneral LWP NetIP TermReadKey ];
     meta = {
-      homepage = https://validator.w3.org/checklink;
+      homepage = "https://validator.w3.org/checklink";
       description = "A tool to check links and anchors in Web pages or full Web sites";
       license = stdenv.lib.licenses.w3c;
     };
@@ -20657,7 +20734,7 @@ let
     pname = "WWW-Curl";
     version = "4.17";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz;
+      url = "mirror://cpan/authors/id/S/SZ/SZBALINT/WWW-Curl-4.17.tar.gz";
       sha256 = "1fmp9aib1kaps9vhs4dwxn7b15kgnlz9f714bxvqsd1j1q8spzsj";
     };
     patches = [ ../development/perl-modules/WWW-Curl-4.17-Skip-preprocessor-symbol-only-CURL_STRICTER.patch ];
@@ -20676,7 +20753,7 @@ let
      pname = "WWW-Form-UrlEncoded";
      version = "0.26";
      src = fetchurl {
-       url = mirror://cpan/authors/id/K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.26.tar.gz;
+       url = "mirror://cpan/authors/id/K/KA/KAZEBURO/WWW-Form-UrlEncoded-0.26.tar.gz";
        sha256 = "1x4h5m5fkwaa0gbn6zp9mjrhr3r989w8wyrjxiii3dqm3xghnj60";
      };
      meta = {
@@ -20690,7 +20767,7 @@ let
     pname = "WWW-Mechanize";
     version = "1.95";
     src = fetchurl {
-      url = mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.95.tar.gz;
+      url = "mirror://cpan/authors/id/O/OA/OALDERS/WWW-Mechanize-1.95.tar.gz";
       sha256 = "1w121x0xsn1bm699ncanyxqv3njqam3zzjkq8p54bqmzpikn5crs";
     };
     propagatedBuildInputs = [ HTMLForm HTMLTree LWP ];
@@ -20707,7 +20784,7 @@ let
     pname = "WWW-Mechanize-CGI";
     version = "0.3";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MR/MRAMBERG/WWW-Mechanize-CGI-0.3.tar.gz;
+      url = "mirror://cpan/authors/id/M/MR/MRAMBERG/WWW-Mechanize-CGI-0.3.tar.gz";
       sha256 = "046jm18liq7rwkdawdh9520cnalkfrk26yqryp7xgw71y65lvq61";
     };
     propagatedBuildInputs = [ HTTPRequestAsCGI WWWMechanize ];
@@ -20721,7 +20798,7 @@ let
     pname = "WWW-RobotRules";
     version = "6.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz;
+      url = "mirror://cpan/authors/id/G/GA/GAAS/WWW-RobotRules-6.02.tar.gz";
       sha256 = "07m50dp5n5jxv3m93i55qvnd67a6g7cvbvlik115kmc8lbkh5da6";
     };
     propagatedBuildInputs = [ URI ];
@@ -20737,7 +20814,7 @@ let
     pname = "Want";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RO/ROBIN/Want-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/R/RO/ROBIN/Want-0.29.tar.gz";
       sha256 = "1xsjylbxxcbkjazqms49ipi94j1hd2ykdikk29cq7dscil5p9r5l";
     };
   };
@@ -20746,7 +20823,7 @@ let
     pname = "Win32-ShellQuote";
     version = "0.003001";
     src = fetchurl {
-      url = mirror://cpan/authors/id/H/HA/HAARG/Win32-ShellQuote-0.003001.tar.gz;
+      url = "mirror://cpan/authors/id/H/HA/HAARG/Win32-ShellQuote-0.003001.tar.gz";
       sha256 = "aa74b0e3dc2d41cd63f62f853e521ffd76b8d823479a2619e22edb4049b4c0dc";
     };
     meta = {
@@ -20759,13 +20836,13 @@ let
     pname = "Workflow";
     version = "1.48";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.48.tar.gz;
+      url = "mirror://cpan/authors/id/J/JO/JONASBN/Workflow-1.48.tar.gz";
       sha256 = "0bz6gil9mygh5ikh8mf86ids9xb1dbgx9hqc1g68qn9ffsyb012f";
     };
     buildInputs = [ DBDMock ListMoreUtils PodCoverageTrustPod TestException TestKwalitee TestPod TestPodCoverage ];
     propagatedBuildInputs = [ ClassAccessor ClassFactory ClassObservable DBI DataUUID DateTimeFormatStrptime FileSlurp LogDispatch LogLog4perl XMLSimple ];
     meta = {
-      homepage = https://github.com/jonasbn/perl-workflow;
+      homepage = "https://github.com/jonasbn/perl-workflow";
       description = "Simple, flexible system to implement workflows";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -20775,7 +20852,7 @@ let
     pname = "Wx";
     version = "0.9932";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MD/MDOOTSON/Wx-0.9932.tar.gz;
+      url = "mirror://cpan/authors/id/M/MD/MDOOTSON/Wx-0.9932.tar.gz";
       sha256 = "0w0vcpk8bmklh16c0z1vxgipnmvdw7cckcmay7k7cihgb99vdz8w";
     };
     propagatedBuildInputs = [ AlienWxWidgets ];
@@ -20789,7 +20866,7 @@ let
     pname = "Wx-GLCanvas";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MB/MBARBON/Wx-GLCanvas-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/M/MB/MBARBON/Wx-GLCanvas-0.09.tar.gz";
       sha256 = "1q4gvj4gdx4l8k4mkgiix24p9mdfy1miv7abidf0my3gy2gw5lka";
     };
     propagatedBuildInputs = [ pkgs.libGLU Wx ];
@@ -20800,7 +20877,7 @@ let
     pname = "X11-IdleTime";
     version = "0.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AW/AWENDT/X11-IdleTime-0.09.tar.gz;
+      url = "mirror://cpan/authors/id/A/AW/AWENDT/X11-IdleTime-0.09.tar.gz";
       sha256 = "0j27cb9yy9ymni8cbiyxplbg086b8lv6b330nwqyx0briq3xrzfq";
     };
     buildInputs = [ pkgs.xorg.libXext pkgs.xorg.libXScrnSaver pkgs.xorg.libX11 ];
@@ -20815,7 +20892,7 @@ let
     pname = "X11-Protocol";
     version = "0.56";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SM/SMCCAM/X11-Protocol-0.56.tar.gz;
+      url = "mirror://cpan/authors/id/S/SM/SMCCAM/X11-Protocol-0.56.tar.gz";
       sha256 = "1dq89bh6fqv7l5mbffqcismcljpq5f869bx7g8lg698zgindv5ny";
     };
     buildInputs = [ pkgs.xlibsWrapper ];
@@ -20827,7 +20904,7 @@ let
     pname = "X11-Protocol-Other";
     version = "31";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-31.tar.gz;
+      url = "mirror://cpan/authors/id/K/KR/KRYDE/X11-Protocol-Other-31.tar.gz";
       sha256 = "1x3kvic52jgp2mvd5wzrqrprqi82cdk8l4075v8b33ksvj9mjqiw";
     };
     propagatedBuildInputs = [ X11Protocol ];
@@ -20843,7 +20920,7 @@ let
     pname = "X11-GUITest";
     version = "0.28";
     src = fetchurl {
-      url = mirror://cpan/authors/id/C/CT/CTRONDLP/X11-GUITest-0.28.tar.gz;
+      url = "mirror://cpan/authors/id/C/CT/CTRONDLP/X11-GUITest-0.28.tar.gz";
       sha256 = "0jznws68skdzkhgkgcgjlj40qdyh9i75r7fw8bqzy406f19xxvnw";
     };
     buildInputs = [ pkgs.xlibsWrapper pkgs.xorg.libXtst pkgs.xorg.libXi ];
@@ -20855,7 +20932,7 @@ let
     pname = "X11-XCB";
     version = "0.18";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSTPLBG/X11-XCB-0.18.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSTPLBG/X11-XCB-0.18.tar.gz";
       sha256 = "1cjpghw7cnackw20lbd7yzm222kz5bnrwz52f8ay24d1f4pwrnxf";
     };
     AUTOMATED_TESTING = false;
@@ -20873,7 +20950,7 @@ let
     pname = "XML-Descent";
     version = "1.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/A/AN/ANDYA/XML-Descent-1.04.tar.gz;
+      url = "mirror://cpan/authors/id/A/AN/ANDYA/XML-Descent-1.04.tar.gz";
       sha256 = "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7";
     };
     buildInputs = [ TestDifferences ];
@@ -20888,7 +20965,7 @@ let
     pname = "XML-DOM";
     version = "1.46";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz;
+      url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-DOM-1.46.tar.gz";
       sha256 = "0phpkc4li43m2g44hdcvyxzy9pymqwlqhh5hwp2xc0cv8l5lp8lb";
     };
     propagatedBuildInputs = [ XMLRegExp libxml_perl ];
@@ -20898,7 +20975,7 @@ let
     pname = "XML-FeedPP";
     version = "0.95";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/XML-FeedPP-0.95.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-FeedPP-0.95.tar.gz";
       sha256 = "1x5806xwmbqxr1dkdhalb6d7n31s3ya776klkai7c2x6y6drbhwh";
     };
     propagatedBuildInputs = [ XMLTreePP ];
@@ -20912,7 +20989,7 @@ let
     pname = "XML-Filter-BufferText";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/R/RB/RBERJON/XML-Filter-BufferText-1.01.tar.gz";
       sha256 = "8fd2126d3beec554df852919f4739e689202cbba6a17506e9b66ea165841a75c";
     };
     doCheck = false;
@@ -20922,7 +20999,7 @@ let
     pname = "XML-Filter-XInclude";
     version = "1.0";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Filter-XInclude-1.0.tar.gz;
+      url = "mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Filter-XInclude-1.0.tar.gz";
       sha256 = "98746f3c1f6f049491fec203d455bb8f8c9c6e250f041904dda5d78e21187f93";
     };
     doCheck = false;
@@ -20932,7 +21009,7 @@ let
     pname = "XML-Grove";
     version = "0.46alpha";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KM/KMACLEOD/XML-Grove-0.46alpha.tar.gz;
+      url = "mirror://cpan/authors/id/K/KM/KMACLEOD/XML-Grove-0.46alpha.tar.gz";
       sha256 = "05yis1ms7cgwjh57k57whrmalb3ha0bjr9hyvh7cnadcyiynvdpw";
     };
     buildInputs = [ pkgs.libxml2 ];
@@ -20949,7 +21026,7 @@ let
     pname = "XML-Handler-YAWriter";
     version = "0.23";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KR/KRAEHE/XML-Handler-YAWriter-0.23.tar.gz;
+      url = "mirror://cpan/authors/id/K/KR/KRAEHE/XML-Handler-YAWriter-0.23.tar.gz";
       sha256 = "11d45a1sz862va9rry3p2m77pwvq3kpsvgwhc5ramh9mbszbnk77";
     };
     propagatedBuildInputs = [ libxml_perl ];
@@ -20962,7 +21039,7 @@ let
     pname = "XML-LibXML";
     version = "2.0202";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0202.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0202.tar.gz";
       sha256 = "1bp2d5jpfmp35f2giwqx60q2rmzq469szkxzfcqkd742x72h4ayc";
     };
     SKIP_SAX_INSTALL = 1;
@@ -20974,7 +21051,7 @@ let
     pname = "XML-LibXML-Simple";
     version = "1.01";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-1.01.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MARKOV/XML-LibXML-Simple-1.01.tar.gz";
       sha256 = "cd98c8104b70d7672bfa26b4513b78adf2b4b9220e586aa8beb1a508500365a6";
     };
     propagatedBuildInputs = [ XMLLibXML ];
@@ -20988,7 +21065,7 @@ let
     pname = "XML-LibXSLT";
     version = "1.99";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.99.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXSLT-1.99.tar.gz";
       sha256 = "1w7pn0wb88nma6biy4h05ak3j4ykma6vz1wbkrxy8qgvfyl1fzhj";
     };
     buildInputs = [ pkgs.pkgconfig pkgs.zlib pkgs.libxml2 pkgs.libxslt ];
@@ -20999,7 +21076,7 @@ let
     pname = "XML-Mini";
     version = "1.38";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PD/PDEEGAN/XML-Mini-1.38.tar.gz;
+      url = "mirror://cpan/authors/id/P/PD/PDEEGAN/XML-Mini-1.38.tar.gz";
       sha256 = "af803d38036a3184e124a682e5466f1bc107f48a89ef35b0c7647e11a073fe2d";
     };
     meta = {
@@ -21011,7 +21088,7 @@ let
     pname = "XML-NamespaceSupport";
     version = "1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-NamespaceSupport-1.12.tar.gz";
       sha256 = "1vz5pbi4lm5fhq2slrs2hlp6bnk29863abgjlcx43l4dky2rbsa7";
     };
   };
@@ -21020,7 +21097,7 @@ let
     pname = "XML-Parser";
     version = "2.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-2.44.tar.gz";
       sha256 = "05ij0g6bfn27iaggxf8nl5rhlwx6f6p6xmdav6rjcly3x5zd1s8s";
     };
     patchPhase = stdenv.lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
@@ -21036,7 +21113,7 @@ let
     pname = "XML-Parser-Lite";
     version = "0.722";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz;
+      url = "mirror://cpan/authors/id/P/PH/PHRED/XML-Parser-Lite-0.722.tar.gz";
       sha256 = "1vk3jwh1kfcsmc5kvxzqdnb1cllvf0yf27fg0ra0w6jkw4ks143g";
     };
     buildInputs = [ TestRequires ];
@@ -21050,7 +21127,7 @@ let
     pname = "XML-XPath";
     version = "1.44";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MA/MANWAR/XML-XPath-1.44.tar.gz;
+      url = "mirror://cpan/authors/id/M/MA/MANWAR/XML-XPath-1.44.tar.gz";
       sha256 = "1cc9110705165dc09dd09974dd7c0b6709c9351d6b6b1cef5a711055f891dd0f";
     };
     buildInputs = [ PathTiny ];
@@ -21065,7 +21142,7 @@ let
     pname = "XML-XPathEngine";
     version = "0.14";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIROD/XML-XPathEngine-0.14.tar.gz";
       sha256 = "0r72na14bmsxfd16s9nlza155amqww0k8wsa9x2a3sqbpp5ppznj";
     };
     meta = {
@@ -21077,7 +21154,7 @@ let
     pname = "XML-RegExp";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/T/TJ/TJMATHER/XML-RegExp-0.04.tar.gz";
       sha256 = "0m7wj00a2kik7wj0azhs1zagwazqh3hlz4255n75q21nc04r06fz";
     };
   };
@@ -21086,12 +21163,12 @@ let
     pname = "XML-RSS";
     version = "1.61";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.61.tar.gz;
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-RSS-1.61.tar.gz";
       sha256 = "fa6fe7ce5d31800a2bd414ef39da48c7f2b26b073a3c1f0d677bda26e840c90d";
     };
     propagatedBuildInputs = [ DateTimeFormatMail DateTimeFormatW3CDTF XMLParser ];
     meta = {
-      homepage = http://perl-rss.sourceforge.net/;
+      homepage = "http://perl-rss.sourceforge.net/";
       description = "Creates and updates RSS files";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -21101,7 +21178,7 @@ let
     pname = "XML-SAX";
     version = "1.02";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-1.02.tar.gz";
       sha256 = "0am13vnv8qsjafr5ljakwnkhlwpk15sga02z8mxsg9is0j3w61j5";
     };
     propagatedBuildInputs = [ XMLNamespaceSupport XMLSAXBase ];
@@ -21114,12 +21191,12 @@ let
     pname = "XML-SAX-Base";
     version = "1.09";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-SAX-Base-1.09.tar.gz";
       sha256 = "66cb355ba4ef47c10ca738bd35999723644386ac853abbeb5132841f5e8a2ad0";
     };
     meta = {
       description = "Base class for SAX Drivers and Filters";
-      homepage = https://github.com/grantm/XML-SAX-Base;
+      homepage = "https://github.com/grantm/XML-SAX-Base";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
@@ -21128,7 +21205,7 @@ let
      pname = "XML-SAX-Expat";
      version = "0.51";
      src = fetchurl {
-       url = mirror://cpan/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz;
+       url = "mirror://cpan/authors/id/B/BJ/BJOERN/XML-SAX-Expat-0.51.tar.gz";
        sha256 = "0gy8h2bvvvlxychwsb99ikdh5cqpk6sqc073jk2b4zffs09n40ac";
      };
      propagatedBuildInputs = [ XMLParser XMLSAX ];
@@ -21144,12 +21221,12 @@ let
     pname = "XML-SAX-Writer";
     version = "0.57";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SAX-Writer-0.57.tar.gz";
       sha256 = "3d61d07ef43b0126f5b4de4f415a256fa859fa88dc4fdabaad70b7be7c682cf0";
     };
     propagatedBuildInputs = [ XMLFilterBufferText XMLNamespaceSupport XMLSAXBase ];
     meta = {
-      homepage = https://github.com/perigrin/xml-sax-writer;
+      homepage = "https://github.com/perigrin/xml-sax-writer";
       description = "SAX2 XML Writer";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -21159,7 +21236,7 @@ let
     pname = "XML-SemanticDiff";
     version = "1.0007";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SemanticDiff-1.0007.tar.gz;
+      url = "mirror://cpan/authors/id/P/PE/PERIGRIN/XML-SemanticDiff-1.0007.tar.gz";
       sha256 = "1xd00821y795fy2rag8aizb5wsbbzfxgmdf9qwpvdxn3pgpyzz85";
     };
     propagatedBuildInputs = [ XMLParser ];
@@ -21169,7 +21246,7 @@ let
     pname = "XML-Simple";
     version = "2.25";
     src = fetchurl {
-      url = mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz;
+      url = "mirror://cpan/authors/id/G/GR/GRANTM/XML-Simple-2.25.tar.gz";
       sha256 = "1y6vh328zrh085d40852v4ij2l4g0amxykswxd1nfhd2pspds7sk";
     };
     propagatedBuildInputs = [ XMLSAXExpat ];
@@ -21179,7 +21256,7 @@ let
     pname = "XML-TokeParser";
     version = "0.05";
     src = fetchurl {
-      url = mirror://cpan/authors/id/P/PO/PODMASTER/XML-TokeParser-0.05.tar.gz;
+      url = "mirror://cpan/authors/id/P/PO/PODMASTER/XML-TokeParser-0.05.tar.gz";
       sha256 = "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5";
     };
     propagatedBuildInputs = [ XMLParser ];
@@ -21193,7 +21270,7 @@ let
     pname = "XML-TreePP";
     version = "0.43";
     src = fetchurl {
-      url = mirror://cpan/authors/id/K/KA/KAWASAKI/XML-TreePP-0.43.tar.gz;
+      url = "mirror://cpan/authors/id/K/KA/KAWASAKI/XML-TreePP-0.43.tar.gz";
       sha256 = "7fbe2d6430860059894aeeebf75d4cacf1bf8d7b75294eb87d8e1502f81bd760";
     };
     propagatedBuildInputs = [ LWP ];
@@ -21207,7 +21284,7 @@ let
     pname = "XML-Twig";
     version = "3.52";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIROD/XML-Twig-3.52.tar.gz";
       sha256 = "1bc0hrz4jp6199hi29sdxmb9gyy45whla9hd19yqfasgq8k5ixzy";
     };
     postInstall = ''
@@ -21222,7 +21299,7 @@ let
     pname = "XML-Validator-Schema";
     version = "1.10";
     src = fetchurl {
-      url = mirror://cpan/authors/id/S/SA/SAMTREGAR/XML-Validator-Schema-1.10.tar.gz;
+      url = "mirror://cpan/authors/id/S/SA/SAMTREGAR/XML-Validator-Schema-1.10.tar.gz";
       sha256 = "6142679580150a891f7d32232b5e31e2b4e5e53e8a6fa9cbeecb5c23814f1422";
     };
     propagatedBuildInputs = [ TreeDAGNode XMLFilterBufferText XMLSAX ];
@@ -21235,7 +21312,7 @@ let
     pname = "XML-Writer";
     version = "0.625";
     src = fetchurl {
-      url = mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-0.625.tar.gz;
+      url = "mirror://cpan/authors/id/J/JO/JOSEPHW/XML-Writer-0.625.tar.gz";
       sha256 = "1gjzs570i67ywbv967g8ylb5sg59clwmyrl2yix3jl70dhn55070";
     };
   };
@@ -21244,7 +21321,7 @@ let
     pname = "XS-Object-Magic";
     version = "0.04";
     src = fetchurl {
-      url = mirror://cpan/authors/id/F/FL/FLORA/XS-Object-Magic-0.04.tar.gz;
+      url = "mirror://cpan/authors/id/F/FL/FLORA/XS-Object-Magic-0.04.tar.gz";
       sha256 = "03fghj7hq0fiicmfdxhmzfm4mzv7s097pgkd32ji7jnljvhm9six";
     };
     buildInputs = [ ExtUtilsDepends TestFatal ];
@@ -21258,7 +21335,7 @@ let
     pname = "XXX";
     version = "0.35";
     src = fetchurl {
-      url = mirror://cpan/authors/id/I/IN/INGY/XXX-0.35.tar.gz;
+      url = "mirror://cpan/authors/id/I/IN/INGY/XXX-0.35.tar.gz";
       sha256 = "1azk2h3d2vxc84zpa34gr0dvhvf5qkwbaidy3ks0gkkx9463crm6";
     };
     propagatedBuildInputs = [ YAMLPP ];
@@ -21273,7 +21350,7 @@ let
     pname = "YAML";
     version = "1.30";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/YAML-1.30.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-1.30.tar.gz";
       sha256 = "1kbrfksjg4k4vmx1i337m5n69m00m0m5bgsh61c15bzzrgbacc2h";
     };
 
@@ -21290,7 +21367,7 @@ let
     pname = "YAML-Syck";
     version = "1.32";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.32.tar.gz;
+      url = "mirror://cpan/authors/id/T/TO/TODDR/YAML-Syck-1.32.tar.gz";
       sha256 = "1fz9r9vvsmjkzvcbznxw65b319vkmwzd0ck09q9nwip00gn907fv";
     };
     meta = {
@@ -21303,7 +21380,7 @@ let
     pname = "YAML-Tiny";
     version = "1.73";
     src = fetchurl {
-      url = mirror://cpan/authors/id/E/ET/ETHER/YAML-Tiny-1.73.tar.gz;
+      url = "mirror://cpan/authors/id/E/ET/ETHER/YAML-Tiny-1.73.tar.gz";
       sha256 = "0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw";
     };
   };
@@ -21312,7 +21389,7 @@ let
     pname = "YAML-LibYAML";
     version = "0.81";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-0.81.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-LibYAML-0.81.tar.gz";
       sha256 = "1rwmy4kywaa0hypy329gb8wbqdk01bv4179bbnjbg66kzl5ndpvh";
     };
   };
@@ -21321,7 +21398,7 @@ let
     pname = "YAML-PP";
     version = "0.018";
     src = fetchurl {
-      url = mirror://cpan/authors/id/T/TI/TINITA/YAML-PP-0.018.tar.gz;
+      url = "mirror://cpan/authors/id/T/TI/TINITA/YAML-PP-0.018.tar.gz";
       sha256 = "1s957svv1z4sz62s53n5ym3c0liafs2gl8r0m7xq9qgcb9dyvblx";
     };
     buildInputs = [ TestDeep TestWarn ];
@@ -21335,13 +21412,13 @@ let
     pname = "WebService-Linode";
     version = "0.29";
     src = fetchurl {
-      url = mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.29.tar.gz;
+      url = "mirror://cpan/authors/id/M/MI/MIKEGRB/WebService-Linode-0.29.tar.gz";
       sha256 = "103aab245304f08e9e87ac7bc884ddb44a630de6bac077dc921f716d71154922";
     };
     buildInputs = [ ModuleBuildTiny ];
     propagatedBuildInputs = [ JSON LWPProtocolHttps ];
     meta = {
-      homepage = https://github.com/mikegrb/WebService-Linode;
+      homepage = "https://github.com/mikegrb/WebService-Linode";
       description = "Perl Interface to the Linode.com API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };