summary refs log tree commit diff
diff options
context:
space:
mode:
authorTobias Geerinckx-Rice <me@tobias.gr>2018-08-11 15:53:20 +0200
committerTobias Geerinckx-Rice <me@tobias.gr>2018-08-11 17:22:31 +0200
commit9aba9b127840a116c806a2cbac901cf8077abcd0 (patch)
tree27ab0f7bf6c212c0a8ba911532f904945351eb27
parentab45b38feada5bf4721c8f1018b9cc9d7250069e (diff)
downloadguix-9aba9b127840a116c806a2cbac901cf8077abcd0.tar.gz
Migrate search.cpan.org home pages to metacpan.org.
The venerable search.cpan.org has retired[0].

[0]: https://log.perl.org/2018/05/goodbye-search-dot-cpan-dot-org.html

* guix/import/cpan.scm (cpan-home): Generate metacpan.org home page URIs.
Update all previously generated ones in (gnu packages) to their
canonical new homes.
-rw-r--r--gnu/packages/bioinformatics.scm2
-rw-r--r--gnu/packages/compression.scm10
-rw-r--r--gnu/packages/crypto.scm8
-rw-r--r--gnu/packages/databases.scm24
-rw-r--r--gnu/packages/freedesktop.scm6
-rw-r--r--gnu/packages/gd.scm4
-rw-r--r--gnu/packages/glib.scm6
-rw-r--r--gnu/packages/gnupg.scm2
-rw-r--r--gnu/packages/gtk.scm6
-rw-r--r--gnu/packages/imagemagick.scm2
-rw-r--r--gnu/packages/language.scm36
-rw-r--r--gnu/packages/libevent.scm4
-rw-r--r--gnu/packages/license.scm8
-rw-r--r--gnu/packages/mail.scm20
-rw-r--r--gnu/packages/markup.scm2
-rw-r--r--gnu/packages/ncurses.scm2
-rw-r--r--gnu/packages/networking.scm14
-rw-r--r--gnu/packages/perl-check.scm102
-rw-r--r--gnu/packages/perl.scm766
-rw-r--r--gnu/packages/photo.scm2
-rw-r--r--gnu/packages/tcl.scm2
-rw-r--r--gnu/packages/tex.scm4
-rw-r--r--gnu/packages/tls.scm10
-rw-r--r--gnu/packages/web.scm182
-rw-r--r--gnu/packages/wm.scm2
-rw-r--r--gnu/packages/xml.scm58
-rw-r--r--guix/import/cpan.scm4
27 files changed, 644 insertions, 644 deletions
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 13572b0c75..fe75744a28 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -720,7 +720,7 @@ e.g. microbiome samples, genomes, metagenomes.")
       (inputs inputs)
       (native-inputs
        `(("perl-test-most" ,perl-test-most)))
-      (home-page "http://search.cpan.org/dist/BioPerl")
+      (home-page "https://metacpan.org/release/BioPerl")
       (synopsis "Bioinformatics toolkit")
       (description
        "BioPerl is the product of a community effort to produce Perl code which
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index d5aab77f55..8acdcd97ef 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -675,7 +675,7 @@ decompression of some loosely related file formats used by Microsoft.")
          "081mpkjy688lg48997fqh3d7ja12vazmz02fw84495civg4vb4l6"))))
     (build-system perl-build-system)
     ;; TODO: Use our bzip2 package.
-    (home-page "http://search.cpan.org/dist/Compress-Raw-Bzip2")
+    (home-page "https://metacpan.org/release/Compress-Raw-Bzip2")
     (synopsis "Low-level interface to bzip2 compression library")
     (description "This module provides a Perl interface to the bzip2
 compression library.")
@@ -710,7 +710,7 @@ LIB = ~:*~a/lib
 OLD_ZLIB = False
 GZIP_OS_CODE = AUTO_DETECT"
                                  (assoc-ref inputs "zlib")))))))))
-    (home-page "http://search.cpan.org/dist/Compress-Raw-Zlib")
+    (home-page "https://metacpan.org/release/Compress-Raw-Zlib")
     (synopsis "Low-level interface to zlib compression library")
     (description "This module provides a Perl interface to the zlib
 compression library.")
@@ -732,7 +732,7 @@ compression library.")
     (propagated-inputs
      `(("perl-compress-raw-zlib" ,perl-compress-raw-zlib)     ; >=2.081
        ("perl-compress-raw-bzip2" ,perl-compress-raw-bzip2))) ; >=2.081
-    (home-page "http://search.cpan.org/dist/IO-Compress")
+    (home-page "https://metacpan.org/release/IO-Compress")
     (synopsis "IO Interface to compressed files/buffers")
     (description "IO-Compress provides a Perl interface to allow reading and
 writing of compressed data created with the zlib and bzip2 libraries.")
@@ -1928,7 +1928,7 @@ recreates the stored directory structure by default.")
     (synopsis  "Provides an interface to Zip archive files")
     (description "The @code{Archive::Zip} module allows a Perl program to
 create, manipulate, read, and write Zip archive files.")
-    (home-page "http://search.cpan.org/dist/Archive-Zip/")
+    (home-page "https://metacpan.org/release/Archive-Zip")
     (license license:perl-license)))
 
 (define-public libzip
@@ -2004,7 +2004,7 @@ of archives.")
         (base32
          "1x15j1q6w6z8hqyqgap0lz4qbq2174wfhksy1fdd653ccbaw5jr5"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Archive-Extract/")
+    (home-page "https://metacpan.org/release/Archive-Extract")
     (synopsis "Generic archive extracting mechanism")
     (description "It allows you to extract any archive file of the type .tar,
 .tar.gz, .gz, .Z, tar.bz2, .tbz, .bz2, .zip, .xz,, .txz, .tar.xz or .lzma
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 87cae1e305..ae6150b0ab 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -523,7 +523,7 @@ attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-nowarnings" ,perl-test-nowarnings)))
-    (home-page "http://search.cpan.org/dist/Math-Random-ISAAC-XS")
+    (home-page "https://metacpan.org/release/Math-Random-ISAAC-XS")
     (synopsis "C implementation of the ISAAC PRNG algorithm")
     (description "ISAAC (Indirection, Shift, Accumulate, Add, and Count) is a
 fast pseudo-random number generator.  It is suitable for applications where a
@@ -551,7 +551,7 @@ This package implements the same interface as @code{Math::Random::ISAAC}.")
      `(("perl-test-nowarnings" ,perl-test-nowarnings)))
     (propagated-inputs
      `(("perl-math-random-isaac-xs" ,perl-math-random-isaac-xs)))
-    (home-page "http://search.cpan.org/dist/Math-Random-ISAAC")
+    (home-page "https://metacpan.org/release/Math-Random-ISAAC")
     (synopsis "Perl interface to the ISAAC PRNG algorithm")
     (description "ISAAC (Indirection, Shift, Accumulate, Add, and Count) is a
 fast pseudo-random number generator.  It is suitable for applications where a
@@ -587,7 +587,7 @@ generator.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-sub-exporter" ,perl-sub-exporter)
        ("perl-type-tiny" ,perl-type-tiny)))
-    (home-page "http://search.cpan.org/dist/Crypt-Random-Source")
+    (home-page "https://metacpan.org/release/Crypt-Random-Source")
     (synopsis "Get weak or strong random data from pluggable sources")
     (description "This module provides implementations for a number of
 byte-oriented sources of random data.")
@@ -616,7 +616,7 @@ byte-oriented sources of random data.")
        ("perl-math-random-isaac" ,perl-math-random-isaac)
        ("perl-math-random-isaac-xs" ,perl-math-random-isaac-xs)
        ("perl-moo" ,perl-moo)))
-    (home-page "http://search.cpan.org/dist/Math-Random-Secure")
+    (home-page "https://metacpan.org/release/Math-Random-Secure")
     (synopsis "Cryptographically secure replacement for rand()")
     (description "This module is intended to provide a
 cryptographically-secure replacement for Perl's built-in @code{rand} function.
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 7b056eb13b..4b576e25b7 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -1135,7 +1135,7 @@ extremely small.")
     (build-system perl-build-system)
     (synopsis "Database independent interface for Perl")
     (description "This package provides an database interface for Perl.")
-    (home-page "http://search.cpan.org/dist/DBI")
+    (home-page "https://metacpan.org/release/DBI")
     (license license:perl-license)))
 
 (define-public perl-dbix-class
@@ -1181,7 +1181,7 @@ extremely small.")
        ("perl-sub-name" ,perl-sub-name)
        ("perl-text-balanced" ,perl-text-balanced)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/DBIx-Class")
+    (home-page "https://metacpan.org/release/DBIx-Class")
     (synopsis "Extensible and flexible object <-> relational mapper")
     (description "An SQL to OO mapper with an object API inspired by
 Class::DBI (with a compatibility layer as a springboard for porting) and a
@@ -1213,7 +1213,7 @@ single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",
     (propagated-inputs
      `(("perl-carp-clan" ,perl-carp-clan)
        ("perl-dbix-class" ,perl-dbix-class)))
-    (home-page "http://search.cpan.org/dist/DBIx-Class-Cursor-Cached")
+    (home-page "https://metacpan.org/release/DBIx-Class-Cursor-Cached")
     (synopsis "Cursor with built-in caching support")
     (description "DBIx::Class::Cursor::Cached provides a cursor class with
 built-in caching support.")
@@ -1236,7 +1236,7 @@ built-in caching support.")
      `(("perl-module-install" ,perl-module-install)))
     (propagated-inputs
      `(("perl-dbix-class" ,perl-dbix-class)))
-    (home-page "http://search.cpan.org/dist/DBIx-Class-IntrospectableM2M")
+    (home-page "https://metacpan.org/release/DBIx-Class-IntrospectableM2M")
     (synopsis "Introspect many-to-many relationships")
     (description "Because the many-to-many relationships are not real
 relationships, they can not be introspected with DBIx::Class.  Many-to-many
@@ -1295,7 +1295,7 @@ introspected and examined.")
        ("perl-sub-name" ,perl-sub-name)
        ("perl-try-tiny" ,perl-try-tiny)))
     (arguments `(#:tests? #f))          ;TODO: t/20invocations.t fails
-    (home-page "http://search.cpan.org/dist/DBIx-Class-Schema-Loader")
+    (home-page "https://metacpan.org/release/DBIx-Class-Schema-Loader")
     (synopsis "Create a DBIx::Class::Schema based on a database")
     (description "DBIx::Class::Schema::Loader automates the definition of a
 DBIx::Class::Schema by scanning database table definitions and setting up the
@@ -1320,7 +1320,7 @@ columns, primary keys, unique constraints and relationships.")
     (propagated-inputs
      `(("perl-dbi" ,perl-dbi)
        ("postgresql" ,postgresql)))
-    (home-page "http://search.cpan.org/dist/DBD-Pg")
+    (home-page "https://metacpan.org/release/DBD-Pg")
     (synopsis "DBI PostgreSQL interface")
     (description "This package provides a PostgreSQL driver for the Perl5
 @dfn{Database Interface} (DBI).")
@@ -1345,7 +1345,7 @@ columns, primary keys, unique constraints and relationships.")
     (propagated-inputs
      `(("perl-dbi" ,perl-dbi)
        ("mysql" ,mysql)))
-    (home-page "http://search.cpan.org/dist/DBD-mysql")
+    (home-page "https://metacpan.org/release/DBD-mysql")
     (synopsis "DBI MySQL interface")
     (description "This package provides a MySQL driver for the Perl5
 @dfn{Database Interface} (DBI).")
@@ -1372,7 +1372,7 @@ the entire thing in the distribution.  So in order to get a fast transaction
 capable RDBMS working for your Perl project you simply have to install this
 module, and nothing else.")
     (license license:perl-license)
-    (home-page "http://search.cpan.org/~ishigaki/DBD-SQLite/lib/DBD/SQLite.pm")))
+    (home-page "https://metacpan.org/release/DBD-SQLite")))
 
 (define-public perl-sql-abstract
   (package
@@ -1397,7 +1397,7 @@ module, and nothing else.")
        ("perl-moo" ,perl-moo)
        ("perl-mro-compat" ,perl-mro-compat)
        ("perl-text-balanced" ,perl-text-balanced)))
-    (home-page "http://search.cpan.org/dist/SQL-Abstract")
+    (home-page "https://metacpan.org/release/SQL-Abstract")
     (synopsis "Generate SQL from Perl data structures")
     (description "This module was inspired by the excellent DBIx::Abstract.
 While based on the concepts used by DBIx::Abstract, the concepts used have
@@ -1427,7 +1427,7 @@ time your data changes.")
        ("perl-list-moreutils" ,perl-list-moreutils)
        ("perl-regexp-common" ,perl-regexp-common)
        ("perl-sql-tokenizer" ,perl-sql-tokenizer)))
-    (home-page "http://search.cpan.org/dist/SQL-SplitStatement")
+    (home-page "https://metacpan.org/release/SQL-SplitStatement")
     (synopsis "Split SQL code into atomic statements")
     (description "This module tries to split any SQL code, even including
 non-standard extensions, into the atomic statements it is composed of.")
@@ -1446,7 +1446,7 @@ non-standard extensions, into the atomic statements it is composed of.")
         (base32
          "1qa2dfbzdlr5qqdam9yn78z5w3al5r8577x06qan8wv58ay6ka7s"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/SQL-Tokenizer")
+    (home-page "https://metacpan.org/release/SQL-Tokenizer")
     (synopsis "SQL tokenizer")
     (description "SQL::Tokenizer is a tokenizer for SQL queries.  It does not
 claim to be a parser or query verifier.  It just creates sane tokens from a
@@ -1689,7 +1689,7 @@ database.  Various higher level database abstractions.")
                      (substitute* "config.in"
                        (("/usr/local/BerkeleyDB") (assoc-ref inputs "bdb")))
                      #t)))))
-  (home-page "http://search.cpan.org/dist/DB_File")
+  (home-page "https://metacpan.org/release/DB_File")
   (synopsis
     "Perl5 access to Berkeley DB version 1.x")
   (description
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index a76a36ff58..3ca8aceeb5 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1179,7 +1179,7 @@ manually by a user.")
        ("xdg-user-dirs" ,xdg-user-dirs)))
     (propagated-inputs
      `(("perl-ipc-system-simple" ,perl-ipc-system-simple)))
-    (home-page "http://search.cpan.org/dist/File-BaseDir/")
+    (home-page "https://metacpan.org/release/File-BaseDir")
     (synopsis "Use the Freedesktop.org base directory specification")
     (description
      "@code{File::Basedir} can be used to find directories and files as
@@ -1207,7 +1207,7 @@ application data and cache data.")
     (propagated-inputs
      `(("perl-file-basedir" ,perl-file-basedir)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/~michielb/File-DesktopEntry/")
+    (home-page "https://metacpan.org/release/File-DesktopEntry")
     (synopsis "Handle @file{.desktop} files")
     (description
      "@code{File::DesktopEntry} parses @file{.desktop} files defined by the
@@ -1249,7 +1249,7 @@ applications define in those files.")
                                                 "/lib/perl5/site_perl")))))
                          '("mimeopen" "mimetype")))
              #t)))))
-    (home-page "http://search.cpan.org/dist/File-MimeInfo/")
+    (home-page "https://metacpan.org/release/File-MimeInfo")
     (synopsis "Determine file type from the file name")
     (description
      "@code{File::Mimeinfo} can be used to determine the MIME type of a file.
diff --git a/gnu/packages/gd.scm b/gnu/packages/gd.scm
index c815cdd7ea..56553a6745 100644
--- a/gnu/packages/gd.scm
+++ b/gnu/packages/gd.scm
@@ -115,7 +115,7 @@ most common applications of GD involve website development.")
      `(#:make-maker-flags
        (list (string-append "--lib_jpeg_path="
                             (assoc-ref %build-inputs "libjpeg")))))
-    (home-page "http://search.cpan.org/dist/GD")
+    (home-page "https://metacpan.org/release/GD")
     (synopsis "Perl interface to the GD graphics library")
     (description "GD.pm is an autoloadable interface module for libgd, a
 popular library for creating and manipulating PNG files.  With this library
@@ -145,7 +145,7 @@ you can create PNG images on the fly or modify existing files.")
     (propagated-inputs
      `(("perl-gd" ,perl-gd)
        ("perl-image-magick" ,perl-image-magick)))
-    (home-page "http://search.cpan.org/dist/GD-SecurityImage")
+    (home-page "https://metacpan.org/release/GD-SecurityImage")
     (synopsis "Security image generator")
     (description "This module provides a basic interface to create
 security (captcha) images.  The final output is the actual graphic data, the
diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index adf85ed66e..b438c61c8d 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -685,7 +685,7 @@ useful for C++.")
        ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)))
     (inputs
      `(("glib" ,glib)))
-    (home-page "http://search.cpan.org/dist/Glib/")
+    (home-page "https://metacpan.org/release/Glib")
     (synopsis "Perl wrappers for the GLib utility and Object libraries")
     (description "This module provides perl access to GLib and GLib's GObject
 libraries.  GLib is a portability and utility library; GObject provides a
@@ -854,7 +854,7 @@ metadata.")
      `(("dbus" ,dbus)))
     (propagated-inputs
      `(("perl-xml-twig" ,perl-xml-twig)))
-    (home-page "http://search.cpan.org/dist/Net-DBus/")
+    (home-page "https://metacpan.org/release/Net-DBus")
     (synopsis "Extension for the DBus bindings")
     (description "@code{Net::DBus} provides a Perl XS API to the DBus
 inter-application messaging system.  The Perl API covers the core base level
@@ -878,7 +878,7 @@ of the DBus APIs, not concerning itself yet with the GLib or QT wrappers.")
      `(("pkg-config" ,pkg-config)))
     (inputs
      `(("dbus-glib" ,dbus-glib)))
-    (home-page "http://search.cpan.org/dist/Net-DBus-GLib/")
+    (home-page "https://metacpan.org/release/Net-DBus-GLib")
     (synopsis "Perl extension for the DBus GLib bindings")
     (description "This package provides an extension to the @code{Net::DBus}
 module allowing integration with the GLib mainloop.  To integrate with the
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index c095a966c2..70e7ddbe58 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -585,7 +585,7 @@ and signature functionality from Python programs.")
     (native-inputs
      `(("which" ,which)
        ("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/GnuPG-Interface/")
+    (home-page "https://metacpan.org/release/GnuPG-Interface")
     (synopsis "Perl interface to GnuPG")
     (description "@code{GnuPG::Interface} and its associated modules are
 designed to provide an object-oriented method for interacting with GnuPG,
diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index c378a53075..429b0579c8 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -1289,7 +1289,7 @@ write GNOME applications.")
        ("perl-extutils-pkgconfig" ,perl-extutils-pkgconfig)))
     (inputs
      `(("cairo" ,cairo)))
-    (home-page "http://search.cpan.org/dist/Cairo/")
+    (home-page "https://metacpan.org/release/Cairo")
     (synopsis "Perl interface to the cairo 2d vector graphics library")
     (description "Cairo provides Perl bindings for the vector graphics library
 cairo.  It supports multiple output targets, including PNG, PDF and SVG.  Cairo
@@ -1315,7 +1315,7 @@ produces identical output on all those targets.")
      `(("gtk+" ,gtk+-2)))
     (propagated-inputs
      `(("perl-pango" ,perl-pango)))
-    (home-page "http://search.cpan.org/dist/Gtk2/")
+    (home-page "https://metacpan.org/release/Gtk2")
     (synopsis "Perl interface to the 2.x series of the Gimp Toolkit library")
     (description "Perl bindings to the 2.x series of the Gtk+ widget set.
 This module allows you to write graphical user interfaces in a Perlish and
@@ -1343,7 +1343,7 @@ yet remaining very close in spirit to original API.")
     (propagated-inputs
      `(("perl-cairo" ,perl-cairo)
        ("perl-glib" ,perl-glib)))
-    (home-page "http://search.cpan.org/dist/Pango/")
+    (home-page "https://metacpan.org/release/Pango")
     (synopsis "Layout and render international text")
     (description "Pango is a library for laying out and rendering text, with an
 emphasis on internationalization.  Pango can be used anywhere that text layout
diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index fee335609c..84fe09b767 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -157,7 +157,7 @@ text, lines, polygons, ellipses and Bézier curves.")
             ;; so skip for now.
             (delete-file "t/mpeg/read.t")
             #t)))))
-    (home-page "http://search.cpan.org/dist/PerlMagick")
+    (home-page "https://metacpan.org/release/PerlMagick")
     (synopsis "Perl interface to ImageMagick")
     (description "This Perl extension allows the reading, manipulation and
 writing of a large number of image file formats using the ImageMagick library.
diff --git a/gnu/packages/language.scm b/gnu/packages/language.scm
index 519a98ec7f..919c169b6a 100644
--- a/gnu/packages/language.scm
+++ b/gnu/packages/language.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Nils Gillmann <ng0@n0.is>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -43,7 +43,7 @@
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-lingua-en-words2nums" ,perl-lingua-en-words2nums)))
-    (home-page "http://search.cpan.org/dist/Lingua-EN-FindNumber")
+    (home-page "https://metacpan.org/release/Lingua-EN-FindNumber")
     (synopsis "Locate (written) numbers in English text ")
     (description "This module provides a regular expression for finding
 numbers in English text.  It also provides functions for extracting and
@@ -64,7 +64,7 @@ manipulating such numbers.")
          "0j8d1f1wvmgc11d71pc8xp8fv5a1nb2yfw1dgd19xhscn1klpvzw"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect")
+    (home-page "https://metacpan.org/release/Lingua-EN-Inflect")
     (synopsis "Convert singular to plural")
     (description "Lingua::EN::Inflect provides plural inflections,
 \"a\"/\"an\" selection for English words, and manipulation of numbers as
@@ -88,7 +88,7 @@ provided.  Where appropriate, \"classical\" variants (for example: \"brother\"
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-lingua-en-inflect" ,perl-lingua-en-inflect)))
-    (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Number")
+    (home-page "https://metacpan.org/release/Lingua-EN-Inflect-Number")
     (synopsis "Force number of words to singular or plural")
     (description "This module extends the functionality of Lingua::EN::Inflect
 with three new functions for determining plurality of a word and forcefully
@@ -116,7 +116,7 @@ converting a word to singular or plural.")
        ("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
        ("perl-lingua-en-number-isordinal" ,perl-lingua-en-number-isordinal)
        ("perl-lingua-en-tagger" ,perl-lingua-en-tagger)))
-    (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Phrase")
+    (home-page "https://metacpan.org/release/Lingua-EN-Inflect-Phrase")
     (synopsis "Inflect short English phrases")
     (description "This module attempts to pluralize or singularize short
 English phrases.")
@@ -140,7 +140,7 @@ English phrases.")
        ("perl-test-fatal" ,perl-test-fatal)))
     (propagated-inputs
      `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)))
-    (home-page "http://search.cpan.org/dist/Lingua-EN-Number-IsOrdinal")
+    (home-page "https://metacpan.org/release/Lingua-EN-Number-IsOrdinal")
     (synopsis "Detect if English number is ordinal or cardinal")
     (description "This module will tell you if a number, either in words or as
 digits, is a cardinal or ordinal number.")
@@ -164,7 +164,7 @@ digits, is a cardinal or ordinal number.")
        ("perl-lingua-stem" ,perl-lingua-stem)
        ("perl-html-parser" ,perl-html-parser)
        ("perl-html-tagset" ,perl-html-tagset)))
-    (home-page "http://search.cpan.org/dist/Lingua-EN-Tagger")
+    (home-page "https://metacpan.org/release/Lingua-EN-Tagger")
     (synopsis "Part-of-speech tagger for English natural language processing")
     (description "This module is a probability based, corpus-trained tagger
 that assigns part-of-speech tags to English text based on a lookup dictionary
@@ -189,7 +189,7 @@ using a set of regular expressions.")
         (base32
          "118xx8qr1zbx30psv7ic55w65h15mc1vz6zicshfm96jgiwmcrb8"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-EN-Words2Nums")
+    (home-page "https://metacpan.org/release/Lingua-EN-Words2Nums")
     (synopsis "Convert English text to numbers")
     (description "This module converts English text into numbers.  It supports
 both ordinal and cardinal numbers, negative numbers, and very large numbers.")
@@ -208,7 +208,7 @@ both ordinal and cardinal numbers, negative numbers, and very large numbers.")
         (base32
          "17c48sfbgwd2ivlgf59sr6jdhwa3aim8750f8pyzz7xpi8gz0var"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-PT-Stemmer")
+    (home-page "https://metacpan.org/release/Lingua-PT-Stemmer")
     (synopsis "Portuguese language stemming")
     (description "This module implements a Portuguese stemming algorithm
 proposed in the paper A Stemming Algorithm for the Portuguese Language by
@@ -239,7 +239,7 @@ Moreira, V. and Huyck, C.")
        ("perl-snowball-norwegian" ,perl-snowball-norwegian)
        ("perl-snowball-swedish" ,perl-snowball-swedish)
        ("perl-text-german" ,perl-text-german)))
-    (home-page "http://search.cpan.org/dist/Lingua-Stem")
+    (home-page "https://metacpan.org/release/Lingua-Stem")
     (synopsis "Stemming of words in various languages")
     (description "This routine applies stemming algorithms to its parameters,
 returning the stemmed words as appropriate to the selected locale.")
@@ -258,7 +258,7 @@ returning the stemmed words as appropriate to the selected locale.")
         (base32
          "0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-Stem-Fr")
+    (home-page "https://metacpan.org/release/Lingua-Stem-Fr")
     (synopsis "Porter's stemming algorithm for French")
     (description "This module uses a modified version of the Porter Stemming
 Algorithm to return a stemmed French word.")
@@ -277,7 +277,7 @@ Algorithm to return a stemmed French word.")
         (base32
          "1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-Stem-It")
+    (home-page "https://metacpan.org/release/Lingua-Stem-It")
     (synopsis "Porter's stemming algorithm for Italian")
     (description "This module applies the Porter Stemming Algorithm to its
 parameters, returning the stemmed Italian word.")
@@ -296,7 +296,7 @@ parameters, returning the stemmed Italian word.")
         (base32
          "0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-Stem-Ru")
+    (home-page "https://metacpan.org/release/Lingua-Stem-Ru")
     (synopsis "Porter's stemming algorithm for Russian")
     (description "This module applies the Porter Stemming Algorithm to its
 parameters, returning the stemmed Russian (KOI8-R only) word.")
@@ -315,7 +315,7 @@ parameters, returning the stemmed Russian (KOI8-R only) word.")
         (base32
          "0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-Stem-Snowball-Da")
+    (home-page "https://metacpan.org/release/Lingua-Stem-Snowball-Da")
     (synopsis "Porters stemming algorithm for Danish")
     (description "Lingua::Stem::Snowball::Da is a perl port of the danish
 stemmer at http://snowball.sourceforge.net, it was originally altered from the
@@ -336,7 +336,7 @@ Lingua::Stem::Snowball::Se.")
          "0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Snowball-Norwegian")
+    (home-page "https://metacpan.org/release/Snowball-Norwegian")
     (synopsis "Porters stemming algorithm for Norwegian")
     (description "Lingua::Stem::Snowball::No is a perl port of the norwegian
 stemmer at http://snowball.tartarus.org.")
@@ -356,7 +356,7 @@ stemmer at http://snowball.tartarus.org.")
          "0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Snowball-Swedish")
+    (home-page "https://metacpan.org/release/Snowball-Swedish")
     (synopsis "Porters stemming algorithm for Swedish")
     (description "Lingua::Stem::Snowball::Se is a perl port of the swedish
 stemmer at http://snowball.sourceforge.net.")
@@ -379,7 +379,7 @@ stemmer at http://snowball.sourceforge.net.")
      `(("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
        ("perl-text-unidecode" ,perl-text-unidecode)
        ("perl-namespace-clean" ,perl-namespace-clean)))
-    (home-page "http://search.cpan.org/dist/String-ToIdentifier-EN")
+    (home-page "https://metacpan.org/release/String-ToIdentifier-EN")
     (synopsis "Convert strings to English program identifiers")
     (description "This module provides a utility method, \"to_identifier\" for
 converting an arbitrary string into a readable representation using the ASCII
@@ -401,7 +401,7 @@ string can be easily inferred by a human just by reading the identifier.")
         (base32
          "1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-German")
+    (home-page "https://metacpan.org/release/Text-German")
     (synopsis "German grundform reduction")
     (description "This module is a rather incomplete implementation of work
 done by Gudrun Putze-Meier.")
diff --git a/gnu/packages/libevent.scm b/gnu/packages/libevent.scm
index 629b7540c0..a7752dc5f0 100644
--- a/gnu/packages/libevent.scm
+++ b/gnu/packages/libevent.scm
@@ -181,7 +181,7 @@ resolution, asynchronous file system operations, and threading primitives.")
        ("perl-json-xs" ,perl-json-xs)
        ("perl-net-ssleay" ,perl-net-ssleay)
        ("perl-task-weaken" ,perl-task-weaken)))
-    (home-page "http://search.cpan.org/dist/AnyEvent")
+    (home-page "https://metacpan.org/release/AnyEvent")
     (synopsis
      "API for I/O, timer, signal, child process and completion events")
     (description
@@ -226,7 +226,7 @@ not rely on XS.")
        ("perl-canary-stability" ,perl-canary-stability)))
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
-    (home-page "http://search.cpan.org/dist/EV")
+    (home-page "https://metacpan.org/release/EV")
     (synopsis "Perl interface to libev")
     (description
      "This module provides an interface to @code{libev}, a high performance
diff --git a/gnu/packages/license.scm b/gnu/packages/license.scm
index 053f79811e..61ab896b95 100644
--- a/gnu/packages/license.scm
+++ b/gnu/packages/license.scm
@@ -49,7 +49,7 @@
        ("perl-test-exception" ,perl-test-exception)))
     (propagated-inputs
      `(("perl-strictures" ,perl-strictures-2)))
-    (home-page "http://search.cpan.org/dist/Regexp-Pattern-License/")
+    (home-page "https://metacpan.org/release/Regexp-Pattern-License")
     (synopsis "Regular expressions for legal licenses")
     (description "Regexp::Pattern::License provides a hash of regular
 expression patterns related to legal software licenses.
@@ -75,7 +75,7 @@ Regexp::Pattern is a convention for organizing reusable regex patterns.")
      `(("perl-number-range" ,perl-number-range)))
     (propagated-inputs
      `(("perl-exporter-tiny" ,perl-exporter-tiny)))
-    (home-page "http://search.cpan.org/dist/String-Copyright/")
+    (home-page "https://metacpan.org/release/String-Copyright")
     (synopsis "Representation of text-based copyright statements")
     (description "String::Copyright Parses common styles of copyright
 statements and serializes in normalized format.")
@@ -100,7 +100,7 @@ statements and serializes in normalized format.")
     (propagated-inputs
      `(("perl-data-section" ,perl-data-section)
        ("perl-text-template" ,perl-text-template)))
-    (home-page "http://search.cpan.org/dist/Software-License/")
+    (home-page "https://metacpan.org/release/Software-License")
     (synopsis "Templated software licenses")
     (description "This package provides templated software licenses.")
     (license (package-license perl))))
@@ -153,7 +153,7 @@ statements and serializes in normalized format.")
                  `("PERL5LIB" ":"
                    prefix (,(string-append perllib ":" (getenv "PERL5LIB")))))
                #t))))))
-    (home-page "http://search.cpan.org/dist/App-Licensecheck/")
+    (home-page "https://metacpan.org/release/App-Licensecheck")
     (synopsis "License checker for source files")
     (description "Licensecheck attempts to determine the license that applies
 to each file passed to it, by searching the start of the file for text
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index e60a3561ca..486fd165bc 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -1399,7 +1399,7 @@ mailboxes.  Currently Maildir and IMAP are supported types.")
      `(("perl-email-simple" ,perl-email-simple)
        ("perl-module-pluggable" ,perl-module-pluggable)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Email-Abstract")
+    (home-page "https://metacpan.org/release/Email-Abstract")
     (synopsis "Interface to mail representations")
     (description "Email::Abstract provides module writers with the ability to
 write simple, representation-independent mail handling code.")
@@ -1418,7 +1418,7 @@ write simple, representation-independent mail handling code.")
         (base32
          "0l7x6sl06j9ffgfz5f9vgms2b5axd4cgp5fj03ivb3kia4km6b3g"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Email-Address")
+    (home-page "https://metacpan.org/release/Email-Address")
     (synopsis "Email address parsing and creation")
     (description "Email::Address implements a regex-based RFC 2822 parser that
 locates email addresses in strings and returns a list of Email::Address
@@ -1438,7 +1438,7 @@ objects found.  Alternatively you may construct objects manually.")
         (base32
          "012ivfwpnbl3wr50f9c6f4azhdlxnm31pdn72528g79v61z6372p"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Email-Date-Format")
+    (home-page "https://metacpan.org/release/Email-Date-Format")
     (synopsis "Produce RFC 2822 date strings")
     (description "Email::Date::Format provides a means for generating an RFC
 2822 compliant datetime string.")
@@ -1457,7 +1457,7 @@ objects found.  Alternatively you may construct objects manually.")
         (base32
          "1f22sdnfq169qw1l0lg7y74pmiam7j9v95bggjnf3q4mygdmshpc"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Email-MessageID")
+    (home-page "https://metacpan.org/release/Email-MessageID")
     (synopsis "Generate world unique message-ids")
     (description "Email::MessageID generates recommended message-ids to
 identify a message uniquely.")
@@ -1484,7 +1484,7 @@ identify a message uniquely.")
        ("perl-email-simple" ,perl-email-simple)
        ("perl-mime-types" ,perl-mime-types)
        ("perl-module-runtime" ,perl-module-runtime)))
-    (home-page "http://search.cpan.org/dist/Email-MIME")
+    (home-page "https://metacpan.org/release/Email-MIME")
     (synopsis "MIME message handling")
     (description "Email::MIME is an extension of the Email::Simple module, to
 handle MIME encoded messages.  It takes a message as a string, splits it up
@@ -1507,7 +1507,7 @@ message.  Headers are decoded from MIME encoding.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)))
-    (home-page "http://search.cpan.org/dist/Email-MIME-ContentType")
+    (home-page "https://metacpan.org/release/Email-MIME-ContentType")
     (synopsis "Parse MIME Content-Type headers")
     (description "Email::MIME::ContentType parses a MIME Content-Type
 header.")
@@ -1528,7 +1528,7 @@ header.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)))
-    (home-page "http://search.cpan.org/dist/Email-MIME-Encodings")
+    (home-page "https://metacpan.org/release/Email-MIME-Encodings")
     (synopsis "Unified interface to MIME encoding and decoding")
     (description "This module wraps MIME::Base64 and MIME::QuotedPrint.")
     (license perl-license)))
@@ -1559,7 +1559,7 @@ header.")
        ("perl-sub-exporter" ,perl-sub-exporter)
        ("perl-throwable" ,perl-throwable)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Email-Sender")
+    (home-page "https://metacpan.org/release/Email-Sender")
     (synopsis "Perl library for sending email")
     (description "Email::Sender replaces the old and sometimes problematic
 Email::Send library.")
@@ -1580,7 +1580,7 @@ Email::Send library.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-email-date-format" ,perl-email-date-format)))
-    (home-page "http://search.cpan.org/dist/Email-Simple")
+    (home-page "https://metacpan.org/release/Email-Simple")
     (synopsis "Parsing of RFC 2822 messages")
     (description "Email::Simple provides simple parsing of RFC 2822 message
 format and headers.")
@@ -1802,7 +1802,7 @@ Khard can also be used from within the email client @command{mutt}.")
       ("perl-netaddr-ip" ,perl-netaddr-ip)
       ("perl-uri" ,perl-uri)))
   (home-page
-    "http://search.cpan.org/dist/Mail-SPF")
+    "https://metacpan.org/release/Mail-SPF")
   (synopsis
     "Perl implementation of Sender Policy Framework")
   (description "Mail::SPF is the Sender Policy Framework implemented
diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm
index e15e8497b7..5633eb8a77 100644
--- a/gnu/packages/markup.scm
+++ b/gnu/packages/markup.scm
@@ -178,7 +178,7 @@ convert it to structurally valid XHTML (or HTML).")
     (inputs
      `(("discount" ,discount)))
     (home-page
-     "http://search.cpan.org/dist/Text-Markdown-Discount")
+     "https://metacpan.org/release/Text-Markdown-Discount")
     (synopsis
      "Fast function for converting Markdown to HTML using Discount")
     (description
diff --git a/gnu/packages/ncurses.scm b/gnu/packages/ncurses.scm
index 3fd78a40bc..2051f1dd9d 100644
--- a/gnu/packages/ncurses.scm
+++ b/gnu/packages/ncurses.scm
@@ -285,7 +285,7 @@ curses widgets, such as dialog boxes.")
                (setenv "CURSES_MENU_LDFLAGS" (string-append "-L" lib " -lmenu"))
                (setenv "CURSES_FORM_LDFLAGS" (string-append "-L" lib " -lform"))
                #t))))))
-    (home-page "http://search.cpan.org/dist/Curses")
+    (home-page "https://metacpan.org/release/Curses")
     (synopsis "Terminal screen handling and optimization")
     (description
      "@code{Curses} is the interface between Perl and the curses library
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index 1500c4211a..1ca590423b 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -893,7 +893,7 @@ private (reserved).")
                             "INSTALLDIRS=site")))
                (setenv "CONFIG_SHELL" (which "sh"))
                (zero? (apply system* "perl" args))))))))
-  (home-page "http://search.cpan.org/dist/Socket6")
+  (home-page "https://metacpan.org/release/Socket6")
   (synopsis
     "IPv6 related part of the C socket.h defines and structure manipulators for Perl")
   (description "Socket6 binds the IPv6 related part of the C socket header
@@ -920,7 +920,7 @@ definitions and structure manipulators for Perl.")
     `(("perl-module-build" ,perl-module-build)))
   (inputs `(("perl-net-dns" ,perl-net-dns)))
   (home-page
-    "http://search.cpan.org/dist/Net-DNS-Resolver-Programmable")
+    "https://metacpan.org/release/Net-DNS-Resolver-Programmable")
   (synopsis
     "Programmable DNS resolver class for offline emulation of DNS")
   (description "Net::DNS::Resolver::Programmable is a programmable DNS resolver for
@@ -954,7 +954,7 @@ offline emulation of DNS.")
                (setenv "CONFIG_SHELL" (which "sh"))
                (zero? (apply system* "perl" args))))))))
   (home-page
-    "http://search.cpan.org/dist/NetAddr-IP")
+    "https://metacpan.org/release/NetAddr-IP")
   (synopsis
     "Manages IPv4 and IPv6 addresses and subnets")
   (description "NetAddr::IP manages IPv4 and IPv6 addresses and subsets.")
@@ -979,7 +979,7 @@ offline emulation of DNS.")
     `(("perl-net-cidr-lite" ,perl-net-cidr-lite)
       ("perl-socket6" ,perl-socket6)))
   (home-page
-    "http://search.cpan.org/dist/Net-Patricia")
+    "https://metacpan.org/release/Net-Patricia")
   (synopsis
     "Patricia Trie Perl module for fast IP address lookups")
   (description
@@ -1004,7 +1004,7 @@ offline emulation of DNS.")
           "14shj73zbqmfjbp0qz1fs9j4p2dpvz5hfkm4qfdjbydflbl2b8fg"))))
   (build-system perl-build-system)
   (home-page
-    "http://search.cpan.org/dist/Net-CIDR-Lite")
+    "https://metacpan.org/release/Net-CIDR-Lite")
   (synopsis
     "Perl extension for merging IPv4 or IPv6 CIDR addresses")
   (description "Net::CIDR::Lite merges IPv4 or IPv6 CIDR addresses.")
@@ -1027,7 +1027,7 @@ offline emulation of DNS.")
         (base32
           "1fka8fr7fw6sh3xa9glhs1zjg3s2gfkhi7n7da1l2m2wblqj0c0n"))))
   (build-system perl-build-system)
-  (home-page "http://search.cpan.org/dist/Geo-IP")
+  (home-page "https://metacpan.org/release/Geo-IP")
   (synopsis
     "Look up location and network information by IP Address in Perl")
   (description "The Perl module 'Geo::IP'.  It looks up location and network
@@ -1057,7 +1057,7 @@ information by IP Address.")
   (arguments `(;; Need network socket API
                #:tests? #f))
   (home-page
-    "http://search.cpan.org/dist/IO-Socket-INET6")
+    "https://metacpan.org/release/IO-Socket-INET6")
   (synopsis
     "Perl object interface for AF_INET/AF_INET6 domain sockets")
   (description "IO::Socket::INET6 is an interface for AF_INET/AF_INET6 domain
diff --git a/gnu/packages/perl-check.scm b/gnu/packages/perl-check.scm
index b753cdcf7e..a2900c34c0 100644
--- a/gnu/packages/perl-check.scm
+++ b/gnu/packages/perl-check.scm
@@ -66,7 +66,7 @@
      `(("perl-importer" ,perl-importer)
        ("perl-term-table" ,perl-term-table)
        ("perl-sub-info" ,perl-sub-info)))
-    (home-page "http://search.cpan.org/~exodist/Test2-Suite/lib/Test2/Bundle/Extended.pm")
+    (home-page "https://metacpan.org/pod/Test2::Bundle::Extended")
     (synopsis "Full set of tools for Test2::Suite")
     (description "This package provides a rich set of tools, plugins, bundles,
 etc built upon the Test2 testing library.")
@@ -87,7 +87,7 @@ etc built upon the Test2 testing library.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-test2-bundle-extended" ,perl-test2-bundle-extended)))
-    (home-page "http://search.cpan.org/dist/Test2-Plugin-NoWarnings//")
+    (home-page "https://metacpan.org/release/Test2-Plugin-NoWarnings")
     (synopsis "Fail if tests warn")
     (description "Loading this plugin causes your tests to fail if there any
 warnings while they run.  Each warning generates a new failing test and the
@@ -113,7 +113,7 @@ warning content is outputted via diag.")
     (propagated-inputs
      `(("perl-spiffy" ,perl-spiffy)
        ("perl-test-deep" ,perl-test-deep)))
-    (home-page "http://search.cpan.org/dist/Test-Base/")
+    (home-page "https://metacpan.org/release/Test-Base")
     (synopsis "Data-driven testing framework for Perl")
     (description "Test::Base gives a way to trivially write your own test
 framework base class.  It concentrates on offering reusable data driven
@@ -141,7 +141,7 @@ patterns, so that you can write tests with a minimum of code.")
      `(("perl-module-runtime" ,perl-module-runtime)
        ("perl-mro-compat" ,perl-mro-compat)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Test-Class/")
+    (home-page "https://metacpan.org/release/Test-Class")
     (synopsis "Easily create test classes in an xUnit/JUnit style")
     (description "@code{Test::Class} provides a simple way of creating classes
 and objects to test your code in an xUnit style.
@@ -174,7 +174,7 @@ Built using @code{Test::Builder}, it was designed to work with other
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-try-tiny" ,perl-try-tiny)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Test-Class-Most/")
+    (home-page "https://metacpan.org/release/Test-Class-Most")
     (synopsis "Test classes the easy way")
     (description "@code{Test::Class::Most} provides some more convenience when
 using @code{Test::Class}.")
@@ -207,7 +207,7 @@ using @code{Test::Class}.")
        ("perl-sub-exporter" ,perl-sub-exporter)
        ("perl-file-find-rule" ,perl-file-find-rule)
        ("perl-file-find-rule-perl" ,perl-file-find-rule-perl)))
-    (home-page "http://search.cpan.org/dist/Test-CleanNamespaces/")
+    (home-page "https://metacpan.org/release/Test-CleanNamespaces")
     (synopsis "Check for uncleaned imports")
     (description "This module lets you check your module's namespaces for
 imported functions you might have forgotten to remove with
@@ -257,7 +257,7 @@ output and standard error of external commands.")
        ("perl-test-pod" ,perl-test-pod)
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
     (home-page
-     "http://search.cpan.org/dist/Test-CPAN-Meta/")
+     "https://metacpan.org/release/Test-CPAN-Meta")
     (synopsis "Validate your CPAN META.yml files")
     (description
      "This module was written to ensure that a META.yml file meets the
@@ -285,7 +285,7 @@ specification.")
     (inputs
      `(("perl-json" ,perl-json)))
     (home-page
-     "http://search.cpan.org/dist/Test-CPAN-Meta-JSON/")
+     "https://metacpan.org/release/Test-CPAN-Meta-JSON")
     (synopsis "Validate your CPAN META.json files")
     (description
      "This module was written to ensure that a META.json file meets the
@@ -312,7 +312,7 @@ specification.")
 that the values match, that arrays and hashes have the same elements and that
 references are blessed into the correct class.  It also handles circular data
 structures without getting caught in an infinite loop.")
-    (home-page "http://search.cpan.org/dist/Test-Deep/")
+    (home-page "https://metacpan.org/release/Test-Deep")
     (license gpl1+)))  ; or "Artistic License"
 
 (define-public perl-test-differences
@@ -333,7 +333,7 @@ structures without getting caught in an infinite loop.")
     (propagated-inputs
      `(("perl-text-diff" ,perl-text-diff)
        ("perl-capture-tiny" ,perl-capture-tiny)))
-    (home-page "http://search.cpan.org/dist/Test-Differences/")
+    (home-page "https://metacpan.org/release/Test-Differences")
     (synopsis "Test strings and data structures and show differences")
     (description "This module exports three test functions and four diff-style
 functions.")
@@ -355,7 +355,7 @@ functions.")
          "1ncql08cizhicbxwd753b4czns8nlcnlw0zfjcfrbdd41x4j6hqr"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-test-exception" ,perl-test-exception)))
-    (home-page "http://search.cpan.org/dist/Test-Directory/")
+    (home-page "https://metacpan.org/release/Test-Directory")
     (synopsis "Perl extension for maintaining test directories")
     (description "Testing code can involve making sure that files are created
 and deleted as expected.  Doing this manually can be error prone, as it's easy
@@ -405,7 +405,7 @@ files, as well as to verify that there are no missing or unknown files.")
          "0l3bxpsw0x7j9nclizcp53mnf9wny25dmg2iglfhzgnk0xfpwzwf"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/Test-EOL/")
+     "https://metacpan.org/release/Test-EOL")
     (synopsis
      "Check the correct line endings in your project")
     (description
@@ -430,7 +430,7 @@ and/or windows line endings in your perl code.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-sub-uplevel" ,perl-sub-uplevel)))
-    (home-page "http://search.cpan.org/dist/Test-Exception/")
+    (home-page "https://metacpan.org/release/Test-Exception")
     (synopsis "Test exception based code")
     (description "This module provides a few convenience methods for testing
 exception based code.  It is built with Test::Builder and plays happily with
@@ -453,7 +453,7 @@ Test::More and friends.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)))
-    (home-page "http://search.cpan.org/dist/Test-FailWarnings/")
+    (home-page "https://metacpan.org/release/Test-FailWarnings")
     (synopsis "Add test failures if warnings are caught")
     (description
      "Test::FailWarnings adds test failures if warnings are caught.")
@@ -473,7 +473,7 @@ Test::More and friends.")
          "1c6bs68mss4q7cyapkv2c0jn66i21050p0faxf3s3417gdffzp5w"))))
     (build-system perl-build-system)
     (propagated-inputs `(("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Test-Fatal/")
+    (home-page "https://metacpan.org/release/Test-Fatal")
     (synopsis "Simple helpers for testing code with exceptions")
     (description "Test::Fatal is an alternative to the popular
 Test::Exception.  It does much less, but should allow greater flexibility in
@@ -522,7 +522,7 @@ for testing.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-path-tiny" ,perl-path-tiny)))
-    (home-page "http://search.cpan.org/dist/Test-Filename/")
+    (home-page "https://metacpan.org/release/Test-Filename")
     (synopsis "Portable filename comparison")
     (description "Test::Filename provides functions to convert all path
 separators automatically.")
@@ -546,7 +546,7 @@ separators automatically.")
     (propagated-inputs
      `(("perl-algorithm-diff" ,perl-algorithm-diff)
        ("perl-text-diff" ,perl-text-diff)))
-    (home-page "http://search.cpan.org/dist/Test-Files/")
+    (home-page "https://metacpan.org/release/Test-Files")
     (synopsis "Ease software testing with files and directories")
     (description "This library provides functions to enable testing of files
 and directories.  For instance, the @code{file_ok} helper can test whether the
@@ -578,7 +578,7 @@ contents of a file is equal to a particular string.")
                 (string-append "#!" (assoc-ref inputs "perl")
                                "/bin/perl")))
              #t)))))
-    (home-page "http://search.cpan.org/dist/Test-Harness/")
+    (home-page "https://metacpan.org/release/Test-Harness")
     (synopsis "Run Perl standard test scripts with statistics")
     (description "Simple test harness which allows tests to be run and results
 automatically aggregated and output to STDOUT.")
@@ -597,7 +597,7 @@ automatically aggregated and output to STDOUT.")
         (base32
          "00z4hcjra5nk700f3fgpy8fs036d7ry7glpn8g3wh7jzj7nrw22z"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-LeakTrace/")
+    (home-page "https://metacpan.org/release/Test-LeakTrace")
     (synopsis "Traces memory leaks in Perl")
     (description "Test::LeakTrace provides several functions that trace memory
 leaks.  This module scans arenas, the memory allocation system, so it can
@@ -617,7 +617,7 @@ detect any leaked SVs in given blocks.")
         (base32
          "0kwp7rfr1i2amz4ckigkv13ah7jr30q6l5k4wk0vxl84myg39i5b"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-LongString/")
+    (home-page "https://metacpan.org/release/Test-LongString")
     (synopsis "Tests strings for equality, with more helpful failures")
     (description "This module provides some drop-in replacements for the
 string comparison functions of Test::More, but which are more suitable when
@@ -639,7 +639,7 @@ you test against long strings.")
     (native-inputs
      `(("perl-test-pod" ,perl-test-pod)
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
-    (home-page "http://search.cpan.org/dist/Test-Manifest/")
+    (home-page "https://metacpan.org/release/Test-Manifest")
     (synopsis "Interact with a t/test_manifest file")
     (description "@code{Test::Manifest} overrides the default test file order.  Instead of
 running all of the t/*.t files in ASCII-betical order, it looks in the t/test_manifest
@@ -667,7 +667,7 @@ It constructs the right value for the build system to do the right thing.")
     (propagated-inputs
      `(("perl-devel-cycle" ,perl-devel-cycle)))
     (home-page
-     "http://search.cpan.org/dist/Test-Memory-Cycle/")
+     "https://metacpan.org/release/Test-Memory-Cycle")
     (synopsis
      "Verifies code hasn't left circular references")
     (description
@@ -702,7 +702,7 @@ memory_cycle_ok( $object );
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
     (propagated-inputs
      `(("perl-super" ,perl-super)))
-    (home-page "http://search.cpan.org/dist/Test-MockModule/")
+    (home-page "https://metacpan.org/release/Test-MockModule")
     (synopsis "Override subroutines in a module for unit testing")
     (description
      "@code{Test::MockModule} lets you temporarily redefine subroutines in other
@@ -735,7 +735,7 @@ you @code{unmock()} the subroutine.")
        ("perl-universal-can" ,perl-universal-can)
        ("perl-universal-isa" ,perl-universal-isa)))
     (arguments `(#:tests? #f))          ;TODO: tests require perl-cgi
-    (home-page "http://search.cpan.org/dist/Test-MockObject/")
+    (home-page "https://metacpan.org/release/Test-MockObject")
     (synopsis "Emulate troublesome interfaces in Perl")
     (description "Test::MockObject allows you to create objects that conform
 to particular interfaces with very little code.  You don't have to reimplement
@@ -757,7 +757,7 @@ the behavior, just the input and the output.")
     (propagated-inputs
      `(("perl-time-piece" ,perl-time-piece)))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-MockTime/")
+    (home-page "https://metacpan.org/release/Test-MockTime")
     (synopsis "Replaces actual time with simulated time")
     (description "This module was created to enable test suites to test code
 at specific points in time.  Specifically it overrides localtime, gmtime and
@@ -785,7 +785,7 @@ to gmtime,time or localtime.")
        ("perl-exception-class" ,perl-exception-class)
        ("perl-test-deep" ,perl-test-deep)
        ("perl-test-exception" ,perl-test-exception)))
-    (home-page "http://search.cpan.org/dist/Test-Most/")
+    (home-page "https://metacpan.org/release/Test-Most")
     (synopsis "Most commonly needed test functions and features")
     (description "This module provides the most commonly used testing
 functions, along with automatically turning on strict and warning and gives a
@@ -808,7 +808,7 @@ bit more fine-grained control over test suites.")
          "16gkgpmr9hvkz382iaqd3500269lk2d44fqaw3dsrvc66nc36kss"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/Test-Needs/")
+     "https://metacpan.org/release/Test-Needs")
     (synopsis
      "Skip tests when modules not available")
     (description "@code{Test::Needs} allows you to skip test scripts if
@@ -836,7 +836,7 @@ If used in a subtest, the remainder of the subtest will be skipped.")
          "0c306p9qdpa2ycii3c50hml23mwy6bjxpry126g1dw11hyiwcxgv"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/Test-NoTabs/")
+     "https://metacpan.org/release/Test-NoTabs")
     (synopsis
      "Check the presence of tabs in your project")
     (description
@@ -864,7 +864,7 @@ stored.  It automatically adds an extra test that will run when your script
 ends to check that there were no warnings.  If there were any warnings, the
 test will fail and output diagnostics of where, when and what the warning was,
 including a stack trace of what was going on when it occurred.")
-    (home-page "http://search.cpan.org/~adamk/Test-NoWarnings")
+    (home-page "https://metacpan.org/release/Test-NoWarnings")
     (license lgpl2.1)))
 
 (define-public perl-test-number-delta
@@ -879,7 +879,7 @@ including a stack trace of what was going on when it occurred.")
                (base32
                 "0jfhzhpzkc23mkrlbnv085ykpfncmy99hvppbzjnrpvgks8k0m2k"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-Number-Delta/")
+    (home-page "https://metacpan.org/release/Test-Number-Delta")
     (synopsis
      "Compare the difference between numbers against a given tolerance")
     (description
@@ -911,7 +911,7 @@ usually called epsilon.  This module provides such a function for use with
      "Test::Output provides a simple interface for testing output sent to
 STDOUT or STDERR.  A number of different utilities are included to try and be
 as flexible as possible to the tester.")
-    (home-page "http://search.cpan.org/~bdfoy/Test-Output")
+    (home-page "https://metacpan.org/release/Test-Output")
     (license perl-license)))
 
 (define-public perl-test-pod
@@ -928,7 +928,7 @@ as flexible as possible to the tester.")
          "1z75x1pxwp8ajwq9iazlg2c3wd7rdlim08yclpdg32qnc36dpa30"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Test-Pod/")
+    (home-page "https://metacpan.org/release/Test-Pod")
     (synopsis "Check for POD errors in files")
     (description "Check POD files for errors or warnings in a test file, using
 Pod::Simple to do the heavy lifting.")
@@ -949,7 +949,7 @@ Pod::Simple to do the heavy lifting.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-pod-coverage" ,perl-pod-coverage)))
-    (home-page "http://search.cpan.org/dist/Test-Pod-Coverage/")
+    (home-page "https://metacpan.org/release/Test-Pod-Coverage")
     (synopsis "Check for pod coverage")
     (description "This module adds a test to your Perl distribution which
 checks for pod coverage of all appropriate files.")
@@ -968,7 +968,7 @@ checks for pod coverage of all appropriate files.")
         (base32
          "1d9f481lj12cw1ciil46xq9nq16p6a90nm7yrsalpf8asn8s6s17"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-Requires/")
+    (home-page "https://metacpan.org/release/Test-Requires")
     (synopsis "Checks to see if the module can be loaded")
     (description "Test::Requires checks to see if the module can be loaded.
 If this fails, then rather than failing tests this skips all tests.")
@@ -989,7 +989,7 @@ If this fails, then rather than failing tests this skips all tests.")
         (base32
          "0gl33vpj9bb78pzyijp884b66sbw6jkh1ci0xki8rmf03hmb79xv"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-RequiresInternet/")
+    (home-page "https://metacpan.org/release/Test-RequiresInternet")
     (synopsis "Easily test network connectivity when running tests")
     (description
      "This Perl module is intended to easily test network connectivity to
@@ -1021,7 +1021,7 @@ reported, and the tests skipped.")
        ("perl-multidimensional" ,perl-multidimensional)
        ("perl-strictures" ,perl-strictures)
        ("perl-sub-install" ,perl-sub-install)))
-    (home-page "http://search.cpan.org/dist/Test-Roo/")
+    (home-page "https://metacpan.org/release/Test-Roo")
     (synopsis "Composable, reusable tests with roles and Moo")
     (description "Test::Roo provides composable, reusable tests with roles.")
     (license asl2.0)))
@@ -1047,7 +1047,7 @@ reported, and the tests skipped.")
      `(("perl-path-tiny" ,perl-path-tiny)
        ("perl-test-trap" ,perl-test-trap)
        ("valgrind" ,valgrind)))
-    (home-page "http://search.cpan.org/dist/Test-RunValgrind/")
+    (home-page "https://metacpan.org/release/Test-RunValgrind")
     (synopsis "Tests that an external program is valgrind-clean")
     (description "Test::RunValgind checks weather Valgrind does not detect
 errors (such as memory leaks) in an arbitrary binary executable.")
@@ -1073,7 +1073,7 @@ errors (such as memory leaks) in an arbitrary binary executable.")
      "The intent of the Test::Script module is to provide a series of basic
 tests for 80% of the testing you will need to do for scripts in the script (or
 bin as is also commonly used) paths of your Perl distribution.")
-    (home-page "http://search.cpan.org/dist/Test-Script/")
+    (home-page "https://metacpan.org/release/Test-Script")
     (license perl-license)))
 
 (define-public perl-test-sharedfork
@@ -1091,7 +1091,7 @@ bin as is also commonly used) paths of your Perl distribution.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-requires" ,perl-test-requires)))
-    (home-page "http://search.cpan.org/dist/Test-SharedFork/")
+    (home-page "https://metacpan.org/release/Test-SharedFork")
     (synopsis "Fork test in Perl")
     (description "Test::SharedFork is a utility module for Test::Builder.  It
 makes fork(2) safe to use in test cases.")
@@ -1112,7 +1112,7 @@ makes fork(2) safe to use in test cases.")
     (synopsis "Basic utilities for writing tests")
     (description
      "Test::Simple contains basic utilities for writing tests.")
-    (home-page "http://search.cpan.org/~exodist/Test-Simple")
+    (home-page "https://metacpan.org/release/Test-Simple")
     (license perl-license)))
 
 (define-public perl-test-taint
@@ -1128,7 +1128,7 @@ makes fork(2) safe to use in test cases.")
         (base32
          "01rip5d7gdr1c7lq6yczzkqfd0500nfa977ryigylj6jj75526vj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-Taint/")
+    (home-page "https://metacpan.org/release/Test-Taint")
     (synopsis "Checks for taintedness of variables")
     (description "Tainted data is data that comes from an unsafe source, such
 as the command line, or, in the case of web apps, any @code{GET} or
@@ -1157,7 +1157,7 @@ easy ways to check and report on the taintedness of your data, in standard
     (description
      "Test::Tester allows testing of test modules based on Test::Builder with
 a minimum of effort.")
-    (home-page "http://search.cpan.org/~fdaly/Test-Tester")
+    (home-page "https://metacpan.org/release/FDALY/Test-Tester-0.109")
     (license perl-license)))
 
 (define-public perl-test-perltidy
@@ -1179,7 +1179,7 @@ a minimum of effort.")
        ("perl-file-slurp" ,perl-file-slurp)
        ("perltidy" ,perltidy)
        ("perl-text-diff" ,perl-text-diff)))
-    (home-page "http://search.cpan.org/dist/Test-PerlTidy/")
+    (home-page "https://metacpan.org/release/Test-PerlTidy")
     (synopsis "Check that all your Perl files are tidy")
     (description
      "Using @code{Test::PerlTidy}, any file ending in .pl, .pm, .t or .PL will
@@ -1205,7 +1205,7 @@ cause a test fail unless it is exactly as @code{perltidy} would like it to be.")
     (propagated-inputs
      `(("perl-test-tester" ,perl-test-tester)
        ("perl-data-dump" ,perl-data-dump)))
-    (home-page "http://search.cpan.org/dist/Test-Trap/")
+    (home-page "https://metacpan.org/release/Test-Trap")
     (synopsis "Trap exit codes, exceptions, output, and so on")
     (description "This module is primarily (but not exclusively) for use in
 test scripts: A block eval configurable and extensible but by default trapping
@@ -1228,7 +1228,7 @@ from boxed blocks of test code.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/Test-utf8/")
+    (home-page "https://metacpan.org/release/Test-utf8")
     (synopsis "UTF-8 testing in Perl")
     (description "This module is a collection of tests useful for dealing with
 UTF-8 strings in Perl.  This module has two types of tests: The validity tests
@@ -1251,7 +1251,7 @@ will check that string has a given set of characteristics.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-sub-uplevel" ,perl-sub-uplevel)))
-    (home-page "http://search.cpan.org/dist/Test-Warn/")
+    (home-page "https://metacpan.org/release/Test-Warn")
     (synopsis "Perl extension to test methods for warnings")
     (description "This module provides a few convenience methods for testing
 warning based code.")
@@ -1270,7 +1270,7 @@ warning based code.")
         (base32
          "024srkwjckp15dxkni9lb1hc8bg4xwc52zz0iich8rv1nnqnhaxf"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-Warnings/")
+    (home-page "https://metacpan.org/release/Test-Warnings")
     (synopsis "Test for warnings and the lack of them")
     (description "This module is intended to be used as a drop-in replacement
 for Test::NoWarnings.  It also adds an extra test, but runs this test before
@@ -1292,7 +1292,7 @@ plan, or not, and things will still Just Work.")
         (base32
          "0955ib9cz1naz7a2v6lx78kj29q7ihmdn51im6wd1im669yfp6lf"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Test-Without-Module/")
+    (home-page "https://metacpan.org/release/Test-Without-Module")
     (synopsis "Test fallback behaviour in absence of modules")
     (description "This module allows you to deliberately hide modules from a
 program even though they are installed.  This is mostly useful for testing
@@ -1320,7 +1320,7 @@ installed.")
      `(("perl-data-tumbler" ,perl-data-tumbler)
        ("perl-file-homedir" ,perl-file-homedir)
        ("perl-module-pluggable" ,perl-module-pluggable)))
-    (home-page "http://search.cpan.org/dist/Test-WriteVariants/")
+    (home-page "https://metacpan.org/release/Test-WriteVariants")
     (synopsis "Dynamic generation of tests")
     (description "The Test::WriteVariants module provides for the dynamic
 generation of tests in nested combinations of contexts.")
@@ -1341,7 +1341,7 @@ generation of tests in nested combinations of contexts.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-test-base" ,perl-test-base)))
-    (home-page "http://search.cpan.org/dist/Test-YAML/")
+    (home-page "https://metacpan.org/release/Test-YAML")
     (synopsis "Testing module for YAML implementations")
     (description "Test::YAML is a subclass of Test::Base with YAML specific
 support.")
@@ -1371,7 +1371,7 @@ support.")
       ("perl-text-glob" ,perl-text-glob)
       ("perl-number-compare" ,perl-number-compare)))
   (home-page
-    "http://search.cpan.org/dist/Test-TrailingSpace/")
+    "https://metacpan.org/release/Test-TrailingSpace")
   (synopsis
     "Test for trailing space in Perl source files")
   (description "Test::TrailingSpace tests for trailing spaces
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index b96b480045..965a0603f8 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -209,7 +209,7 @@
         (base32
          "01hlcaxndls86bl92rkd3fvf9pfa3inxqaimv88bxs95803kmkss"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Algorithm-C3/")
+    (home-page "https://metacpan.org/release/Algorithm-C3")
     (synopsis "Module for merging hierarchies using the C3 algorithm")
     (description "This module implements the C3 algorithm, which aims to
 provide a sane method resolution order under multiple inheritance.")
@@ -228,7 +228,7 @@ provide a sane method resolution order under multiple inheritance.")
         (base32
          "0l8pk7ziz72d022hsn4xldhhb9f5649j5cgpjdibch0xng24ms1h"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Algorithm-Diff/")
+    (home-page "https://metacpan.org/release/Algorithm-Diff")
     (synopsis "Compute differences between two files or lists")
     (description "This is a module for computing the difference between two
 files, two strings, or any other two lists of things.  It uses an intelligent
@@ -251,7 +251,7 @@ differences.")
          "1syyqzy462501kn5ma9gl6xbmcahqcn4qpafhsmpz0nd0x2m4l63"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/aliased/")
+    (home-page "https://metacpan.org/release/aliased")
     (synopsis "Use shorter versions of class names")
     (description "The alias module loads the class you specify and exports
 into your namespace a subroutine that returns the class name.  You can
@@ -274,7 +274,7 @@ implicitly.")
     (native-inputs
      `(("perl-mouse" ,perl-mouse)
        ("perl-moose" ,perl-moose)))
-    (home-page "http://search.cpan.org/dist/Any-Moose/")
+    (home-page "https://metacpan.org/release/Any-Moose")
     (synopsis "Transparently use Moose or Mouse modules")
     (description
      "This module facilitates using @code{Moose} or @code{Mouse} modules
@@ -299,7 +299,7 @@ variable ANY_MOOSE to be Moose or Mouse.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-pod" ,perl-test-pod)))
-    (home-page "http://search.cpan.org/dist/AppConfig/")
+    (home-page "https://metacpan.org/release/AppConfig")
     (synopsis "Configuration files and command line parsing")
     (description "AppConfig is a bundle of Perl5 modules for reading
 configuration files and parsing command line arguments.")
@@ -320,7 +320,7 @@ configuration files and parsing command line arguments.")
         (base32
          "0w1pwvnjdpb0n6k07zbknxwx6v7y75p4jxrs594pjhwvrmzippc9"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Array-Utils/")
+    (home-page "https://metacpan.org/release/Array-Utils")
     (synopsis "Small utils for array manipulation")
     (description "@code{Array::Utils} is a small pure-perl module containing
 list manipulation routines.")
@@ -340,7 +340,7 @@ list manipulation routines.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
-    (home-page "http://search.cpan.org/dist/Async-Interrupt/")
+    (home-page "https://metacpan.org/release/Async-Interrupt")
     (synopsis "Allow C/XS libraries to interrupt perl asynchronously")
     (description
      "@code{Async::Interrupt} implements a single feature only of interest
@@ -372,7 +372,7 @@ sometimes even without using a single syscall.")
         (base32
          "1422kw9fknv7rbjkgdfflg1q3mb69d3yryszp38dn0bgzkqhwkc1"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/autovivification/")
+    (home-page "https://metacpan.org/release/autovivification")
     (synopsis "Lexically disable autovivification")
     (description "When an undefined variable is dereferenced, it gets silently
 upgraded to an array or hash reference (depending of the type of the
@@ -406,7 +406,7 @@ error when it would have happened.")
     (propagated-inputs
      `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
        ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints)))
-    (home-page "http://search.cpan.org/dist/bareword-filehandles/")
+    (home-page "https://metacpan.org/release/bareword-filehandles")
     (synopsis "Disables bareword filehandles")
     (description "This module disables bareword filehandles.")
     (license (package-license perl))))
@@ -424,7 +424,7 @@ error when it would have happened.")
         (base32
          "01n3l5ifmn2wd0aadpnzya27b75imibj9zdivkfzcpnviqgx5c2m"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/base/")
+    (home-page "https://metacpan.org/release/base")
     (synopsis "Establish an ISA relationship with base classes at compile time")
     (description "Allows you to both load one or more modules, while setting
 up inheritance from those modules at the same time.  Unless you are using the
@@ -445,7 +445,7 @@ parent.")
         (base32
          "0rv80n5ihy9vnrzsc3l7wlk8880cwabiljrydrdnxq1gg0lk3sxc"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Browser-Open/")
+    (home-page "https://metacpan.org/release/Browser-Open")
     (synopsis "Open a browser in a given URL")
     (description "The functions exported by this module allow you to open URLs
 in the user's browser.  A set of known commands per OS-name is tested for
@@ -471,7 +471,7 @@ all known commands are checked.")
        ("perl-module-implementation" ,perl-module-implementation)
        ("perl-sub-exporter-progressive" ,perl-sub-exporter-progressive)
        ("perl-variable-magic" ,perl-variable-magic)))
-    (home-page "http://search.cpan.org/dist/B-Hooks-EndOfScope/")
+    (home-page "https://metacpan.org/release/B-Hooks-EndOfScope")
     (synopsis "Execute code after a scope finished compilation")
     (description "This module allows you to execute code when perl finished
 compiling the surrounding scope.")
@@ -493,7 +493,7 @@ compiling the surrounding scope.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-extutils-depends" ,perl-extutils-depends)))
-    (home-page "http://search.cpan.org/dist/B-Hooks-OP-Check/")
+    (home-page "https://metacpan.org/release/B-Hooks-OP-Check")
     (synopsis "Wrap OP check callbacks")
     (description "This module allows you to wrap OP check callbacks.")
     (license (package-license perl))))
@@ -511,7 +511,7 @@ compiling the surrounding scope.")
         (base32
          "1nhdplmd0y69lnwyajg3anhk6pm13nm6qzm05nzpz8zl7j7fzlk5"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/B-Keywords/")
+    (home-page "https://metacpan.org/release/B-Keywords")
     (synopsis "Lists of reserved barewords and symbol names")
     (description "@code{B::Keywords} supplies several arrays of exportable
 keywords: @code{@@Scalars, @@Arrays, @@Hashes, @@Filehandles, @@Symbols,
@@ -543,7 +543,7 @@ conveniently, as well as benchmark code by allowing timings of repeated
 trials.  It is perfect for when you need more precise information about the
 running time of portions of your code than the Benchmark module will give you,
 but don't want to go all out and profile your code.")
-    (home-page "http://search.cpan.org/~dcoppit/Benchmark-Timer")
+    (home-page "https://metacpan.org/release/Benchmark-Timer")
     (license gpl2)))
 
 (define-public perl-bit-vector
@@ -561,7 +561,7 @@ but don't want to go all out and profile your code.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-carp-clan" ,perl-carp-clan)))
-    (home-page "http://search.cpan.org/dist/Bit-Vector/")
+    (home-page "https://metacpan.org/release/Bit-Vector")
     (synopsis "Bit vector library")
     (description "Bit::Vector is an efficient C library which allows you to
 handle bit vectors, sets (of integers), \"big integer arithmetic\" and boolean
@@ -584,7 +584,7 @@ library can nevertheless be used stand-alone, without Perl.")
         (base32
          "18hrgldzwnhs0c0r8hxx6r05qvk9p7gwinjwcybixfs2h0n43ypj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/boolean/")
+    (home-page "https://metacpan.org/release/boolean")
     (synopsis "Boolean support for Perl")
     (description "This module provides basic Boolean support, by defining two
 special objects: true and false.")
@@ -603,7 +603,7 @@ special objects: true and false.")
         (base32
          "1jc5jrjwkr6pqga7998zkgw0yrxgb5n1y7lzgddawxibkf608mn7"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Business-ISBN-Data/")
+    (home-page "https://metacpan.org/release/Business-ISBN-Data")
     (synopsis "Data files for Business::ISBN")
     (description "This package provides a data pack for @code{Business::ISBN}.
 These data are generated from the RangeMessage.xml file provided by the ISBN
@@ -626,7 +626,7 @@ Agency.")
     (propagated-inputs
      `(("perl-business-isbn-data" ,perl-business-isbn-data)
        ("perl-mojolicious" ,perl-mojolicious)))
-    (home-page "http://search.cpan.org/dist/Business-ISBN/")
+    (home-page "https://metacpan.org/release/Business-ISBN")
     (synopsis "Work with International Standard Book Numbers")
     (description "This modules provides tools to deal with International
 Standard Book Numbers, including ISBN-10 and ISBN-13.")
@@ -645,7 +645,7 @@ Standard Book Numbers, including ISBN-10 and ISBN-13.")
         (base32
          "1dfnm7h7lbqj356700ldlmgbr51v6hyjn1qig2bb4ysl1wn1jnzi"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Business-ISSN/")
+    (home-page "https://metacpan.org/release/Business-ISSN")
     (synopsis "Work with International Standard Serial Numbers")
     (description "This modules provides tools to deal with International
 Standard Serial Numbers.")
@@ -666,7 +666,7 @@ Standard Serial Numbers.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-tie-cycle" ,perl-tie-cycle)))
-    (home-page "http://search.cpan.org/dist/Business-ISMN/")
+    (home-page "https://metacpan.org/release/Business-ISMN")
     (synopsis "Work with International Standard Music Numbers")
     (description "This modules provides tools to deal with International
 Standard Music Numbers.")
@@ -688,7 +688,7 @@ Standard Music Numbers.")
      `(("perl-digest-sha1" ,perl-digest-sha1)
        ("perl-error" ,perl-error)
        ("perl-ipc-sharelite" ,perl-ipc-sharelite)))
-    (home-page "http://search.cpan.org/dist/Cache-Cache/")
+    (home-page "https://metacpan.org/release/Cache-Cache")
     (synopsis "Cache interface for Perl")
     (description "The Cache modules are designed to assist a developer in
 persisting data for a specified period of time.  Often these modules are used
@@ -712,7 +712,7 @@ easy to use abstraction of the file system or shared memory.")
         (base32
          "0h3ckr04cdn6dvl40m4m97vl5ybf30v1lwhw3jvkr92kpksvq4hd"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Cache-FastMmap/")
+    (home-page "https://metacpan.org/release/Cache-FastMmap")
     (synopsis "Shared memory interprocess cache via mmap")
     (description "A shared memory cache through an mmap'ed file.  It's core is
 written in C for performance.  It uses fcntl locking to ensure multiple
@@ -734,7 +734,7 @@ algorithm to keep the most used entries in the cache.")
         (base32
          "069yrikrrb4vqzc3hrkkfj96apsh7q0hg8lhihq97lxshwz128vc"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Capture-Tiny/")
+    (home-page "https://metacpan.org/release/Capture-Tiny")
     (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs")
     (description
      "Capture::Tiny provides a simple, portable way to capture almost anything
@@ -755,7 +755,7 @@ is captured while being passed through to the original file handles.")
                (base32
                 "01vih43hvpqy67m6a6fwmlswli91mqpv8n8ccglvlkc33l8hn97x"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Canary-Stability/")
+    (home-page "https://metacpan.org/release/Canary-Stability")
     (synopsis "Check compatibility with the installed perl version")
     (description
      "This module is used by Schmorp's modules during configuration stage
@@ -775,7 +775,7 @@ to test the installed perl for compatibility with his modules.")
                (base32
                 "00bijwwc0ix27h2ma3lvsf3b56biar96bl9dikxgx7cmpcycxad5"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Carp/")
+    (home-page "https://metacpan.org/release/Carp")
     (synopsis "Alternative warn and die for modules")
     (description "The @code{Carp} routines are useful in your own modules
 because they act like @code{die()} or @code{warn()}, but with a message
@@ -802,7 +802,7 @@ but it is a good educated guess.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-base" ,perl-test-base)))
-    (home-page "http://search.cpan.org/dist/Carp-Always")
+    (home-page "https://metacpan.org/release/Carp-Always")
     (synopsis "Warns and dies noisily with stack backtraces/")
     (description "This module is meant as a debugging aid.  It can be used to
 make a script complain loudly with stack backtraces when @code{warn()}-ing or
@@ -822,7 +822,7 @@ make a script complain loudly with stack backtraces when @code{warn()}-ing or
         (base32
          "0km5fc6r6whxh6h5yd7g1j0bi96sgk0gkda6cardicrw9qmqwkwj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Carp-Assert/")
+    (home-page "https://metacpan.org/release/Carp-Assert")
     (synopsis "Executable comments for Perl")
     (description "Carp::Assert is intended for a purpose like the ANSI C
 library assert.h.")
@@ -845,7 +845,7 @@ library assert.h.")
      `(("perl-test-exception" ,perl-test-exception)))
     (propagated-inputs
      `(("perl-carp-assert" ,perl-carp-assert)))
-    (home-page "http://search.cpan.org/dist/Carp-Assert-More/")
+    (home-page "https://metacpan.org/release/Carp-Assert-More")
     (synopsis "Convenience wrappers around Carp::Assert")
     (description "Carp::Assert::More is a set of handy assertion functions for
 Perl.")
@@ -866,7 +866,7 @@ Perl.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-exception" ,perl-test-exception)))
-    (home-page "http://search.cpan.org/dist/Carp-Clan/")
+    (home-page "https://metacpan.org/release/Carp-Clan")
     (synopsis "Report errors from a \"clan\" of modules")
     (description "This module allows errors from a clan (or family) of modules
 to appear to originate from the caller of the clan.  This is necessary in
@@ -887,7 +887,7 @@ the Carp.pm module doesn't help.")
                (base32
                 "1jfrwvfasylcafbvb0jjm94ad4v6k99a7rf5i4qwzhg4m0gvmk5x"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/CDDB_get/")
+    (home-page "https://metacpan.org/release/CDDB_get")
     (synopsis "Read the CDDB entry for an audio CD in your drive")
     (description "This module can retrieve information from the CDDB.")
     ;; Either GPLv2 or the "Artistic" license.
@@ -910,7 +910,7 @@ the Carp.pm module doesn't help.")
      `(("perl-sub-name" ,perl-sub-name)))
     (propagated-inputs
      `(("perl-base" ,perl-base)))
-    (home-page "http://search.cpan.org/dist/Class-Accessor/")
+    (home-page "https://metacpan.org/release/Class-Accessor")
     (synopsis "Automated accessor generation")
     (description "This module automagically generates accessors/mutators for
 your class.")
@@ -933,7 +933,7 @@ your class.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-class-accessor" ,perl-class-accessor)))
-    (home-page "http://search.cpan.org/dist/Class-Accessor-Chained/")
+    (home-page "https://metacpan.org/release/Class-Accessor-Chained")
     (synopsis "Faster, but less expandable, chained accessors")
     (description "A chained accessor is one that always returns the object
 when called with parameters (to set), and the value of the field when called
@@ -961,7 +961,7 @@ the same mk_accessors interface.")
      `(("perl-class-xsaccessor" ,perl-class-xsaccessor)
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-sub-name" ,perl-sub-name)))
-    (home-page "http://search.cpan.org/dist/Class-Accessor-Grouped/")
+    (home-page "https://metacpan.org/release/Class-Accessor-Grouped")
     (synopsis "Build groups of accessors")
     (description "This class lets you build groups of accessors that will call
 different getters and setters.")
@@ -982,7 +982,7 @@ different getters and setters.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-algorithm-c3" ,perl-algorithm-c3)))
-    (home-page "http://search.cpan.org/dist/Class-C3/")
+    (home-page "https://metacpan.org/release//Class-C3")
     (synopsis "Pragma to use the C3 method resolution order algorithm")
     (description "This is pragma to change Perl 5's standard method resolution
 order from depth-first left-to-right (a.k.a - pre-order) to the more
@@ -1007,7 +1007,7 @@ sophisticated C3 method resolution order.")
     (propagated-inputs
      `(("perl-list-moreutils" ,perl-list-moreutils)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Class-C3-Adopt-NEXT/")
+    (home-page "https://metacpan.org/release/Class-C3-Adopt-NEXT")
     (synopsis "Drop-in replacement for NEXT")
     (description "This module is intended as a drop-in replacement for NEXT,
 supporting the same interface, but using Class::C3 to do the hard work.")
@@ -1033,7 +1033,7 @@ supporting the same interface, but using Class::C3 to do the hard work.")
      `(("perl-class-c3" ,perl-class-c3)
        ("perl-class-inspector" ,perl-class-inspector)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Class-C3-Componentised/")
+    (home-page "https://metacpan.org/release/Class-C3-Componentised")
     (synopsis "Load mix-ins or components to your C3-based class")
     (description "This module will inject base classes to your module using
 the Class::C3 method resolution order.")
@@ -1052,7 +1052,7 @@ the Class::C3 method resolution order.")
         (base32
          "0jpi38wy5xh6p1mg2cbyjjw76vgbccqp46685r27w8hmxb7gwrwr"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-Data-Inheritable/")
+    (home-page "https://metacpan.org/release/Class-Data-Inheritable")
     (synopsis "Inheritable, overridable class data")
     (description "Class::Data::Inheritable is for creating accessor/mutators
 to class data.  That is, if you want to store something about your class as a
@@ -1074,7 +1074,7 @@ subclasses and can be overridden.")
          "0dd707sq8ix2dqbnp7ga77ba69r3vsn0cd6scnkn13s0gm2g4b00"))))
     (build-system perl-build-system)
     (arguments `(#:tests? #f))          ;timezone tests in chroot
-    (home-page "http://search.cpan.org/dist/Class-Date/")
+    (home-page "https://metacpan.org/release/Class-Date")
     (synopsis "Class for easy date and time manipulation")
     (description "This module provides a general-purpose date and datetime
 type for perl.")
@@ -1092,7 +1092,7 @@ type for perl.")
                (base32
                 "00j5f0z4riyq7i95jww291dpmbn0hmmvkcbrh7p0p8lpqz7jsb9l"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-ErrorHandler/")
+    (home-page "https://metacpan.org/release/Class-ErrorHandler")
     (synopsis "Base class for error handling")
     (description
      "@code{Class::ErrorHandler} provides an error-handling mechanism that is generic
@@ -1115,7 +1115,7 @@ to the calling program.")
          "09ifd6v0c94vr20n9yr1dxgcp7hyscqq851szdip7y24bd26nlbc"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Class-Factory-Util/")
+    (home-page "https://metacpan.org/release/Class-Factory-Util")
     (synopsis "Utility methods for factory classes")
     (description "This module exports methods useful for factory classes.")
     (license (package-license perl))))
@@ -1133,7 +1133,7 @@ to the calling program.")
         (base32
          "0d85rihxahdvhj8cysqrgg0kbmcqghz5hgy41dbkxr1qaf5xrynf"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-Inspector/")
+    (home-page "https://metacpan.org/release/Class-Inspector")
     (synopsis "Get information about a class and its structure")
     (description "Class::Inspector allows you to get information about a
 loaded class.")
@@ -1163,7 +1163,7 @@ loaded class.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-module-implementation" ,perl-module-implementation)))
-    (home-page "http://search.cpan.org/dist/Class-Load/")
+    (home-page "https://metacpan.org/release/Class-Load")
     (synopsis "Working (require \"Class::Name\") and more")
     (description "\"require EXPR\" only accepts Class/Name.pm style module
 names, not Class::Name.  For that, this module provides \"load_class
@@ -1188,7 +1188,7 @@ names, not Class::Name.  For that, this module provides \"load_class
        ("perl-test-needs" ,perl-test-needs)
        ("perl-test-without-module" ,perl-test-without-module)))
     (inputs `(("perl-class-load" ,perl-class-load)))
-    (home-page "http://search.cpan.org/dist/Class-Load-XS/")
+    (home-page "https://metacpan.org/release/Class-Load-XS")
     (synopsis "XS implementation of parts of Class::Load")
     (description "This module provides an XS implementation for portions of
 Class::Load.")
@@ -1208,7 +1208,7 @@ Class::Load.")
         (base32
          "0a03i4k3a33qqwhykhz5k437ld5mag2vq52vvsy03gbynb65ivsy"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-MethodMaker/")
+    (home-page "https://metacpan.org/release/Class-MethodMaker")
     (synopsis "Create generic methods for OO Perl")
     (description "This module solves the problem of having to continually
 write accessor methods for your objects that perform standard tasks.")
@@ -1230,7 +1230,7 @@ write accessor methods for your objects that perform standard tasks.")
     (native-inputs
      `(("perl-test-fatal" ,perl-test-fatal)
        ("perl-test-requires" ,perl-test-requires)))
-    (home-page "http://search.cpan.org/dist/Class-Method-Modifiers/")
+    (home-page "https://metacpan.org/release/Class-Method-Modifiers")
     (synopsis "Moose-like method modifiers")
     (description "Class::Method::Modifiers provides three modifiers: 'before',
 'around', and 'after'.  'before' and 'after' are run just before and after the
@@ -1252,7 +1252,7 @@ original method.")
         (base32
          "0y7ngrjf551bjgmijp5rsidbkq6c8hb5lmy2jcqq0fify020s8iq"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-Singleton/")
+    (home-page "https://metacpan.org/release/Class-Singleton")
     (synopsis "Implementation of a singleton class for Perl")
     (description "This module implements a Singleton class from which other
 classes can be derived.  By itself, the Class::Singleton module does very
@@ -1272,7 +1272,7 @@ little other than manage the instantiation of a single object.")
         (base32
          "0knbi1agcfc9d7fca0szvxr6335pb22pc5n648q1vrcba8qvvz1f"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-Tiny/")
+    (home-page "https://metacpan.org/release/Class-Tiny")
     (synopsis "Minimalist class construction")
     (description "This module offers a minimalist class construction kit.  It
 uses no non-core modules for any recent Perl.")
@@ -1293,7 +1293,7 @@ uses no non-core modules for any recent Perl.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-class-inspector" ,perl-class-inspector)))
-    (home-page "http://search.cpan.org/dist/Class-Unload/")
+    (home-page "https://metacpan.org/release/Class-Unload")
     (synopsis "Unload a class")
     (description "Class:Unload unloads a given class by clearing out its
 symbol table and removing it from %INC.")
@@ -1312,7 +1312,7 @@ symbol table and removing it from %INC.")
         (base32
          "1wm6013il899jnm0vn50a7iv9v6r4nqywbqzj0csyf8jbwwnpicr"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Class-XSAccessor/")
+    (home-page "https://metacpan.org/release/Class-XSAccessor")
     (synopsis "Generate fast XS accessors without runtime compilation")
     (description "Class::XSAccessor implements fast read, write, and
 read/write accessors in XS.  Additionally, it can provide predicates such as
@@ -1339,7 +1339,7 @@ arrays for their internal representation.")
      "This module provides a clone() method which makes recursive copies of
 nested hash, array, scalar and reference types, including tied variables and
 objects.")
-    (home-page "http://search.cpan.org/~garu/Clone")
+    (home-page "https://metacpan.org/release/Clone")
     (license (package-license perl))))
 
 (define-public perl-clone-pp
@@ -1355,7 +1355,7 @@ objects.")
         (base32
          "15dkhqvih6rx9dnngfwwljcm9s8afb0nbyl2vdvhd8frnw4y31dz"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Clone-PP/")
+    (home-page "https://metacpan.org/release/Clone-PP")
     (synopsis "Recursively copy Perl datatypes")
     (description "This module provides a general-purpose @code{clone} function
 to make deep copies of Perl data structures.  It calls itself recursively to
@@ -1376,7 +1376,7 @@ and objects.")
         (base32
          "1wxv2s0hbjkrnssvxvsds0k213awg5pgdlrpkr6xkpnimc17s7vp"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/common-sense/")
+    (home-page "https://metacpan.org/release/common-sense")
     (synopsis "Sane defaults for Perl programs")
     (description "This module implements some sane defaults for Perl programs,
 as defined by two typical specimens of Perl coders.")
@@ -1397,7 +1397,7 @@ as defined by two typical specimens of Perl coders.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-module-pluggable" ,perl-module-pluggable)))
-    (home-page "http://search.cpan.org/dist/Config-Any/")
+    (home-page "https://metacpan.org/release/Config-Any")
     (synopsis "Load configuration from different file formats")
     (description "Config::Any provides a facility for Perl applications and
 libraries to load configuration data from multiple different file formats.  It
@@ -1419,7 +1419,7 @@ supports XML, YAML, JSON, Apache-style configuration, and Perl code.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-capture-tiny" ,perl-capture-tiny)))
-    (home-page "http://search.cpan.org/dist/Config-AutoConf/")
+    (home-page "https://metacpan.org/release/Config-AutoConf")
     (synopsis "Module to implement some AutoConf macros in Perl")
     (description "Config::AutoConf is intended to provide the same
 opportunities to Perl developers as GNU Autoconf does for Shell developers.")
@@ -1438,7 +1438,7 @@ opportunities to Perl developers as GNU Autoconf does for Shell developers.")
         (base32
          "0szxxaihz71pr0r2jp9wvbrfc3hrsxi9xrd9vnyrxlrax8sci5h9"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Config-General/")
+    (home-page "https://metacpan.org/release/Config-General")
     (synopsis "Generic Config Module")
     (description "This module opens a config file and parses its contents for
 you.  The format of config files supported by Config::General is inspired by
@@ -1466,7 +1466,7 @@ options.")
      `(("perl-mixin-linewise" ,perl-mixin-linewise)
        ("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)
        ("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/Config-INI/")
+    (home-page "https://metacpan.org/release/Config-INI")
     (synopsis "Simple .ini-file format reader and writer")
     (description "@code{Config::INI} is a module that facilates the reading
 and writing of @code{.ini}-style configuration files.")
@@ -1488,7 +1488,7 @@ and writing of @code{.ini}-style configuration files.")
     (native-inputs
      `(("perl-test-exception" ,perl-test-exception)
        ("perl-test-simple" ,perl-test-simple)))
-    (home-page "http://search.cpan.org/dist/Context-Preserve/")
+    (home-page "https://metacpan.org/release/Context-Preserve")
     (synopsis "Preserve context during subroutine call")
     (description "This module runs code after a subroutine call, preserving
 the context the subroutine would have seen if it were the last statement in
@@ -1514,7 +1514,7 @@ the caller.")
      `(("perl-file-slurp" ,perl-file-slurp)
        ("perl-test-most" ,perl-test-most)))
     (home-page
-     "http://search.cpan.org/dist/Convert-BinHex/")
+     "https://metacpan.org/release/Convert-BinHex")
     (synopsis "Extract data from Macintosh BinHex files")
     (description
      "BinHex is a format for transporting files safely through electronic
@@ -1537,7 +1537,7 @@ data.")
         (base32
          "13dy78amkhwg278sv5im0ylyskhxpfivyl2aissqqih71nlxxvh1"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/CPAN-Changes/")
+    (home-page "https://metacpan.org/release/CPAN-Changes")
     (synopsis "Read and write @file{Changes} files")
     (description
      "@code{CPAN::Changes} helps users programmatically read and write
@@ -1559,7 +1559,7 @@ data.")
     (build-system perl-build-system)
     (native-inputs `(("perl-test-deep" ,perl-test-deep)))
     (propagated-inputs `(("perl-cpan-meta" ,perl-cpan-meta)))
-    (home-page "http://search.cpan.org/dist/CPAN-Meta-Check/")
+    (home-page "https://metacpan.org/release/CPAN-Meta-Check")
     (synopsis "Verify requirements in a CPAN::Meta object")
     (description "This module verifies if requirements described in a
 CPAN::Meta object are present.")
@@ -1580,7 +1580,7 @@ CPAN::Meta object are present.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
-    (home-page "http://search.cpan.org/dist/Cpanel-JSON-XS/")
+    (home-page "https://metacpan.org/release/Cpanel-JSON-XS")
     (synopsis "JSON::XS for Cpanel")
     (description "This module converts Perl data structures to JSON and vice
 versa.")
@@ -1599,7 +1599,7 @@ versa.")
         (base32
          "0ca8544371wp4vvqsa19lnhl02hczpkbwkgsgm65ziwwim3r1gdi"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Crypt-RandPasswd/")
+    (home-page "https://metacpan.org/release/Crypt-RandPasswd")
     (synopsis "Random password generator")
     (description "Crypt::RandPasswd provides three functions that can be used
 to generate random passwords, constructed from words, letters, or characters.
@@ -1625,7 +1625,7 @@ Password Generator\".")
         (base32
          "1sp099cws0q225h6j4y68hmfd1lnv5877gihjs40f8n2ddf45i2y"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Crypt-RC4/")
+    (home-page "https://metacpan.org/release//Crypt-RC4")
     (synopsis "Perl implementation of the RC4 encryption algorithm")
     (description "A pure Perl implementation of the RC4 algorithm.")
     (license (package-license perl))))
@@ -1645,7 +1645,7 @@ Password Generator\".")
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-requires" ,perl-test-requires)))
-    (home-page "http://search.cpan.org/dist/Cwd-Guard/")
+    (home-page "https://metacpan.org/release/Cwd-Guard")
     (synopsis "Temporarily change working directory")
     (description
      "@code{Cwd::Guard} changes the current directory using a limited scope.
@@ -1715,7 +1715,7 @@ bioinformatics data.")
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-role-tiny" ,perl-role-tiny)
        ("perl-strictures" ,perl-strictures)))
-    (home-page "http://search.cpan.org/dist/Data-Perl/")
+    (home-page "https://metacpan.org/release/Data-Perl")
     (synopsis "Base classes wrapping fundamental Perl data types")
     (description "Collection of classes that wrap fundamental data types that
 exist in Perl.  These classes and methods as they exist today are an attempt
@@ -1739,7 +1739,7 @@ input.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-file-find-rule" ,perl-file-find-rule)))
-    (home-page "http://search.cpan.org/dist/Data-Compare/")
+    (home-page "https://metacpan.org/release/Data-Compare")
     (synopsis "Compare Perl data structures")
     (description "This module compares arbitrary data structures to see if
 they are copies of each other.")
@@ -1758,7 +1758,7 @@ they are copies of each other.")
         (base32
          "1jsc6acmv97pzsvx1fqywz4qvxxpp7kwmb78ygyqpsczkfj9p4dn"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Data-Uniqid/")
+    (home-page "https://metacpan.org/release/Data-Uniqid")
     (synopsis "Perl extension for generating unique identifiers")
     (description "@code{Data::Uniqid} provides three simple routines for
 generating unique ids.  These ids are coded with a Base62 systen to make them
@@ -1778,7 +1778,7 @@ short and handy (e.g. to use it as part of a URL).")
         (base32
          "0r9ba52b7p8nnn6nw0ygm06lygi8g68piri78jmlqyrqy5gb0lxg"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Data-Dump/")
+    (home-page "https://metacpan.org/release/Data-Dump")
     (synopsis "Pretty printing of data structures")
     (description "This module provide functions that takes a list of values as
 their argument and produces a string as its result.  The string contains Perl
@@ -1798,7 +1798,7 @@ code that, when \"eval\"ed, produces a deep copy of the original arguments.")
         (base32
          "0lsqbl1mxhkj0qnjfa1jrvx8wwbyi81bgwfyj1si6cdg7h8jzhm6"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Data-Dumper-Concise/")
+    (home-page "https://metacpan.org/release/Data-Dumper-Concise")
     (synopsis "Concise data dumper")
     (description "Data::Dumper::Concise provides a dumper with Less
 indentation and newlines plus sub deparsing.")
@@ -1821,7 +1821,7 @@ indentation and newlines plus sub deparsing.")
     (propagated-inputs
      `(("perl-sub-install" ,perl-sub-install)
        ("perl-params-util" ,perl-params-util)))
-    (home-page "http://search.cpan.org/dist/Data-OptList/")
+    (home-page "https://metacpan.org/release/Data-OptList")
     (synopsis "Parse and validate simple name/value option pairs")
     (description
      "Data::OptList provides a simple syntax for name/value option pairs.")
@@ -1845,7 +1845,7 @@ indentation and newlines plus sub deparsing.")
        ("perl-test-exception" ,perl-test-exception)))
     (propagated-inputs
      `(("perl-class-accessor-chained" ,perl-class-accessor-chained)))
-    (home-page "http://search.cpan.org/dist/Data-Page/")
+    (home-page "https://metacpan.org/release/Data-Page")
     (synopsis "Help when paging through sets of results")
     (description "When searching through large amounts of data, it is often
 the case that a result set is returned that is larger than we want to display
@@ -1881,7 +1881,7 @@ The maths behind this is unfortunately fiddly, hence this module.")
     (propagated-inputs
      `(("perl-list-moreutils" ,perl-list-moreutils)))
     (home-page
-     "http://search.cpan.org/dist/Data-Perl/")
+     "https://metacpan.org/release/Data-Perl")
     (synopsis "Base classes wrapping fundamental Perl data types")
     (description
      "@code{Data::Perl} is a container class for the following classes:
@@ -1914,7 +1914,7 @@ The maths behind this is unfortunately fiddly, hence this module.")
        ("perl-file-homedir" ,perl-file-homedir)
        ("perl-package-stash" ,perl-package-stash)
        ("perl-sort-naturally" ,perl-sort-naturally)))
-    (home-page "http://search.cpan.org/dist/Data-Printer/")
+    (home-page "https://metacpan.org/release/Data-Printer")
     (synopsis "Colored pretty-print of Perl data structures and objects")
     (description "Display Perl variables and objects on screen, properly
 formatted (to be inspected by a human).")
@@ -1938,7 +1938,7 @@ formatted (to be inspected by a human).")
        ("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-sub-uplevel" ,perl-sub-uplevel)))
-    (home-page "http://search.cpan.org/dist/Data-Record/")
+    (home-page "https://metacpan.org/release/Data-Record")
     (synopsis "Conditionally split data into records")
     (description "This Perl module allows you to split data into records by
 not only specifying what you wish to split the data on, but also by specifying
@@ -1967,7 +1967,7 @@ like split on newlines unless newlines are embedded in quotes.")
     (propagated-inputs
      `(("perl-mro-compat" ,perl-mro-compat)
        ("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/Data-Section/")
+    (home-page "https://metacpan.org/release/Data-Section")
     (synopsis "Read multiple hunks of data out of your DATA section")
     (description "This package provides a Perl library to read multiple hunks
 of data out of your DATA section.")
@@ -1988,7 +1988,7 @@ of data out of your DATA section.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-io-string" ,perl-io-string)))
-    (home-page "http://search.cpan.org/dist/Data-Stag/")
+    (home-page "https://metacpan.org/release/Data-Stag")
     (synopsis "Structured tags datastructures")
     (description
      "This module is for manipulating data as hierarchical tag/value
@@ -2017,7 +2017,7 @@ Perl.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-path-class" ,perl-path-class)
        ("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/Data-Stream-Bulk/")
+    (home-page "https://metacpan.org/release/Data-Stream-Bulk")
     (synopsis "N at a time iteration API")
     (description "This module tries to find middle ground between one at a
 time and all at once processing of data sets.  The purpose of this module is
@@ -2043,7 +2043,7 @@ necessary later on.")
      `(("perl-test-most" ,perl-test-most)))
     (propagated-inputs
      `(("perl-file-homedir" ,perl-file-homedir)))
-    (home-page "http://search.cpan.org/dist/Data-Tumbler/")
+    (home-page "https://metacpan.org/release/Data-Tumbler")
     (synopsis "Dynamic generation of nested combinations of variants")
     (description "Data::Tumbler - Dynamic generation of nested combinations of
 variants.")
@@ -2070,7 +2070,7 @@ variants.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-task-weaken" ,perl-task-weaken)
        ("perl-tie-toobject" ,perl-tie-toobject)))
-    (home-page "http://search.cpan.org/dist/Data-Visitor/")
+    (home-page "https://metacpan.org/release/Data-Visitor")
     (synopsis "Visitor style traversal of Perl data structures")
     (description "This module is a simple visitor implementation for Perl
 values.  It has a main dispatcher method, visit, which takes a single perl
@@ -2096,7 +2096,7 @@ structures, and all ref types (hashes, arrays, scalars, code, globs).")
     (propagated-inputs
      `(("perl-bit-vector" ,perl-bit-vector)
        ("perl-carp-clan" ,perl-carp-clan)))
-    (home-page "http://search.cpan.org/dist/Date-Calc/")
+    (home-page "https://metacpan.org/release/Date-Calc")
     (synopsis "Gregorian calendar date calculations")
     (description "This package consists of a Perl module for date calculations
 based on the Gregorian calendar, thereby complying with all relevant norms and
@@ -2121,7 +2121,7 @@ applicable).")
      `(("perl-bit-vector" ,perl-bit-vector)
        ("perl-carp-clan" ,perl-carp-clan)
        ("perl-date-calc" ,perl-date-calc)))
-    (home-page "http://search.cpan.org/dist/Date-Calc-XS/")
+    (home-page "https://metacpan.org/release/Date-Calc-XS")
     (synopsis "XS wrapper for Date::Calc")
     (description "Date::Calc::XS is an XS wrapper and C library plug-in for
 Date::Calc.")
@@ -2146,7 +2146,7 @@ Date::Calc.")
      ;; (gnu packages base) which would create a circular dependency.  TODO:
      ;; Maybe put this package elsewhere so we can turn on tests.
      '(#:tests? #f))
-    (home-page "http://search.cpan.org/dist/Date-Manip/")
+    (home-page "https://metacpan.org/release/Date-Manip")
     (synopsis "Date manipulation routines")
     (description "Date::Manip is a series of modules for common date/time
 operations, such as comparing two times, determining a date a given amount of
@@ -2166,7 +2166,7 @@ time from another, or parsing international times.")
         (base32
          "016x17r9wi6ffdc4idwirzd1sxqcb4lmq5fn2aiq25nf2iir5899"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Date-Simple/")
+    (home-page "https://metacpan.org/release/Date-Simple")
     (synopsis "Simple date handling")
     (description "Dates are complex enough without times and timezones.  This
 module may be used to create simple date objects.  It handles validation,
@@ -2199,7 +2199,7 @@ hours, minutes, seconds, and time zones.")
        ("perl-file-sharedir" ,perl-file-sharedir)
        ("perl-params-validate" ,perl-params-validate)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/DateTime/")
+    (home-page "https://metacpan.org/release/DateTime")
     (synopsis "Date and time object for Perl")
     (description "DateTime is a class for the representation of date/time
 combinations.  It represents the Gregorian calendar, extended backwards in
@@ -2222,7 +2222,7 @@ time before its creation (in 1582).")
     ;; Only needed for tests
     (native-inputs
      `(("perl-datetime" ,perl-datetime)))
-    (home-page "http://search.cpan.org/dist/DateTime-Calendar-Julian/")
+    (home-page "https://metacpan.org/release/DateTime-Calendar-Julian")
     (synopsis "Dates in the Julian calendar")
     (description "This package is a companion module to @code{DateTime.pm}.
 It implements the Julian calendar.  It supports everything that
@@ -2249,7 +2249,7 @@ precise.")
      `(("perl-datetime" ,perl-datetime)
        ("perl-params-validate" ,perl-params-validate)
        ("perl-set-infinite" ,perl-set-infinite)))
-    (home-page "http://search.cpan.org/dist/DateTime-Set/")
+    (home-page "https://metacpan.org/release/DateTime-Set")
     (synopsis "DateTime set objects")
     (description "The DateTime::Set module provides a date/time sets
 implementation.  It allows, for example, the generation of groups of dates,
@@ -2273,7 +2273,7 @@ within a time range.")
     (propagated-inputs
      `(("perl-datetime" ,perl-datetime)
        ("perl-datetime-event-recurrence" ,perl-datetime-event-recurrence)))
-    (home-page "http://search.cpan.org/dist/DateTime-Event-ICal/")
+    (home-page "https://metacpan.org/release/DateTime-Event-ICal")
     (synopsis "DateTime rfc2445 recurrences")
     (description "This module provides convenience methods that let you easily
 create DateTime::Set objects for RFC 2445 style recurrences.")
@@ -2295,7 +2295,7 @@ create DateTime::Set objects for RFC 2445 style recurrences.")
     (propagated-inputs
      `(("perl-datetime" ,perl-datetime)
        ("perl-datetime-set" ,perl-datetime-set)))
-    (home-page "http://search.cpan.org/dist/DateTime-Event-Recurrence/")
+    (home-page "https://metacpan.org/release/DateTime-Event-Recurrence")
     (synopsis "DateTime::Set extension for basic recurrences")
     (description "This module provides convenience methods that let you easily
 create DateTime::Set objects for various recurrences, such as \"once a month\"
@@ -2321,7 +2321,7 @@ or \"every day\".  You can also create more complicated recurrences, such as
        ("perl-datetime" ,perl-datetime)
        ("perl-datetime-format-strptime" ,perl-datetime-format-strptime)
        ("perl-params-validate" ,perl-params-validate)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-Builder/")
+    (home-page "https://metacpan.org/release/DateTime-Format-Builder")
     (synopsis "Create DateTime parser classes and objects")
     (description "DateTime::Format::Builder creates DateTime parsers.  Many
 string formats of dates and times are simple and just require a basic regular
@@ -2349,7 +2349,7 @@ to do this without writing reams of structural code.")
        ("perl-list-moreutils" ,perl-list-moreutils)
        ("perl-module-pluggable" ,perl-module-pluggable)
        ("perl-test-mocktime" ,perl-test-mocktime)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-Flexible/")
+    (home-page "https://metacpan.org/release/DateTime-Format-Flexible")
     (synopsis "Parse data/time strings")
     (description "DateTime::Format::Flexible attempts to take any string you
 give it and parse it into a DateTime object.")
@@ -2376,7 +2376,7 @@ give it and parse it into a DateTime object.")
        ("perl-datetime-set" ,perl-datetime-set)
        ("perl-datetime-timezone" ,perl-datetime-timezone)
        ("perl-params-validate" ,perl-params-validate)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-ICal/")
+    (home-page "https://metacpan.org/release/DateTime-Format-ICal")
     (synopsis "Parse and format iCal datetime and duration strings")
     (description "This module understands the ICal date/time and duration
 formats, as defined in RFC 2445.  It can be used to parse these formats in
@@ -2409,7 +2409,7 @@ order to create the appropriate objects.")
        ("perl-datetime-timezone" ,perl-datetime-timezone)
        ("perl-list-moreutils" ,perl-list-moreutils)
        ("perl-params-validate" ,perl-params-validate)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-Natural/")
+    (home-page "https://metacpan.org/release/DateTime-Format-Natural")
     (synopsis "Machine-readable date/time with natural parsing")
     (description "DateTime::Format::Natural takes a string with a human
 readable date/time and creates a machine readable one by applying natural
@@ -2437,7 +2437,7 @@ parsing logic.")
        ("perl-params-validate" ,perl-params-validate)
        ("perl-sub-name" ,perl-sub-name)
        ("perl-test-warnings" ,perl-test-warnings)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-Strptime/")
+    (home-page "https://metacpan.org/release/DateTime-Format-Strptime")
     (synopsis "Parse and format strp and strf time patterns")
     (description "This module implements most of `strptime(3)`, the POSIX
 function that is the reverse of `strftime(3)`, for `DateTime`.  While
@@ -2470,7 +2470,7 @@ takes a string and a pattern and returns the `DateTime` object associated.")
     (propagated-inputs
      `(("perl-list-moreutils" ,perl-list-moreutils)
        ("perl-params-validationcompiler" ,perl-params-validationcompiler)))
-    (home-page "http://search.cpan.org/dist/DateTime-Locale/")
+    (home-page "https://metacpan.org/release/DateTime-Locale")
     (synopsis "Localization support for DateTime.pm")
     (description "The DateTime::Locale modules provide localization data for
 the DateTime.pm class.")
@@ -2499,7 +2499,7 @@ the DateTime.pm class.")
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)
        ("perl-params-validationcompiler" ,perl-params-validationcompiler)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/DateTime-TimeZone/")
+    (home-page "https://metacpan.org/release/DateTime-TimeZone")
     (synopsis "Time zone object for Perl")
     (description "This class is the base class for all time zone objects.  A
 time zone is represented internally as a set of observances, each of which
@@ -2530,7 +2530,7 @@ DateTime::TimeZone methods.")
        ("perl-datetime-format-ical" ,perl-datetime-format-ical)
        ("perl-datetime-format-natural" ,perl-datetime-format-natural)
        ("perl-timedate" ,perl-timedate)))
-    (home-page "http://search.cpan.org/dist/DateTimeX-Easy/")
+    (home-page "https://metacpan.org/release/DateTimeX-Easy")
     (synopsis "Parse date/time strings")
     (description "DateTimeX::Easy uses a variety of DateTime::Format packages
 to create DateTime objects, with some custom tweaks to smooth out the rough
@@ -2552,7 +2552,7 @@ edges (mainly concerning timezone detection and selection).")
     (inputs
      `(("perl-datetime" ,perl-datetime)
        ("perl-params-validate" ,perl-params-validate)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-Mail/")
+    (home-page "https://metacpan.org/release/DateTime-Format-Mail")
     (synopsis "Convert between DateTime and RFC2822/822 formats")
     (description "RFCs 2822 and 822 specify date formats to be used by email.
 This module parses and emits such dates.")
@@ -2575,7 +2575,7 @@ This module parses and emits such dates.")
     (native-inputs
      `(("perl-test-pod" ,perl-test-pod)
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-W3CDTF/")
+    (home-page "https://metacpan.org/release/DateTime-Format-W3CDTF")
     (synopsis "Parse and format W3CDTF datetime strings")
     (description
      "This module understands the W3CDTF date/time format, an ISO 8601 profile,
@@ -2599,7 +2599,7 @@ the appropriate objects.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-padwalker" ,perl-padwalker)))
-    (home-page "http://search.cpan.org/dist/Devel-Caller/")
+    (home-page "https://metacpan.org/release/Devel-Caller")
     (synopsis "Meatier version of caller")
     (description "Devel::Caller provides meatier version of caller.")
     (license (package-license perl))))
@@ -2618,7 +2618,7 @@ the appropriate objects.")
          "0g71sma9jy0fjm619hcrcsb9spg2y03vjxx36y8k1xpa2553sr7m"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Devel-CheckBin/")
+    (home-page "https://metacpan.org/release/Devel-CheckBin")
     (synopsis "Check that a command is available")
     (description "Devel::CheckBin is a perl module that checks whether a
 particular command is available.")
@@ -2638,7 +2638,7 @@ particular command is available.")
   (build-system perl-build-system)
   (native-inputs
    `(("perl-module-build-tiny" ,perl-module-build-tiny)))
-  (home-page "http://search.cpan.org/dist/Devel-CheckCompiler/")
+  (home-page "https://metacpan.org/release/Devel-CheckCompiler")
   (synopsis "Check compiler availability")
   (description "@code{Devel::CheckCompiler} is a tiny module to check
 whether a compiler is available.  It can test for a C99 compiler, or
@@ -2661,7 +2661,7 @@ you can tell it to compile a C source file with optional linker flags.")
          "1hhb77kz3dys8yaik452j22cm3510zald2mpvfyv5clqv326aczx"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/Devel-Cycle/")
+     "https://metacpan.org/release/Devel-Cycle")
     (synopsis "Find memory cycles in objects")
     (description
      "@code{Devel::Cycle} This is a tool for finding circular references in
@@ -2684,7 +2684,7 @@ based memory management, circular references will cause memory leaks.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-sub-exporter-progressive" ,perl-sub-exporter-progressive)))
-    (home-page "http://search.cpan.org/dist/Devel-GlobalDestruction/")
+    (home-page "https://metacpan.org/release/Devel-GlobalDestruction")
     (synopsis "Provides equivalent of ${^GLOBAL_PHASE} eq 'DESTRUCT' for older perls")
     (description "Devel::GlobalDestruction provides a function returning the
 equivalent of \"$@{^GLOBAL_PHASE@} eq 'DESTRUCT'\" for older perls.")
@@ -2706,7 +2706,7 @@ equivalent of \"$@{^GLOBAL_PHASE@} eq 'DESTRUCT'\" for older perls.")
     (propagated-inputs
      `(("perl-test-pod" ,perl-test-pod)
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
-    (home-page "http://search.cpan.org/dist/Devel-Hide/")
+    (home-page "https://metacpan.org/release/Devel-Hide")
     (synopsis "Forces the unavailability of specified Perl modules (for testing)")
     (description "Given a list of Perl modules/filenames, this module makes
 @code{require} and @code{use} statements fail (no matter whether the specified
@@ -2728,7 +2728,7 @@ files/modules are installed or not).")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-devel-caller" ,perl-devel-caller)))
-    (home-page "http://search.cpan.org/dist/Devel-LexAlias/")
+    (home-page "https://metacpan.org/release/Devel-LexAlias")
     (synopsis "Alias lexical variables")
     (description "Devel::LexAlias provides the ability to alias a lexical
 variable in a subroutines scope to one of your choosing.")
@@ -2753,7 +2753,7 @@ variable in a subroutines scope to one of your choosing.")
      `(("perl-package-stash" ,perl-package-stash)
        ("perl-sub-identify" ,perl-sub-identify)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Devel-OverloadInfo/")
+    (home-page "https://metacpan.org/release/Devel-OverloadInfo")
     (synopsis "Introspect overloaded operators")
     (description "Devel::OverloadInfo returns information about overloaded
 operators for a given class (or object), including where in the inheritance
@@ -2781,7 +2781,7 @@ hierarchy the overloads are declared and where the code implementing it is.")
      `(("perl-class-tiny" ,perl-class-tiny)
        ("perl-sub-exporter" ,perl-sub-exporter)
        ("perl-namespace-clean" ,perl-namespace-clean)))
-    (home-page "http://search.cpan.org/dist/Devel-PartialDump/")
+    (home-page "https://metacpan.org/release/Devel-PartialDump")
     (synopsis "Partial dumping of data structures")
     (description "This module is a data dumper optimized for logging of
 arbitrary parameters.")
@@ -2800,7 +2800,7 @@ arbitrary parameters.")
         (base32
          "0j58kgjr9s3vibsgifmk9k5h7daag0cb9x45f30m9qi4pr7cs63n"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Devel-StackTrace/")
+    (home-page "https://metacpan.org/release/Devel-StackTrace")
     (synopsis "Object representing a stack trace")
     (description "The Devel::StackTrace module contains two classes,
 Devel::StackTrace and Devel::StackTrace::Frame.  These objects encapsulate the
@@ -2823,7 +2823,7 @@ providing a simple interface to this data.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-devel-stacktrace" ,perl-devel-stacktrace)))
-    (home-page "http://search.cpan.org/dist/Devel-StackTrace-AsHTML/")
+    (home-page "https://metacpan.org/release/Devel-StackTrace-AsHTML")
     (synopsis "Displays stack trace in HTML")
     (description "Devel::StackTrace::AsHTML adds as_html method to
 Devel::StackTrace which displays the stack trace in beautiful HTML, with code
@@ -2845,7 +2845,7 @@ each stack frame.")
         (base32
          "1h3n0w23camhj20a97nw7v40rqa7xcxx8vkn2qjjlngm0yhq2vw2"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Devel-Symdump/")
+    (home-page "https://metacpan.org/release/Devel-Symdump")
     (synopsis "Dump symbol names or the symbol table")
     (description "Devel::Symdump provides access to the perl symbol table.")
     (license (package-license perl))))
@@ -2863,7 +2863,7 @@ each stack frame.")
         (base32
          "0naavabbm1c9zgn325ndy66da4insdw9l3mrxwxdfi7i7xnjrirv"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Digest-HMAC/")
+    (home-page "https://metacpan.org/release/Digest-HMAC")
     (synopsis "Keyed-Hashing for Message Authentication")
     (description "The Digest::HMAC module follows the common Digest::
 interface for the RFC 2104 HMAC mechanism.")
@@ -2889,7 +2889,7 @@ interface for the RFC 2104 HMAC mechanism.")
            (lambda _
              ;; Make MD5.so read-write so it can be stripped.
              (chmod "blib/arch/auto/Digest/MD5/MD5.so" #o755))))))
-    (home-page "http://search.cpan.org/dist/Digest-MD5/")
+    (home-page "https://metacpan.org/release/Digest-MD5")
     (synopsis "Perl interface to the MD-5 algorithm")
     (description
      "The @code{Digest::MD5} module allows you to use the MD5 Message Digest
@@ -2914,7 +2914,7 @@ input a message of arbitrary length and produces as output a
     (description
      "This package provides 'Digest::SHA1', an implementation of the NIST
 SHA-1 message digest algorithm for use by Perl programs.")
-    (home-page "http://search.cpan.org/~gaas/Digest-SHA1")
+    (home-page "https://metacpan.org/release/Digest-SHA1")
     (license (package-license perl))))
 
 (define-public perl-dist-checkconflicts
@@ -2932,7 +2932,7 @@ SHA-1 message digest algorithm for use by Perl programs.")
     (native-inputs `(("perl-test-fatal" ,perl-test-fatal)))
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)))
-    (home-page "http://search.cpan.org/dist/Dist-CheckConflicts/")
+    (home-page "https://metacpan.org/release/Dist-CheckConflicts")
     (synopsis "Declare version conflicts for your dist")
     (description "This module allows you to specify conflicting versions of
 modules separately and deal with them after the module is done installing.")
@@ -2953,7 +2953,7 @@ modules separately and deal with them after the module is done installing.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Encode-Detect/")
+    (home-page "https://metacpan.org/release/Encode-Detect")
     (synopsis "Detect the encoding of data")
     (description "This package provides a class @code{Encode::Detect} to detect
 the encoding of data.")
@@ -2972,7 +2972,7 @@ the encoding of data.")
         (base32
          "0qg8kmi7r9jcf8326b4fyq5sdpqyim2a11h7j77q577xam6x767r"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Encode-EUCJPASCII/")
+    (home-page "https://metacpan.org/release/Encode-EUCJPASCII")
     (synopsis "ASCII mapping for eucJP encoding")
     (description "This package provides an ASCII mapping for the eucJP
 encoding.")
@@ -2991,7 +2991,7 @@ encoding.")
         (base32
          "1k1mdj4rd9m1z4h7qd2dl92ky0r1rk7mmagwsvdb9pirvdr4vj0y"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Encode-JIS2K/")
+    (home-page "https://metacpan.org/release/Encode-JIS2K")
     (synopsis "JIS X 0212 (aka JIS 2000) encodings")
     (description "This package provides encodings for JIS X 0212, which is
 also known as JIS 2000.")
@@ -3015,7 +3015,7 @@ also known as JIS 2000.")
        (modify-phases %standard-phases
          (add-after 'unpack 'set-env
            (lambda _ (setenv "PERL_USE_UNSAFE_INC" "1"))))))
-    (home-page "http://search.cpan.org/dist/Encode-HanExtra/")
+    (home-page "https://metacpan.org/release/Encode-HanExtra")
     (synopsis "Additional Chinese encodings")
     (description "This Perl module provides Chinese encodings that are not
 part of Perl by default, including \"BIG5-1984\", \"BIG5-2003\", \"BIG5PLUS\",
@@ -3038,7 +3038,7 @@ part of Perl by default, including \"BIG5-1984\", \"BIG5-2003\", \"BIG5PLUS\",
         (base32
          "1qhmj15a66h90pjl2dgnxsb9jj3b1r5mpvnr87cafcl8g69z0jr4"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Env-Path/")
+    (home-page "https://metacpan.org/release/Env-Path")
     (synopsis "Advanced operations on path variables")
     (description "@code{Env::Path} presents an object-oriented interface to
 path variables, defined as that subclass of environment variables which name
@@ -3059,7 +3059,7 @@ separator.")
                 "1bzgzmf1v4md02vadm46b4j4ilqxrcrfasvbzymhrznlsd54g7vc"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Error/")
+    (home-page "https://metacpan.org/release/Error")
     (synopsis "OO-ish Error/Exception handling for Perl")
     (description "The Error package provides two interfaces.  Firstly Error
 provides a procedural interface to exception handling.  Secondly Error is a
@@ -3085,7 +3085,7 @@ catch, or can simply be recorded.")
        ("perl-test-requires" ,perl-test-requires)))
     (propagated-inputs
      `(("perl-devel-lexalias" ,perl-devel-lexalias)))
-    (home-page "http://search.cpan.org/dist/Eval-Closure/")
+    (home-page "https://metacpan.org/release/Eval-Closure")
     (synopsis "Safely and cleanly create closures via string eval")
     (description "String eval is often used for dynamic code generation.  For
 instance, Moose uses it heavily, to generate inlined versions of accessors and
@@ -3115,7 +3115,7 @@ errors are rethrown automatically.")
     (propagated-inputs
      `(("perl-devel-stacktrace" ,perl-devel-stacktrace)
        ("perl-class-data-inheritable" ,perl-class-data-inheritable)))
-    (home-page "http://search.cpan.org/dist/Exception-Class/")
+    (home-page "https://metacpan.org/release/Exception-Class")
     (synopsis "Allows you to declare real exception classes in Perl")
     (description "Exception::Class allows you to declare exception hierarchies
 in your modules in a \"Java-esque\" manner.")
@@ -3138,7 +3138,7 @@ in your modules in a \"Java-esque\" manner.")
      "Exporter::Lite is an alternative to Exporter, intended to provide a
 lightweight subset of the most commonly-used functionality.  It supports
 import(), @@EXPORT and @@EXPORT_OK and not a whole lot else.")
-    (home-page "http://search.cpan.org/dist/Exporter-Lite/")
+    (home-page "https://metacpan.org/release/Exporter-Lite")
     (license (package-license perl))))
 
 (define-public perl-exporter-tiny
@@ -3154,7 +3154,7 @@ import(), @@EXPORT and @@EXPORT_OK and not a whole lot else.")
         (base32
          "0gq2ia8c6n84gdrlc73vab61djs8gs8zf7fqx8cxbg5zxg2j45lg"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Exporter-Tiny/")
+    (home-page "https://metacpan.org/release/Exporter-Tiny")
     (synopsis "Exporter with the features of Sub::Exporter but only core dependencies")
     (description "Exporter::Tiny supports many of Sub::Exporter's
 external-facing features including renaming imported functions with the `-as`,
@@ -3178,7 +3178,7 @@ only about 40% as many lines of code and with zero non-core dependencies.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-extutils-config" ,perl-extutils-config)))
-    (home-page "http://search.cpan.org/dist/ExtUtils-InstallPaths/")
+    (home-page "https://metacpan.org/release/ExtUtils-InstallPaths")
     (synopsis "Build.PL install path logic made easy")
     (description "This module tries to make install path resolution as easy as
 possible.")
@@ -3197,7 +3197,7 @@ possible.")
         (base32
          "130s5zk4krrymbynqxx62g13jynnb7xi7vdpg65cw3b56kv08ldf"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/ExtUtils-Config/")
+    (home-page "https://metacpan.org/release/ExtUtils-Config")
     (synopsis "Wrapper for perl's configuration")
     (description "ExtUtils::Config is an abstraction around the %Config hash.
 By itself it is not a particularly interesting module by any measure, however
@@ -3218,7 +3218,7 @@ it ties together a family of modern toolchain modules.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-number-delta" ,perl-test-number-delta)))
-    (home-page "http://search.cpan.org/dist/ExtUtils-Depends/")
+    (home-page "https://metacpan.org/release/ExtUtils-Depends")
     (synopsis "Easily build XS extensions that depend on XS extensions")
     (description
      "This module tries to make it easy to build Perl extensions that use
@@ -3240,7 +3240,7 @@ XS interface besides the perl one.")
         (base32
          "15dalfwmpfmifw312i5pwiai8134pxf7b2804shlqhdk1xqczy6k"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/ExtUtils-Helpers/")
+    (home-page "https://metacpan.org/release/ExtUtils-Helpers")
     (synopsis "Various portability utilities for module builders")
     (description "This module provides various portable helper functions for
 module building modules.")
@@ -3261,7 +3261,7 @@ module building modules.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/ExtUtils-LibBuilder/")
+    (home-page "https://metacpan.org/release/ExtUtils-LibBuilder")
     (synopsis "Tool to build C libraries")
     (description "Some Perl modules need to ship C libraries together with
 their Perl code.  Although there are mechanisms to compile and link (or glue)
@@ -3283,7 +3283,7 @@ self-contained C libraries.  This module main goal is to help in that task.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("pkg-config" ,pkg-config)))
-    (home-page "http://search.cpan.org/dist/ExtUtils-PkgConfig/")
+    (home-page "https://metacpan.org/release/ExtUtils-PkgConfig")
     (synopsis "Simplistic interface to pkg-config")
     (description
      "@code{ExtUtils::PkgConfig} is a very simplistic interface to the
@@ -3317,7 +3317,7 @@ It is really just boilerplate code that you would have written yourself.")
        ("perl-moosex-semiaffordanceaccessor"
         ,perl-moosex-semiaffordanceaccessor)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/File-ChangeNotify/")
+    (home-page "https://metacpan.org/release/File-ChangeNotify")
     (synopsis "Watch for changes to files")
     (description "This module provides a class to monitor a directory for
 changes made to any file.")
@@ -3339,7 +3339,7 @@ changes made to any file.")
     (propagated-inputs
      `(("perl-file-homedir" ,perl-file-homedir)
        ("perl-list-moreutils" ,perl-list-moreutils)))
-    (home-page "http://search.cpan.org/dist/File-ConfigDir/")
+    (home-page "https://metacpan.org/release/File-ConfigDir")
     (synopsis "Get directories of configuration files")
     (description "This module is a helper for installing, reading and finding
 configuration file locations.  @code{File::ConfigDir} is a module to help out
@@ -3360,7 +3360,7 @@ configuration files from more than one location.")
         (base32
          "1syyyvylr51iicialdmv0dw06q49xzv8zrkb5cn8ma4l73gvvk44"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-Copy-Recursive/")
+    (home-page "https://metacpan.org/release/File-Copy-Recursive")
     (synopsis "Recursively copy files and directories")
     (description "This module has 3 functions: one to copy files only, one to
 copy directories only, and one to do either depending on the argument's
@@ -3383,7 +3383,7 @@ type.")
     (propagated-inputs
      `(("perl-text-glob" ,perl-text-glob)
        ("perl-number-compare" ,perl-number-compare)))
-    (home-page "http://search.cpan.org/dist/File-Find-Rule/")
+    (home-page "https://metacpan.org/release/File-Find-Rule")
     (synopsis "Alternative interface to File::Find")
     (description "File::Find::Rule is a friendlier interface to File::Find.
 It allows you to build rules which specify the desired files and
@@ -3407,7 +3407,7 @@ directories.")
      `(("perl-file-find-rule" ,perl-file-find-rule)
        ("perl-params-util" ,perl-params-util)
        ("perl-parse-cpan-meta" ,perl-parse-cpan-meta)))
-    (home-page "http://search.cpan.org/dist/File-Find-Rule-Perl/")
+    (home-page "https://metacpan.org/release/File-Find-Rule-Perl")
     (synopsis "Common rules for searching for Perl things")
     (description "File::Find::Rule::Perl provides methods for finding various
 types Perl-related files, or replicating search queries run on a distribution
@@ -3429,7 +3429,7 @@ in various parts of the CPAN ecosystem.")
         (base32
          "0cjnz3ak7s3x3y3q48xb9ka2q9d7xvch58vy80hqa9xn9qkiabj6"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-Grep/")
+    (home-page "https://metacpan.org/release/File-Grep")
     (synopsis "Matches patterns in a series of files")
     (description "@code{File::Grep} provides similar functionality as perl's
 builtin @code{grep}, @code{map}, and @code{foreach} commands, but iterating
@@ -3453,7 +3453,7 @@ provide a quick dropin when such functionality is needed.")
     (propagated-inputs
      `(("perl-file-which" ,perl-file-which)))
     (arguments `(#:tests? #f))          ;Not appropriate for chroot
-    (home-page "http://search.cpan.org/dist/File-HomeDir/")
+    (home-page "https://metacpan.org/release/File-HomeDir")
     (synopsis "Find your home and other directories on any platform")
     (description "File::HomeDir is a module for locating the directories that
 are \"owned\" by a user (typically your user) and to solve the various issues
@@ -3476,7 +3476,7 @@ platforms.")
         (base32
          "039gc0i5cbdmidl8j8x195yykwcdmzwawmpapnysvljl8l33jqwj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-Path/")
+    (home-page "https://metacpan.org/release/File-Path")
     (synopsis "Create or remove directory trees")
     (description "This module provide a convenient way to create directories
 of arbitrary depth and to delete an entire directory subtree from the
@@ -3499,7 +3499,7 @@ file system.")
          "1p3wz5jnddd87wkwl4x3fc3ncprahdxdzwqd4scb10r98h4pyfnp"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/File-pushd/")
+     "https://metacpan.org/release/File-pushd")
     (synopsis
      "Change directory temporarily for a limited scope")
     (description "@code{File::pushd} does a temporary @code{chdir} that is
@@ -3536,7 +3536,7 @@ lists of files")
      "The File::List module crawls the directory tree starting at the
 provided base directory and can return files (and/or directories if desired)
 matching a regular expression.")
-    (home-page "http://search.cpan.org/~dopacki/File-List//")))
+    (home-page "https://metacpan.org/release/File-List")))
 
 (define-public perl-file-readbackwards
   (package
@@ -3553,7 +3553,7 @@ matching a regular expression.")
         (base32
          "0vldy5q0zyf1cwzwb1gv14f8vg2f21bw96b8wvkw6z2hhypn3cl2"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-ReadBackwards/")
+    (home-page "https://metacpan.org/release/File-ReadBackwards")
     (synopsis "Read a file backwards by lines")
     (description "This module reads a file backwards line by line. It is
 simple to use, memory efficient and fast.  It supports both an object and a
@@ -3578,7 +3578,7 @@ the input record separator string on a per file basis.")
         (base32
          "1b814lw181kkqh6c1n4p2zlzzsq6ic5pfpr831nphf2w2rhcvgmk"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-Remove/")
+    (home-page "https://metacpan.org/release/File-Remove")
     (synopsis "Remove files and directories in Perl")
     (description "File::Remove::remove removes files and directories.  It acts
 like /bin/rm, for the most part.  Although \"unlink\" can be given a list of
@@ -3603,7 +3603,7 @@ accepts wildcards, * and ?, as arguments for file names.")
      `(("perl-file-sharedir-install" ,perl-file-sharedir-install)))
     (propagated-inputs
      `(("perl-class-inspector" ,perl-class-inspector)))
-    (home-page "http://search.cpan.org/dist/File-ShareDir/")
+    (home-page "https://metacpan.org/release/File-ShareDir")
     (synopsis "Locate per-dist and per-module shared files")
     (description "The intent of File::ShareDir is to provide a companion to
 Class::Inspector and File::HomeDir.  Quite often you want or need your Perl
@@ -3626,7 +3626,7 @@ the installation.")
         (base32
          "1xkmrckp1qfi9ik098n2vz0r8g7wfwp2y05zjd100w6wcqwfzcpn"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-ShareDir-Dist/")
+    (home-page "https://metacpan.org/release/File-ShareDir-Dist")
     (synopsis "Locate per-dist shared files")
     (description "File::ShareDir::Dist finds share directories for
 distributions.  It is a companion module to File::ShareDir.")
@@ -3647,7 +3647,7 @@ distributions.  It is a companion module to File::ShareDir.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/File-ShareDir-Install/")
+    (home-page "https://metacpan.org/release/File-ShareDir-Install")
     (synopsis "Install shared files")
     (description "File::ShareDir::Install allows you to install read-only data
 files from a distribution.  It is a companion module to File::ShareDir, which
@@ -3667,7 +3667,7 @@ allows you to locate these files after installation.")
         (base32
          "0hrn4nipwx40d6ji8ssgr5nw986z9iqq8cn0kdpbszh9jplynaff"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-Slurp/")
+    (home-page "https://metacpan.org/release/File-Slurp")
     (synopsis "Reading/Writing/Modifying of complete files")
     (description "File::Slurp provides subroutines to read or write entire
 files with a simple call.  It also has a subroutine for reading the list of
@@ -3691,7 +3691,7 @@ file names in a directory.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)))
-    (home-page "http://search.cpan.org/dist/File-Slurper/")
+    (home-page "https://metacpan.org/release/File-Slurper")
     (synopsis "Simple, sane and efficient module to slurp a file")
     (description "This module provides functions for fast and correct file
 slurping and spewing.  All functions are optionally exported.")
@@ -3709,7 +3709,7 @@ slurping and spewing.  All functions are optionally exported.")
                (base32
                 "07kzfmibl43dq4c803f022g2rcfv4nkjgipxclz943mzxaz9aaa5"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/File-Slurp-Tiny/")
+    (home-page "https://metacpan.org/release/File-Slurp-Tiny")
     (synopsis "Simple file reader and writer")
     (description
      "This module provides functions for fast reading and writing of files.")
@@ -3730,7 +3730,7 @@ slurping and spewing.  All functions are optionally exported.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-parent" ,perl-parent)))
-    (home-page "http://search.cpan.org/dist/File-Temp/")
+    (home-page "https://metacpan.org/release/File-Temp")
     (synopsis "Return name and handle of a temporary file safely")
     (description "File::Temp can be used to create and open temporary files in
 a safe way.")
@@ -3754,7 +3754,7 @@ a safe way.")
      "File::Which was created to be able to get the paths to executable
 programs on systems under which the `which' program wasn't implemented in the
 shell.")
-    (home-page "http://search.cpan.org/~adamk/File-Which")
+    (home-page "https://metacpan.org/release/ADAMK/File-Which-1.09")
     (license (package-license perl))))
 
 (define-public perl-file-zglob
@@ -3772,7 +3772,7 @@ shell.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/File-Zglob/")
+    (home-page "https://metacpan.org/release/File-Zglob")
     (synopsis "Extended Unix style glob functionality")
     (description "@code{File::Zglob} provides a traditional Unix @code{glob}
 functionality; it returns a list of file names that match the given pattern.
@@ -3792,7 +3792,7 @@ For instance, it supports the @code{**/*.pm} form.")
         (base32
          "0bw8gbhj8s5gmkqvs3m7pk9arqhgqssrby4yimh29ah9alix9ylq"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Getopt-Long/")
+    (home-page "https://metacpan.org/release/Getopt-Long")
     (synopsis "Module to handle parsing command line options")
     (description "The @code{Getopt::Long} module implements an extended getopt
 function called @code{GetOptions()}.  It parses the command line from
@@ -3827,7 +3827,7 @@ single-letter approach, is provided but not enabled by default.")
     (propagated-inputs
      `(("perl-params-validate" ,perl-params-validate)
        ("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/Getopt-Long-Descriptive/")
+    (home-page "https://metacpan.org/release/Getopt-Long-Descriptive")
     (synopsis "Getopt::Long, but simpler and more powerful")
     (description "Getopt::Long::Descriptive is yet another Getopt library.
 It's built atop Getopt::Long, and gets a lot of its features, but tries to
@@ -3851,7 +3851,7 @@ usage (help) messages, data validation, and a few other useful features.")
     (description
      "Getopt::Tabular is a Perl 5 module for table-driven argument parsing,
 vaguely inspired by John Ousterhout's Tk_ParseArgv.")
-    (home-page "http://search.cpan.org/~gward/Getopt-Tabular")
+    (home-page "https://metacpan.org/release/Getopt-Tabular")
     (license (package-license perl))))
 
 (define-public perl-graph
@@ -3869,7 +3869,7 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.")
         (base32
          "099a1gca0wj5zs0cffncjqp2mjrdlk9i6325ks89ml72gfq8wpij"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Graph/")
+    (home-page "https://metacpan.org/release/Graph")
     (synopsis "Graph data structures and algorithms")
     (description "This is @code{Graph}, a Perl module for dealing with graphs,
 the abstract data structures.")
@@ -3887,7 +3887,7 @@ the abstract data structures.")
                (base32
                 "1p6i9mfmbs9cw40jqdv71ihv2xfi0vvlv8bdv2810gf93zwxvi1l"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Guard/")
+    (home-page "https://metacpan.org/release/Guard")
     (synopsis "Safe cleanup blocks implemented as guards")
     (description "@code{Guard} implements so-called @dfn{guards}.  A guard is
 something (usually an object) that \"guards\" a resource, ensuring that it is
@@ -3924,7 +3924,7 @@ which are tied to the scope exit.")
     (native-inputs
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-leaktrace" ,perl-test-leaktrace)))
-    (home-page "http://search.cpan.org/dist/Hash-FieldHash/")
+    (home-page "https://metacpan.org/release/Hash-FieldHash")
     (synopsis "Lightweight field hash for inside-out objects")
     (description "@code{Hash::FieldHash} provides the field hash mechanism
 which supports the inside-out technique.  It is an alternative to
@@ -3945,7 +3945,7 @@ relic support.")
         (base32
          "0r1a2axz85wn6573zrl9rk8mkfl2cvf1gp9vwya5qndp60rz1ya7"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Hash-Merge/")
+    (home-page "https://metacpan.org/release/Hash-Merge")
     (synopsis "Merge arbitrarily deep hashes into a single hash")
     (description "Hash::Merge merges two arbitrarily deep hashes into a single
 hash.  That is, at any level, it will add non-conflicting key-value pairs from
@@ -3968,7 +3968,7 @@ merged.")
         (base32
          "1x3k7h542xnigz0b8vsfiq580p5r325wi5b8mxppiqk8mbvis636"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Hash-MultiValue/")
+    (home-page "https://metacpan.org/release/Hash-MultiValue")
     (synopsis "Store multiple values per key")
     (description "Hash::MultiValue is an object (and a plain hash reference)
 that may contain multiple values per key, inspired by MultiDict of WebOb.")
@@ -3987,7 +3987,7 @@ that may contain multiple values per key, inspired by MultiDict of WebOb.")
          (base32
           "0iirw6csfbycr6z5s6lgd1zdqdjhb436zcxy1hyh6x3x92616i87"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Importer//")
+    (home-page "https://metacpan.org/release/Importer")
     (synopsis "Alternative but compatible interface to modules that export symbols")
     (description "This module acts as a layer between Exporter and modules which
 consume exports.  It is feature-compatible with Exporter, plus some much needed
@@ -4012,7 +4012,7 @@ variables.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)))
-    (home-page "http://search.cpan.org/dist/Import-Into/")
+    (home-page "https://metacpan.org/release/Import-Into")
     (synopsis "Import packages into other packages")
     (description "Writing exporters is a pain.  Some use Exporter, some use
 Sub::Exporter, some use Moose::Exporter, some use Exporter::Declare ... and
@@ -4035,7 +4035,7 @@ compilation.  Import::Into provides global methods to make this painless.")
         (base32
          "04f6qf6ll2hkdsr9aglykg3wlgsnf0w4f264nzg4i9y6cgrhbafs"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/inc-latest/")
+    (home-page "https://metacpan.org/release/inc-latest")
     (synopsis "Use modules in inc/ if newer than installed")
     (description "The inc::latest module helps bootstrap configure-time
 dependencies for CPAN distributions.  These dependencies get bundled into the
@@ -4056,7 +4056,7 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
         (base32
          "13k5a8p903m8x3pcv9qqkzvnb8gpgq36cr3dvn3lk1ngsi9w5ydy"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/indirect/")
+    (home-page "https://metacpan.org/release/indirect")
     (synopsis "Lexically warn about using the indirect method call syntax")
     (description
      "Indirect warns about using the indirect method call syntax.")
@@ -4078,7 +4078,7 @@ inc directory within a distribution and are used by Makefile.PL or Build.PL.")
    (build-system perl-build-system)
    (native-inputs
     `(("perl-test-warn" ,perl-test-warn)))
-   (home-page "http://search.cpan.org/dist/Inline/")
+   (home-page "https://metacpan.org/release/Inline")
    (synopsis "Write Perl subroutines in other programming languages")
    (description "The @code{Inline} module allows you to put source code
 from other programming languages directly (inline) in a Perl script or
@@ -4109,7 +4109,7 @@ for immediate access from Perl.")
      `(("perl-inline" ,perl-inline)
        ("perl-parse-recdescent" ,perl-parse-recdescent)
        ("perl-pegex" ,perl-pegex)))
-    (home-page "http://search.cpan.org/dist/Inline-C/")
+    (home-page "https://metacpan.org/release/Inline-C")
     (synopsis "C Language Support for Inline")
     (description "The @code{Inline::C} module allows you to write Perl
 subroutines in C.  Since version 0.30 the @code{Inline} module supports
@@ -4136,7 +4136,7 @@ It also goes a bit into Perl C internals.")
     (propagated-inputs
      `(("perl-file-mimeinfo" ,perl-file-mimeinfo)
        ("perl-file-readbackwards" ,perl-file-readbackwards)))
-    (home-page "http://search.cpan.org/dist/IO-All/")
+    (home-page "https://metacpan.org/release/IO-All")
     (synopsis "@code{IO::All} to Larry Wall!")
     (description "@code{IO::All} combines all of the best Perl IO modules into
 a single nifty object oriented interface to greatly simplify your everyday
@@ -4159,7 +4159,7 @@ Perl IO idioms.  It exports a single function called io, which returns a new
         (base32
          "0c437zvzpqi8f0h3nmblwdi2bvsb92b7g30fndr7my9qnky35izw"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IO-CaptureOutput/")
+    (home-page "https://metacpan.org/release/IO-CaptureOutput")
     (synopsis "Capture STDOUT and STDERR from Perl code, subprocesses or XS")
     (description "@code{IO::CaptureOutput} provides routines for capturing
 @code{STDOUT} and @code{STDERR} from perl subroutines, forked system
@@ -4182,7 +4182,7 @@ try @code{Capture::Tiny} instead.")
         (base32
          "1303q6rbcf2cag5z08pq3d1y91wls5q51jrpw4kh0l2bv75idh4w"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IO-Interactive/")
+    (home-page "https://metacpan.org/release/IO-Interactive")
     (synopsis "Utilities for interactive I/O")
     (description "This module provides three utility subroutines that make it
 easier to develop interactive applications: is_interactive(), interactive(),
@@ -4202,7 +4202,7 @@ and busy().")
         (base32
          "18755m410yl70s17rgq3m0hyxl8r5mr47vsq1rw7141d8kc4lgra"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IO-String")
+    (home-page "https://metacpan.org/release/IO-String")
     (synopsis "Emulate file interface for in-core strings")
     (description "IO::String is an IO::File (and IO::Handle) compatible class
 that reads or writes data from in-core strings.")
@@ -4221,7 +4221,7 @@ that reads or writes data from in-core strings.")
         (base32
          "178rpx0ym5l2m9mdmpnr92ziscvchm541w94fd7ygi6311kgsrwc"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IO-stringy/")
+    (home-page "https://metacpan.org/release/IO-stringy")
     (synopsis "IO:: interface for reading/writing an array of lines")
     (description "This toolkit primarily provides modules for performing both
 traditional and object-oriented i/o) on things *other* than normal
@@ -4240,7 +4240,7 @@ filehandles; in particular, IO::Scalar, IO::ScalarArray, and IO::Lines.")
                (base32
                 "0399anjy3bc0w8xzsc3qx5vcyqryc9gc52lc7wh7i49hsdq8gvx2"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/~toddr/IO-Tty//")
+    (home-page "https://metacpan.org/release/IO-Tty")
     (synopsis "Perl interface to pseudo ttys")
     (description
      "This package provides the 'IO::Pty' and 'IO::Tty' Perl interfaces to
@@ -4260,7 +4260,7 @@ pseudo ttys.")
         (base32
          "0a2v44x70gj9fd5wa8i08f9z6n14qppj1j49m1hc333wh72mzk6i"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IPC-Cmd/")
+    (home-page "https://metacpan.org/release/IPC-Cmd")
     (synopsis "Run interactive command-line programs")
     (description "@code{IPC::Cmd} allows for the searching and execution of
 any binary on your system.  It adheres to verbosity settings and is able to
@@ -4290,7 +4290,7 @@ run interactively.  It also has an option to capture output/error buffers.")
                      ;; This test fails, and we're not really interested in
                      ;; it, so disable it.
                      (delete-file "t/win32_compile.t"))))))
-    (home-page "http://search.cpan.org/dist/IPC-Run/")
+    (home-page "https://metacpan.org/release/IPC-Run")
     (synopsis "Run system() and background procs w/ piping, redirs, ptys")
     (description "IPC::Run allows you run and interact with child processes
 using files, pipes, and pseudo-ttys.  Both system()-style and scripted usages
@@ -4316,7 +4316,7 @@ both supported and may be mixed.")
 stdout, and/or stderr to files and perl data structures.  It aims to satisfy
 99% of the need for using system, qx, and open3 with a simple, extremely
 Perlish API and none of the bloat and rarely used features of IPC::Run.")
-    (home-page "http://search.cpan.org/~rjbs/IPC-Run3")
+    (home-page "https://metacpan.org/release/IPC-Run3")
     ;; "You may use this module under the terms of the BSD, Artistic, or GPL
     ;; licenses, any version."
     (license (list bsd-3 gpl3+))))
@@ -4334,7 +4334,7 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.")
         (base32
          "1gz7dbwxrzbzdsjv11kb49jlf9q6lci2va6is0hnavd93nwhdm0l"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IPC-ShareLite/")
+    (home-page "https://metacpan.org/release/IPC-ShareLite")
     (synopsis "Lightweight interface to shared memory")
     (description "IPC::ShareLite provides a simple interface to shared memory,
 allowing data to be efficiently communicated between processes.")
@@ -4353,7 +4353,7 @@ allowing data to be efficiently communicated between processes.")
                (base32
                 "0fsdb81shjj4hifyyzvj7vpkhq5jrfhlcpw2xbjfi1mqz8fsmdpi"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/IPC-System-Simple/")
+    (home-page "https://metacpan.org/release/IPC-System-Simple")
     (synopsis "Run commands simply, with detailed diagnostics")
     (description "Calling Perl's in-built @code{system} function is easy,
 determining if it was successful is hard.  Let's face it, @code{$?} isn't the
@@ -4379,7 +4379,7 @@ commands.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-json-xs" ,perl-json-xs))) ;recommended
-    (home-page "http://search.cpan.org/dist/JSON/")
+    (home-page "https://metacpan.org/release/JSON")
     (synopsis "JSON encoder/decoder for Perl")
     (description "This module converts Perl data structures to JSON and vice
 versa using either JSON::XS or JSON::PP.")
@@ -4405,7 +4405,7 @@ versa using either JSON::XS or JSON::PP.")
        ("perl-test-without-module" ,perl-test-without-module)))
     (propagated-inputs
      `(("perl-namespace-clean" ,perl-namespace-clean)))
-    (home-page "http://search.cpan.org/dist/JSON-Any/")
+    (home-page "https://metacpan.org/release/JSON-Any")
     (synopsis "Wrapper for Perl JSON classes")
     (description
      "This module tries to provide a coherent API to bring together the
@@ -4431,7 +4431,7 @@ installed.")
      `(("perl-test-without-module" ,perl-test-without-module)))
     (inputs
      `(("perl-cpanel-json-xs" ,perl-cpanel-json-xs)))
-    (home-page "http://search.cpan.org/dist/JSON-MaybeXS/")
+    (home-page "https://metacpan.org/release/JSON-MaybeXS")
     (synopsis "Cpanel::JSON::XS with fallback")
     (description "This module first checks to see if either Cpanel::JSON::XS
 or JSON::XS is already loaded, in which case it uses that module.  Otherwise
@@ -4455,7 +4455,7 @@ either uses the first module it finds or throws an error.")
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)
        ("perl-types-serialiser" ,perl-types-serialiser)))
-    (home-page "http://search.cpan.org/dist/JSON-XS/")
+    (home-page "https://metacpan.org/release/JSON-XS")
     (synopsis "JSON serialising/deserialising for Perl")
     (description "This module converts Perl data structures to JSON and vice
 versa.")
@@ -4478,7 +4478,7 @@ versa.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Lexical-SealRequireHints/")
+    (home-page "https://metacpan.org/release/Lexical-SealRequireHints")
     (synopsis "Prevent leakage of lexical hints")
     (description
      "Lexical::SealRequireHints prevents leakage of lexical hints")
@@ -4497,7 +4497,7 @@ versa.")
         (base32
          "0r1q7cclgwl24gzdnjzvd8y0r7j17dngjk492x35w198zhdj2ncp"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Log-Any/")
+    (home-page "https://metacpan.org/release/Log-Any")
     (synopsis "Bringing loggers and listeners together")
     (description "@code{Log::Any} provides a standard log production API for
 modules.  @code{Log::Any::Adapter} allows applications to choose the mechanism
@@ -4534,7 +4534,7 @@ logging mechanism.")
      `(("perl-log-any" ,perl-log-any)
        ("perl-log-log4perl" ,perl-log-log4perl)))
     (home-page
-     "http://search.cpan.org/dist/Log-Any-Adapter-Log4perl/")
+     "https://metacpan.org/release/Log-Any-Adapter-Log4perl")
     (synopsis "Log::Any adapter for Log::Log4perl")
     (description "@code{Log::Any::Adapter::Log4perl} provides a
 @code{Log::Any} adapter using @code{Log::Log4perl} for logging.")
@@ -4556,7 +4556,7 @@ logging mechanism.")
          "05ifhx1lmv91dbs9ck2zbjrkhh8z9g32gi6gxdmwnilia5zihfdp"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/Log-Log4perl/")
+     "https://metacpan.org/release/Log-Log4perl")
     (synopsis "Log4j implementation for Perl")
     (description "@code{Log::Log4perl} lets you remote-control and fine-tune
 the logging behaviour of your system from the outside.  It implements the
@@ -4577,7 +4577,7 @@ widely popular (Java-based) Log4j logging package in pure Perl.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-string-print" ,perl-string-print)))
-    (home-page "http://search.cpan.org/dist/Log-Report-Optional/")
+    (home-page "https://metacpan.org/release/Log-Report-Optional")
     (synopsis "Log::Report in the lightest form")
     (description
      "This module allows libraries to have a dependency to a small module
@@ -4604,7 +4604,7 @@ version.")
      `(("perl-devel-globaldestruction" ,perl-devel-globaldestruction)
        ("perl-log-report-optional" ,perl-log-report-optional)
        ("perl-string-print" ,perl-string-print)))
-    (home-page "http://search.cpan.org/dist/Log-Report/")
+    (home-page "https://metacpan.org/release/Log-Report")
     (synopsis "Get messages to users and logs")
     (description
      "@code{Log::Report} combines three tasks which are closely related in
@@ -4635,7 +4635,7 @@ one: logging, exceptions, and translations.")
              #t)))))
     (propagated-inputs
      `(("perl-file-sharedir" ,perl-file-sharedir)))
-    (home-page "http://search.cpan.org/dist/libintl-perl/")
+    (home-page "https://metacpan.org/release/libintl-perl")
     (synopsis "High-level interface to Uniforum message translation")
     (description "This package is an internationalization library for Perl
 that aims to be compatible with the Uniforum message translations system as
@@ -4655,7 +4655,7 @@ implemented for example in GNU gettext.")
         (base32
          "161589h08kzliga17i2g0hb0yn4cjmb8rdiyadq5bw97974bac14"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Lingua-Translit/")
+    (home-page "https://metacpan.org/release/Lingua-Translit")
     (synopsis "Transliterate text between writing systems")
     (description "@code{Lingua::Translit} can be used to convert text from one
 writing system to another, based on national or international transliteration
@@ -4680,7 +4680,7 @@ tables.  Where possible a reverse transliteration is supported.")
     (propagated-inputs
      `(("perl-list-moreutils" ,perl-list-moreutils)
        ("perl-scalar-list-utils" ,perl-scalar-list-utils)))
-    (home-page "http://search.cpan.org/dist/List-AllUtils/")
+    (home-page "https://metacpan.org/release/List-AllUtils")
     (synopsis "Combination of List::Util and List::MoreUtils")
     (description "This module exports all of the functions that either
 List::Util or List::MoreUtils defines, with preference to List::Util.")
@@ -4703,7 +4703,7 @@ List::Util or List::MoreUtils defines, with preference to List::Util.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-io-captureoutput" ,perl-io-captureoutput)))
-    (home-page "http://search.cpan.org/dist/List-Compare/")
+    (home-page "https://metacpan.org/release/List-Compare")
     (synopsis "Compare elements of two or more lists")
     (description "@code{List::Compare} provides a module to perform
 comparative operations on two or more lists.  Provided operations include
@@ -4739,7 +4739,7 @@ intersections, unions, unique elements, complements and many more.")
     (propagated-inputs
      `(("perl-exporter-tiny" ,perl-exporter-tiny)
        ("perl-list-moreutils-xs" ,perl-list-moreutils-xs)))
-    (home-page "http://search.cpan.org/dist/List-MoreUtils/")
+    (home-page "https://metacpan.org/release/List-MoreUtils")
     (synopsis "Provide the stuff missing in List::Util")
     (description "List::MoreUtils provides some trivial but commonly needed
 functionality on lists which is not going to go into List::Util.")
@@ -4762,7 +4762,7 @@ functionality on lists which is not going to go into List::Util.")
      `(("perl-config-autoconf" ,perl-config-autoconf)
        ("perl-inc-latest" ,perl-inc-latest)
        ("perl-test-leaktrace" ,perl-test-leaktrace)))
-    (home-page "http://search.cpan.org/dist/List-MoreUtils-XS")
+    (home-page "https://metacpan.org/release/List-MoreUtils-XS")
     (synopsis "Provide the stuff missing in List::Util in XS")
     (description "@code{List::MoreUtils::XS} provides some trivial but
 commonly needed functionality on lists which is not going to go into
@@ -4790,7 +4790,7 @@ commonly needed functionality on lists which is not going to go into
      `(("perl-exporter-tiny" ,perl-exporter-tiny)
        ("perl-module-implementation"
         ,perl-module-implementation)))
-    (home-page "http://search.cpan.org/dist/List-SomeUtils/")
+    (home-page "https://metacpan.org/release/List-SomeUtils")
     (synopsis "Provide the stuff missing in List::Util")
     (description "@code{List::SomeUtils} provides some trivial but commonly
 needed functionality on lists which is not going to go into @code{List::Util}.
@@ -4820,7 +4820,7 @@ portions of this module couldn't be compiled on this machine.")
     (propagated-inputs
      `(("perl-timedate" ,perl-timedate)))
     (home-page
-     "http://search.cpan.org/dist/MailTools/")
+     "https://metacpan.org/release/MailTools")
     (synopsis "Bundle of ancient email modules")
     (description "MailTools contains the following modules:
 @table @asis
@@ -4860,7 +4860,7 @@ Build a Mail::Internet object, and then send it out using Mail::Mailer.
                (base32
                 "1f5qwrb7vvf8804myb2pcahyxffqm9zvfal2n6myzw7x8py1ba0i"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Math-Bezier/")
+    (home-page "https://metacpan.org/release/Math-Bezier")
     (synopsis "Solution of bezier curves")
     (description "This module implements the algorithm for the solution of Bezier
 curves as presented by Robert D Miller in Graphics Gems V, \"Quick and Simple
@@ -4880,7 +4880,7 @@ Bezier Curve Drawing\".")
                (base32
                 "09wkvqj4hfq9y0fimri967rmhnq90dc2wf20lhlmqjp5hsd359vk"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Math-Round/")
+    (home-page "https://metacpan.org/release/Math-Round")
     (synopsis "Perl extension for rounding numbers")
     (description "@code{Math::Round} provides functions to round numbers,
 both positive and negative, in various ways.")
@@ -4899,7 +4899,7 @@ both positive and negative, in various ways.")
                (base32
                 "1wysq3wrmf1s7s3phimzn7n0dswik7x53apykzgb0l2acigwqfaj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Memoize/")
+    (home-page "https://metacpan.org/release/Memoize")
     (synopsis "Make functions faster by trading space for time")
     (description "This package transparently speeds up functions by caching
 return values, trading space for time.")
@@ -4918,7 +4918,7 @@ return values, trading space for time.")
         (base32
          "1xnp3jqabl4il5kfadlqimbxhzsbm7gpwrgw0m5s5fdsrc0n70zf"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Memoize-ExpireLRU/")
+    (home-page "https://metacpan.org/release/Memoize-ExpireLRU")
     (synopsis "Expiry plug-in for Memoize that adds LRU cache expiration")
     (description "This module implements an expiry policy for Memoize that
 follows LRU semantics, that is, the last n results, where n is specified as
@@ -4937,7 +4937,7 @@ the argument to the CACHESIZE parameter, will be cached.")
                (base32
                 "04qxgcg9mvia121i3zcqxgp20y0d9kg0qv6hddk93ian0af7g347"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/MIME-Charset/")
+    (home-page "https://metacpan.org/release/MIME-Charset")
     (synopsis "Charset information for MIME messages")
     (description
      "@code{MIME::Charset} provides information about character sets used for
@@ -4966,7 +4966,7 @@ MIME messages on Internet.")
     (propagated-inputs
      `(("perl-mailtools" ,perl-mailtools)))
     (home-page
-     "http://search.cpan.org/dist/MIME-tools/")
+     "https://metacpan.org/release/MIME-tools")
     (synopsis "Tools to manipulate MIME messages")
     (description
      "MIME-tools is a collection of Perl5 MIME:: modules for parsing,
@@ -4987,7 +4987,7 @@ messages.")
         (base32
          "1xlg7q6h8zyb8534sy0iqn90py18kilg419q6051bwqz5zadfkp0"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/MIME-Types/")
+    (home-page "https://metacpan.org/release/MIME-Types")
     (synopsis "Definition of MIME types")
     (description "This module provides a list of known mime-types, combined
 from various sources.  For instance, it contains all IANA types and the
@@ -5010,7 +5010,7 @@ knowledge of Apache.")
     (inputs
      `(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)
        ("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/Mixin-Linewise/")
+    (home-page "https://metacpan.org/release/Mixin-Linewise")
     (synopsis "Write your linewise code for handles; this does the rest")
     (description "It's boring to deal with opening files for IO, converting
 strings to handle-like objects, and all that.  With
@@ -5036,7 +5036,7 @@ file names are added for you.")
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
     (home-page
-     "http://search.cpan.org/dist/Modern-Perl/")
+     "https://metacpan.org/release/Modern-Perl")
     (synopsis
      "Enable all of the features of Modern Perl with one import")
     (description "@code{Modern::Perl} provides a simple way to enable
@@ -5066,7 +5066,7 @@ multiple, by now, standard libraries in a Perl program.")
        ("perl-extutils-config" ,perl-extutils-config)
        ("perl-extutils-helpers" ,perl-extutils-helpers)
        ("perl-test-harness" ,perl-test-harness)))
-    (home-page "http://search.cpan.org/dist/Module-Build-Tiny/")
+    (home-page "https://metacpan.org/release/Module-Build-Tiny")
     (synopsis "Tiny replacement for Module::Build")
     (description "Many Perl distributions use a Build.PL file instead of a
 Makefile.PL file to drive distribution configuration, build, test and
@@ -5095,7 +5095,7 @@ has less than 120, yet supports the features needed by most distributions.")
        ("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-devel-checkcompiler" ,perl-devel-checkcompiler)))
-    (home-page "http://search.cpan.org/dist/Module-Build-XSUtil/")
+    (home-page "https://metacpan.org/release/Module-Build-XSUtil")
     (synopsis "Module::Build class for building XS modules")
     (description
      "@code{Module::Build::XSUtil} is subclass of @code{Module::Build}
@@ -5133,7 +5133,7 @@ debug options.
         (base32
          "0s45y5lvd9k89g7lds83c0bn1p29c13hfsbrd7x64jfaf8h8cisa"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Module-Find/")
+    (home-page "https://metacpan.org/release/Module-Find")
     (synopsis "Find and use installed modules in a (sub)category")
     (description "Module::Find lets you find and use modules in categories.
 This can be useful for auto-detecting driver or plugin modules.  You can
@@ -5160,7 +5160,7 @@ subcategories.")
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Module-Implementation/")
+    (home-page "https://metacpan.org/release/Module-Implementation")
     (synopsis "Loads alternate underlying implementations for a module")
     (description "This module abstracts out the process of choosing one of
 several underlying implementations for a module.  This can be used to provide
@@ -5199,7 +5199,7 @@ implementations.")
     ;; TODO: One test requires Test::More >= 0.99, another fails with unicode
     ;; character handling.
     (arguments `(#:tests? #f))
-    (home-page "http://search.cpan.org/dist/Module-Install/")
+    (home-page "https://metacpan.org/release/Module-Install")
     (synopsis "Standalone, extensible Perl module installer")
     (description "Module::Install is a package for writing installers for
 CPAN (or CPAN-like) distributions that are clean, simple, minimalist, act in a
@@ -5226,7 +5226,7 @@ installation version 5.005 or newer.")
        ("perl-test-warn" ,perl-test-warn)))
     (propagated-inputs
      `(("perl-params-util" ,perl-params-util)))
-    (home-page "http://search.cpan.org/dist/Module-Manifest/")
+    (home-page "https://metacpan.org/release/Module-Manifest")
     (synopsis "Parse and examine a Perl distribution @file{MANIFEST} file")
     (description
      "@code{Module::Manifest} is a simple utility module created originally for
@@ -5251,7 +5251,7 @@ examine the contents, and perform some simple tasks.  It can also load the
          "1px6qmszmfc69v36vd8d92av4nkrif6xf4nrj3xv647xwi2svwmk"))
        (patches (search-patches "perl-module-pluggable-search.patch"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Module-Pluggable/")
+    (home-page "https://metacpan.org/release/Module-Pluggable")
     (synopsis "Give your Perl module the ability to have plugins")
     (description "This module provides a simple but extensible way of having
 'plugins' for your Perl module.")
@@ -5271,7 +5271,7 @@ examine the contents, and perform some simple tasks.  It can also load the
          "19326f094jmjs6mgpwkyisid54k67w34br8yfh0gvaaml87gwi2c"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Module-Runtime/")
+    (home-page "https://metacpan.org/release/Module-Runtime")
     (synopsis "Perl runtime module handling")
     (description "The functions exported by this module deal with runtime
 handling of Perl modules, which are normally handled at compile time.")
@@ -5295,7 +5295,7 @@ handling of Perl modules, which are normally handled at compile time.")
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)
        ("perl-dist-checkconflicts" ,perl-dist-checkconflicts)))
-    (home-page "http://search.cpan.org/dist/Module-Runtime-Conflicts/")
+    (home-page "https://metacpan.org/release/Module-Runtime-Conflicts")
     (synopsis "Provide information on conflicts for Module::Runtime")
     (description "This module provides conflicts checking for Module::Runtime,
 which had a recent release that broke some versions of Moose.  It is called
@@ -5317,7 +5317,7 @@ from Moose::Conflicts and moose-outdated.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-requires" ,perl-test-requires)))
-    (home-page "http://search.cpan.org/dist/Module-ScanDeps/")
+    (home-page "https://metacpan.org/release/Module-ScanDeps")
     (synopsis "Recursively scan Perl code for dependencies")
     (description "Module::ScanDeps is a module to recursively scan Perl
 programs for dependencies.")
@@ -5338,7 +5338,7 @@ programs for dependencies.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build" ,perl-module-build))) ; >= 0.40
-    (home-page "http://search.cpan.org/dist/Module-Util/")
+    (home-page "https://metacpan.org/release/Module-Util")
     (synopsis "Module name tools and transformations")
     (description "This module provides a few useful functions for manipulating
 module names.  Its main aim is to centralise some of the functions commonly
@@ -5369,7 +5369,7 @@ module names to relative paths.")
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-role-tiny" ,perl-role-tiny)
        ("perl-strictures" ,perl-strictures)))
-    (home-page "http://search.cpan.org/dist/Moo/")
+    (home-page "https://metacpan.org/release/Moo")
     (synopsis "Minimalist Object Orientation (with Moose compatibility)")
     (description "Moo is an extremely light-weight Object Orientation system.
 It allows one to concisely define objects and roles with a convenient syntax
@@ -5477,7 +5477,7 @@ Moose and is optimised for rapid startup.")
        ("perl-sub-name" ,perl-sub-name)
        ("perl-task-weaken" ,perl-task-weaken)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Moose/")
+    (home-page "https://metacpan.org/release/Moose")
     (synopsis "Postmodern object system for Perl 5")
     (description
      "Moose is a complete object system for Perl 5.  It provides keywords for
@@ -5508,7 +5508,7 @@ sentences.")
        ("perl-test-exception" ,perl-test-exception)))
     (propagated-inputs
      `(("perl-moose" ,perl-moose)))
-    (home-page "http://search.cpan.org/dist/MooseX-Emulate-Class-Accessor-Fast/")
+    (home-page "https://metacpan.org/release/MooseX-Emulate-Class-Accessor-Fast")
     (synopsis "Emulate Class::Accessor::Fast behavior using Moose attributes")
     (description "This module attempts to emulate the behavior of
 Class::Accessor::Fast as accurately as possible using the Moose attribute
@@ -5541,7 +5541,7 @@ private methods are not.")
        ("perl-moose" ,perl-moose)
        ("perl-moosex-role-parameterized" ,perl-moosex-role-parameterized)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-Getopt/")
+    (home-page "https://metacpan.org/release/MooseX-Getopt")
     (synopsis "Moose role for processing command line options")
     (description "This is a Moose role which provides an alternate constructor
 for creating objects using parameters passed in from the command line.")
@@ -5563,7 +5563,7 @@ for creating objects using parameters passed in from the command line.")
     (inputs
      `(("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-MarkAsMethods/")
+    (home-page "https://metacpan.org/release/MooseX-MarkAsMethods")
     (synopsis "Mark overload code symbols as methods")
     (description "MooseX::MarkAsMethods allows one to easily mark certain
 functions as Moose methods.  This will allow other packages such as
@@ -5594,7 +5594,7 @@ overloads will \"just work\".")
      `(("perl-moose" ,perl-moose)
        ("perl-moosex-types" ,perl-moosex-types)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-MethodAttributes/")
+    (home-page "https://metacpan.org/release/MooseX-MethodAttributes")
     (synopsis "Code attribute introspection")
     (description "This module allows code attributes of methods to be
 introspected using Moose meta method objects.")
@@ -5621,7 +5621,7 @@ introspected using Moose meta method objects.")
       ("perl-module-runtime" ,perl-module-runtime)
       ("perl-moose" ,perl-moose)
       ("perl-try-tiny" ,perl-try-tiny)))
-  (home-page "http://search.cpan.org/dist/MooseX-NonMoose/")
+  (home-page "https://metacpan.org/release/MooseX-NonMoose")
   (synopsis "Subclassing of non-Moose classes")
   (description "MooseX::NonMoose allows for easily subclassing non-Moose
 classes with Moose, taking care of the details connected with doing this, such
@@ -5651,7 +5651,7 @@ BUILD methods are called.  It tries to be as non-intrusive as possible.")
        ("perl-moose" ,perl-moose)
        ("perl-params-validate" ,perl-params-validate)
        ("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/MooseX-Params-Validate/")
+    (home-page "https://metacpan.org/release/MooseX-Params-Validate")
     (synopsis "Extension of Params::Validate using Moose's types")
     (description "This module fills a gap in Moose by adding method parameter
 validation to Moose.")
@@ -5673,7 +5673,7 @@ validation to Moose.")
     (propagated-inputs
      `(("perl-moose" ,perl-moose)
        ("perl-moosex-role-parameterized" ,perl-moosex-role-parameterized)))
-    (home-page "http://search.cpan.org/dist/MooseX-RelatedClassRoles/")
+    (home-page "https://metacpan.org/release/MooseX-RelatedClassRoles")
     (synopsis "Apply roles to a related Perl class")
     (description "This module applies roles to make a subclass instead of
 manually setting up a subclass.")
@@ -5701,7 +5701,7 @@ manually setting up a subclass.")
     (propagated-inputs
      `(("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-Role-Parameterized/")
+    (home-page "https://metacpan.org/release/MooseX-Role-Parameterized")
     (synopsis "Moose roles with composition parameters")
     (description "Because Moose roles serve many different masters, they
 usually provide only the least common denominator of functionality.  To
@@ -5728,7 +5728,7 @@ Parameterized roles offer a solution to these (and other) kinds of problems.")
      `(("perl-aliased" ,perl-aliased)
        ("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-Role-WithOverloading/")
+    (home-page "https://metacpan.org/release/MooseX-Role-WithOverloading")
     (synopsis "Roles which support overloading")
     (description "MooseX::Role::WithOverloading allows you to write a
 Moose::Role which defines overloaded operators and allows those overload
@@ -5751,7 +5751,7 @@ where plain Moose::Roles would lose the overloading.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-moose" ,perl-moose)))
-    (home-page "http://search.cpan.org/dist/MooseX-SemiAffordanceAccessor/")
+    (home-page "https://metacpan.org/release/MooseX-SemiAffordanceAccessor")
     (synopsis "Name your accessors foo() and set_foo()")
     (description "This module does not provide any methods.  Simply loading it
 changes the default naming policy for the loading class so that accessors are
@@ -5778,7 +5778,7 @@ accessor, while set methods are prefixed with \"_set_\".")
     (propagated-inputs
      `(("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-StrictConstructor/")
+    (home-page "https://metacpan.org/release/MooseX-StrictConstructor")
     (synopsis "Strict object constructors for Moose")
     (description "Simply loading this module makes your constructors
 \"strict\".  If your constructor is called with an attribute init argument
@@ -5807,7 +5807,7 @@ that your class does not declare, then it calls Moose->throw_error().")
        ("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
     (home-page
-     "http://search.cpan.org/dist/MooseX-Traits-Pluggable/")
+     "https://metacpan.org/release/MooseX-Traits-Pluggable")
     (synopsis "Trait loading and resolution for Moose")
     (description "Adds support on top of MooseX::Traits for class precedence
 search for traits and some extra attributes.")
@@ -5834,7 +5834,7 @@ search for traits and some extra attributes.")
      `(("perl-carp-clan" ,perl-carp-clan)
        ("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-Types/")
+    (home-page "https://metacpan.org/release/MooseX-Types")
     (synopsis "Organise your Moose types in libraries")
     (description "This package lets you declare types using short names, but
 behind the scenes it namespaces all your type declarations, effectively
@@ -5866,7 +5866,7 @@ prevent name clashes between packages.")
        ("perl-moose" ,perl-moose)
        ("perl-moosex-types" ,perl-moosex-types)
        ("perl-namespace-clean" ,perl-namespace-clean)))
-    (home-page "http://search.cpan.org/dist/MooseX-Types-DateTime/")
+    (home-page "https://metacpan.org/release/MooseX-Types-DateTime")
     (synopsis "DateTime related constraints and coercions for Moose")
     (description "This module packages several Moose::Util::TypeConstraints
 with coercions, designed to work with the DateTime suite of objects.")
@@ -5899,7 +5899,7 @@ with coercions, designed to work with the DateTime suite of objects.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-time-duration-parse" ,perl-time-duration-parse)))
     (home-page
-     "http://search.cpan.org/dist/MooseX-Types-DateTime-MoreCoercions/")
+     "https://metacpan.org/release/MooseX-Types-DateTime-MoreCoercions")
     (synopsis "Extensions to MooseX::Types::DateTime")
     (description "This module builds on MooseX::Types::DateTime to add
 additional custom types and coercions.  Since it builds on an existing type,
@@ -5929,7 +5929,7 @@ all coercions and constraints are inherited.")
      `(("perl-module-runtime" ,perl-module-runtime)
        ("perl-moosex-types" ,perl-moosex-types)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/MooseX-Types-LoadableClass/")
+    (home-page "https://metacpan.org/release/MooseX-Types-LoadableClass")
     (synopsis "ClassName type constraints for Moose")
     (description "MooseX::Types::LoadableClass provides a ClassName type
 constraint with coercion to load the class.")
@@ -5955,7 +5955,7 @@ constraint with coercion to load the class.")
        ("perl-import-into" ,perl-import-into)
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-moo" ,perl-moo)))
-    (home-page "http://search.cpan.org/dist/MooX/")
+    (home-page "https://metacpan.org/release/MooX")
     (synopsis
      "Using Moo and MooX:: packages the most lazy way")
     (description "Contains the MooX and MooX::Role packages.")
@@ -5984,7 +5984,7 @@ constraint with coercion to load the class.")
        ("perl-package-stash" ,perl-package-stash)
        ("perl-params-util" ,perl-params-util)
        ("perl-regexp-common" ,perl-regexp-common)))
-    (home-page "http://search.cpan.org/dist/MooX-Cmd")
+    (home-page "https://metacpan.org/release/MooX-Cmd")
     (synopsis "Giving an easy Moo style way to make command organized CLI apps")
     (description "This package eases the writing of command line utilities,
 accepting commands and subcommands and so on.  These commands can form a tree,
@@ -6018,7 +6018,7 @@ most specific one) is instantiated.")
        ("perl-moo" ,perl-moo)
        ("perl-moox-file-configdir" ,perl-moox-file-configdir)
        ("perl-namespace-clean" ,perl-namespace-clean)))
-    (home-page "http://search.cpan.org/dist/MooX-ConfigFromFile/")
+    (home-page "https://metacpan.org/release/MooX-ConfigFromFile")
     (synopsis "Moo eXtension for initializing objects from config file")
     (description "This module is intended to easily load initialization values
 for attributes on object construction from an appropriate config file.  The
@@ -6043,7 +6043,7 @@ building is done in @code{MooX::ConfigFromFile::Role}---using
      `(("perl-file-configdir" ,perl-file-configdir)
        ("perl-moo" ,perl-moo)
        ("perl-namespace-clean" ,perl-namespace-clean)))
-    (home-page "http://search.cpan.org/dist/MooX-File-ConfigDir/")
+    (home-page "https://metacpan.org/release/MooX-File-ConfigDir")
     (synopsis "Moo eXtension for @code{File::ConfigDir}")
     (description "This module is a helper for easily finding configuration
 file locations.  This information can be used to find a suitable place for
@@ -6079,7 +6079,7 @@ installing configuration files or for finding any piece of settings.")
     (propagated-inputs
      `(("perl-data-perl" ,perl-data-perl)))
     (home-page
-     "http://search.cpan.org/dist/MooX-HandlesVia/")
+     "https://metacpan.org/release/MooX-HandlesVia")
     (synopsis "NativeTrait-like behavior for Moo")
     (description
      "@code{MooX::HandlesVia} is an extension of Moo's @code{handles}
@@ -6112,7 +6112,7 @@ an external class to the given atttribute.")
     (propagated-inputs
      `(("perl-type-tiny" ,perl-type-tiny)))
     (home-page
-     "http://search.cpan.org/dist/MooX-late/")
+     "https://metacpan.org/release/MooX-late")
     (synopsis "Easily translate Moose code to Moo")
     (description
      "MooX::late does the following:
@@ -6169,7 +6169,7 @@ MooX::HandlesVia.
        ("perl-regexp-common" ,perl-regexp-common)
        ("perl-term-size-any" ,perl-term-size-any)
        ("perl-unicode-linebreak" ,perl-unicode-linebreak)))
-    (home-page "http://search.cpan.org/dist/MooX-Options/")
+    (home-page "https://metacpan.org/release/MooX-Options")
     (synopsis "Explicit Options eXtension for Object Class")
     (description "Create a command line tool with your Mo, Moo, Moose objects.
 You have an @code{option} keyword to replace the usual @code{has} to
@@ -6197,7 +6197,7 @@ generate a command line tool.")
     (propagated-inputs
      `(("perl-module-runtime" ,perl-module-runtime)
        ("perl-strictures" ,perl-strictures)))
-    (home-page "http://search.cpan.org/dist/MooX-Types-MooseLike/")
+    (home-page "https://metacpan.org/release/MooX-Types-MooseLike")
     (synopsis "Moosish types and type builder")
     (description "MooX::Types::MooseLike provides a possibility to build your
 own set of Moose-like types.  These custom types can then be used to describe
@@ -6252,7 +6252,7 @@ subset of the functionality for reduced startup time.")
        ("perl-test-fatal" ,perl-test-fatal)))
     (propagated-inputs
      `(("perl-mouse" ,perl-mouse)))
-    (home-page "http://search.cpan.org/dist/MouseX-NativeTraits/")
+    (home-page "https://metacpan.org/release/MouseX-NativeTraits")
     (synopsis "Extend attribute interfaces for Mouse")
     (description
      "While @code{Mouse} attributes provide a way to name your accessors,
@@ -6274,7 +6274,7 @@ of data.")
         (base32
          "01p4ykyilk1639dxgjaa2n7rz1f0zbqxkq11yc9n6xcz26z9zk7j"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Mozilla-CA/")
+    (home-page "https://metacpan.org/release/Mozilla-CA")
     (synopsis "Mozilla's CA cert bundle in PEM format")
     (description "@code{Mozilla::CA} provides a copy of Mozilla's bundle of
 Certificate Authority certificates in a form that can be consumed by modules
@@ -6301,7 +6301,7 @@ and libraries based on OpenSSL.")
     (propagated-inputs
      `(("perl-b-hooks-op-check" ,perl-b-hooks-op-check)
        ("perl-lexical-sealrequirehints" ,perl-lexical-sealrequirehints)))
-    (home-page "http://search.cpan.org/dist/multidimensional/")
+    (home-page "https://metacpan.org/release/multidimensional")
     (synopsis "Disable multidimensional array emulation")
     (description
      "Multidimensional disables multidimensional array emulation.")
@@ -6320,7 +6320,7 @@ and libraries based on OpenSSL.")
         (base32
          "1y547lr6zccf7919vx01v22zsajy528psanhg5aqschrrin3nb4a"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/MRO-Compat/")
+    (home-page "https://metacpan.org/release/MRO-Compat")
     (synopsis "MRO interface compatibility for Perls < 5.9.5")
     (description "The \"mro\" namespace provides several utilities for dealing
 with method resolution order and method caching in general in Perl 5.9.5 and
@@ -6348,7 +6348,7 @@ Perl (back to 5.6.0).")
      `(("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope)
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-sub-identify" ,perl-sub-identify)))
-    (home-page "http://search.cpan.org/dist/namespace-autoclean/")
+    (home-page "https://metacpan.org/release/namespace-autoclean")
     (synopsis "Keep imports out of your namespace")
     (description "The namespace::autoclean pragma will remove all imported
 symbols at the end of the current package's compile cycle.  Functions called
@@ -6375,7 +6375,7 @@ anything that looks like a method.")
     (propagated-inputs
      `(("perl-package-stash" ,perl-package-stash)
        ("perl-b-hooks-endofscope" ,perl-b-hooks-endofscope)))
-    (home-page "http://search.cpan.org/dist/namespace-clean/")
+    (home-page "https://metacpan.org/release/namespace-clean")
     (synopsis "Keep imports and functions out of your namespace")
     (description "The namespace::clean pragma will remove all previously
 declared or imported symbols at the end of the current package's compile
@@ -6396,7 +6396,7 @@ name, but they won't show up as methods on your class or instances.")
        (sha256
         (base32 "12bsv5jkic3q4arpzk6dda35didkn445v658j87rmi540dpnac85"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Net-DNS-Native/")
+    (home-page "https://metacpan.org/release/Net-DNS-Native")
     (synopsis "Non-blocking system DNS resolver")
     (description
      "This class provides several methods for host name resolution.  It is
@@ -6425,7 +6425,7 @@ system threads instead of Perl threads.")
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-nowarnings" ,perl-test-nowarnings)))
     (home-page
-     "http://search.cpan.org/dist/Net-IDN-Encode/")
+     "https://metacpan.org/release/Net-IDN-Encode")
     (synopsis
      "Internationalizing Domain Names in Applications (IDNA)")
     (description
@@ -6454,7 +6454,7 @@ using whatever IDNA standard is the best choice at the moment.")
         "0p2nhrwamic2fyj094y583q088ixv9gbb82c3invqrd17mh57r33"))))
    (build-system perl-build-system)
    (home-page
-    "http://search.cpan.org/dist/Net-Statsd/")
+    "https://metacpan.org/release/Net-Statsd")
    (synopsis "Perl client for Etsy's statsd daemon")
    (description "This module implement a UDP client for the statsd statistics
 collector daemon in use at Etsy.com.")
@@ -6473,7 +6473,7 @@ collector daemon in use at Etsy.com.")
         (base32
          "09q8i0mxvr7q9vajwlgawsi0hlpc119gnhq4hc933d03x0vkfac3"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Number-Compare/")
+    (home-page "https://metacpan.org/release/Number-Compare")
     (synopsis "Numeric comparisons")
     (description "Number::Compare compiles a simple comparison to an anonymous
 subroutine, which you can call with a value to be tested against.")
@@ -6492,7 +6492,7 @@ subroutine, which you can call with a value to be tested against.")
                (base32
                 "1wspw9fybik76jq9w1n1gmvfixd4wvlrq6ni8kyn85s62v5mkml2"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Number-Format/")
+    (home-page "https://metacpan.org/release/Number-Format")
     (synopsis "Convert numbers to strings with pretty formatting")
     (description "@code{Number::Format} is a library for formatting numbers.
 Functions are provided for converting numbers to strings in a variety of ways,
@@ -6517,7 +6517,7 @@ the locale information or can be specified by the user.")
         (base32
          "0999xvs3w2xprs14q4shqndjf2m6mzvhzdljgr61ddjaqhd84gj3"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Number-Range/")
+    (home-page "https://metacpan.org/release/Number-Range")
     (synopsis "Perl extension defining ranges of numbers")
     (description "Number::Range is an object-oriented interface to test if a
 number exists in a given range, and to be able to manipulate the range.")
@@ -6538,7 +6538,7 @@ number exists in a given range, and to be able to manipulate the range.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/Object-Signature/")
+    (home-page "https://metacpan.org/release/Object-Signature")
     (synopsis "Generate cryptographic signatures for objects")
     (description "Object::Signature is an abstract base class that you can
 inherit from in order to allow your objects to generate unique cryptographic
@@ -6560,7 +6560,7 @@ signatures.")
         (base32
          "179cxwqxb0f9dpx8954nvwjmggxxi5ndnang41yav1dx6mf0abp7"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/OLE-Storage_Lite/")
+    (home-page "https://metacpan.org/release/OLE-Storage_Lite")
     (synopsis "Read and write OLE storage files")
     (description "This module allows you to read and write
 an OLE-Structured file.  @dfn{OLE} (Object Linking and Embedding) is a
@@ -6584,7 +6584,7 @@ documents within a single file.")
     (propagated-inputs
      `(("perl-sub-exporter" ,perl-sub-exporter)
        ("perl-params-util" ,perl-params-util)))
-    (home-page "http://search.cpan.org/dist/Package-Anon/")
+    (home-page "https://metacpan.org/release/Package-Anon")
     (synopsis "Anonymous packages")
     (description "This module allows for anonymous packages that are
 independent of the main namespace and only available through an object
@@ -6613,7 +6613,7 @@ instance, not by name.")
        ("perl-params-util" ,perl-params-util)
        ("perl-sub-install" ,perl-sub-install)))
     (arguments `(#:tests? #f))          ;XXX: Failing for some reason...
-    (home-page "http://search.cpan.org/dist/Package-DeprecationManager/")
+    (home-page "https://metacpan.org/release/Package-DeprecationManager")
     (synopsis "Manage deprecation warnings for your distribution")
     (description "This module allows you to manage a set of deprecations for
 one or more modules.")
@@ -6641,7 +6641,7 @@ one or more modules.")
      `(("perl-module-implementation" ,perl-module-implementation)
        ("perl-dist-checkconflicts" ,perl-dist-checkconflicts)
        ("perl-package-stash-xs" ,perl-package-stash-xs)))
-    (home-page "http://search.cpan.org/dist/Package-Stash/")
+    (home-page "https://metacpan.org/release/Package-Stash")
     (synopsis "Routines for manipulating stashes")
     (description "Manipulating stashes (Perl's symbol tables) is occasionally
 necessary, but incredibly messy, and easy to get wrong.  This module hides all
@@ -6665,7 +6665,7 @@ of that behind a simple API.")
      `(("perl-test-fatal" ,perl-test-fatal)
        ("perl-test-requires" ,perl-test-requires)
        ("perl-package-anon" ,perl-package-anon)))
-    (home-page "http://search.cpan.org/dist/Package-Stash-XS/")
+    (home-page "https://metacpan.org/release/Package-Stash-XS")
     (synopsis "Faster implementation of the Package::Stash API")
     (description "This is a backend for Package::Stash, which provides the
 functionality in a way that's less buggy and much faster.  It will be used by
@@ -6686,7 +6686,7 @@ compiler.")
         (base32
          "058l78rkr6px3rqcv2sdf9sqimdq1nc6py5yb9rrg3wmva7crw84"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/PadWalker/")
+    (home-page "https://metacpan.org/release/PadWalker")
     (synopsis "Play with other peoples' lexical variables")
     (description "PadWalker is a module which allows you to inspect (and even
 change) lexical variables in any subroutine which called you.  It will only
@@ -6711,7 +6711,7 @@ is particularly useful for debugging.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-warn" ,perl-test-warn)))
-    (home-page "http://search.cpan.org/dist/Parallel-ForkManager/")
+    (home-page "https://metacpan.org/release/Parallel-ForkManager")
     (synopsis "Simple parallel processing fork manager")
     (description "@code{Parallel::ForkManager} is intended for use in
 operations that can be done in parallel where the number of
@@ -6732,7 +6732,7 @@ processes to be forked off should be limited.")
         (base32
          "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Params-Util/")
+    (home-page "https://metacpan.org/release/Params-Util")
     (synopsis "Simple, compact and correct param-checking functions")
     (description
      "Params::Util provides a basic set of importable functions that makes
@@ -6758,7 +6758,7 @@ checking parameters easier.")
        ("perl-test-requires" ,perl-test-requires)))
     (propagated-inputs
      `(("perl-module-implementation" ,perl-module-implementation)))
-    (home-page "http://search.cpan.org/dist/Params-Validate/")
+    (home-page "https://metacpan.org/release/Params-Validate")
     (synopsis "Validate method/function parameters")
     (description "The Params::Validate module allows you to validate method or
 function call parameters to an arbitrary level of specificity.")
@@ -6809,7 +6809,7 @@ defaults, optional parameters, and extra \"slurpy\" parameters.")
         (base32
          "078ycyn8pw3rba4k3qwcqrqfcym5c1pivymwa0bvs9sab45j4iwy"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/PAR-Dist/")
+    (home-page "https://metacpan.org/release/PAR-Dist")
     (synopsis "Create and manipulate PAR distributions")
     (description "PAR::Dist is a toolkit to create and manipulate PAR
 distributions.")
@@ -6828,7 +6828,7 @@ distributions.")
         (base32
          "0w0i02y4z8465z050kml57mvhv7c5gl8w8ivplhr3cms0zbaq87b"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/parent/")
+    (home-page "https://metacpan.org/release/parent")
     (synopsis "Establish an ISA relationship with base classes at compile time")
     (description "Allows you to both load one or more modules, while setting
 up inheritance from those modules at the same time.")
@@ -6848,7 +6848,7 @@ up inheritance from those modules at the same time.")
          "1kj8q8dmd8jci94w5arav59nkp0pkxrkliz4n8n6yf02hsa82iv5"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Path-Class/")
+    (home-page "https://metacpan.org/release/Path-Class")
     (synopsis "Path specification manipulation")
     (description "Path::Class is a module for manipulation of file and
 directory specifications in a cross-platform manner.")
@@ -6878,7 +6878,7 @@ directory specifications in a cross-platform manner.")
                                "/bin/pwd'"))))))))
     (inputs
      `(("coreutils" ,coreutils)))
-    (home-page "http://search.cpan.org/dist/PathTools/")
+    (home-page "https://metacpan.org/release/PathTools")
     (synopsis "Tools for working with directory and file names")
     (description "This package provides functions to work with directory and
 file names.")
@@ -6903,7 +6903,7 @@ file names.")
     ;;    ("perl-test-mockrandom" ,perl-test-mockrandom)))
     (inputs
      `(("perl-unicode-utf8" ,perl-unicode-utf8)))
-    (home-page "http://search.cpan.org/dist/Path-Tiny/")
+    (home-page "https://metacpan.org/release/Path-Tiny")
     (synopsis "File path utility")
     (description "This module provides a small, fast utility for working
 with file paths.")
@@ -6925,7 +6925,7 @@ with file paths.")
     (native-inputs
      `(("perl-test-exception" ,perl-test-exception)))
     (home-page
-     "http://search.cpan.org/dist/PerlIO-utf8_strict/")
+     "https://metacpan.org/release/PerlIO-utf8_strict")
     (synopsis "Fast and correct UTF-8 IO")
     (description "@code{PerlIO::utf8_strict} provides a fast and correct UTF-8
 PerlIO layer.  Unlike Perl's default @code{:utf8} layer it checks the input
@@ -6949,7 +6949,7 @@ for correctness.")
    (native-inputs
     `(("perl-file-sharedir-install" ,perl-file-sharedir-install)
       ("perl-yaml-libyaml" ,perl-yaml-libyaml)))
-   (home-page "http://search.cpan.org/dist/Pegex/")
+   (home-page "https://metacpan.org/release/Pegex")
    (synopsis "Acmeist PEG Parser Framework")
    (description "Pegex is an Acmeist parser framework.  It allows you to easily
 create parsers that will work equivalently in lots of programming languages.
@@ -6974,7 +6974,7 @@ available.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-devel-symdump" ,perl-devel-symdump)))
-    (home-page "http://search.cpan.org/dist/Pod-Coverage/")
+    (home-page "https://metacpan.org/release/Pod-Coverage")
     (synopsis "Check for comprehensive documentation of a module")
     (description "This module provides a mechanism for determining if the pod
 for a given module is comprehensive.")
@@ -6992,7 +6992,7 @@ for a given module is comprehensive.")
                (base32
                 "0gg11ibbc02l2aw0bsv4jx0jax8z0apgfy3p5csqnvhlsb6218cr"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Pod-Simple/")
+    (home-page "https://metacpan.org/release/Pod-Simple")
     (synopsis "Parsing library for text in Pod format")
     (description "@code{Pod::Simple} is a Perl library for parsing text in
 the @dfn{Pod} (plain old documentation) markup language that is typically
@@ -7014,7 +7014,7 @@ used for writing documentation for Perl and for Perl modules.")
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
     (arguments `(#:tests? #f))          ; TODO: Timezone test failures
-    (home-page "http://search.cpan.org/dist/POSIX-strftime-Compiler/")
+    (home-page "https://metacpan.org/release/POSIX-strftime-Compiler")
     (synopsis "GNU C library compatible strftime for loggers and servers")
     (description "POSIX::strftime::Compiler provides GNU C library compatible
 strftime(3).  But this module is not affected by the system locale.  This
@@ -7039,7 +7039,7 @@ applications.")
      "Probe::Perl provides methods for obtaining information about the
 currently running perl interpreter.  It originally began life as code in the
 Module::Build project, but has been externalized here for general use.")
-    (home-page "http://search.cpan.org/~kwilliams/Probe-Perl")
+    (home-page "https://metacpan.org/release/Probe-Perl")
     (license (package-license perl))))
 
 (define-public perl-proc-invokeeditor
@@ -7062,7 +7062,7 @@ Module::Build project, but has been externalized here for general use.")
            (lambda _ (setenv "EDITOR" "echo") #t)))))
     (propagated-inputs
      `(("perl-carp-assert" ,perl-carp-assert)))
-    (home-page "http://search.cpan.org/dist/Proc-InvokeEditor/")
+    (home-page "https://metacpan.org/release/Proc-InvokeEditor")
     (synopsis "Interface to external editor from Perl")
     (description "This module provides the ability to supply some text to an
 external text editor, have it edited by the user, and retrieve the results.")
@@ -7082,7 +7082,7 @@ external text editor, have it edited by the user, and retrieve the results.")
          "165zcf9lpijdpkx82za0g9rx8ckjnhipmcivdkyzshl8jmp1bl4v"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Readonly/")
+    (home-page "https://metacpan.org/release/Readonly")
     (synopsis "Create read-only scalars, arrays, hashes")
     (description "This module provides a facility for creating non-modifiable
 variables in Perl.  This is useful for configuration files, headers, etc.  It
@@ -7103,7 +7103,7 @@ variables that should not be changed.")
         (base32
          "0g33cndhj353h5xjihvgjc2h6vxwkyyzw63r4l06czvq4flcar7v"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Ref-Util-XS/")
+    (home-page "https://metacpan.org/release/Ref-Util-XS")
     (synopsis "XS implementation for Ref::Util")
     (description "@code{Ref::Util::XS} is the XS implementation of
 @code{Ref::Util}, which provides several functions to help identify references
@@ -7131,7 +7131,7 @@ balanced parentheses and brackets, delimited text (with escapes), integers and
 floating-point numbers in any base (up to 36), comments in 44 languages,
 offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip
 codes.")
-    (home-page "http://search.cpan.org/~abigail/Regexp-Common")
+    (home-page "https://metacpan.org/release/Regexp-Common")
     ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD.
     (license (list (package-license perl) x11 bsd-3))))
 
@@ -7148,7 +7148,7 @@ codes.")
         (base32
          "01n1cggiflsnp9f6adkcxzkc0qpgssz60cwnyyd8mzavh2ximr5a"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Regexp-Util/")
+    (home-page "https://metacpan.org/release/Regexp-Util")
     (synopsis "Selection of general-utility regexp subroutines")
     (description "This package provides a selection of regular expression
 subroutines including @code{is_regexp}, @code{regexp_seen_evals},
@@ -7174,7 +7174,7 @@ and @code{deserialize_regexp}.")
        ("perl-test-fatal" ,perl-test-fatal)))
     (propagated-inputs
      `(("perl-class-method-modifiers" ,perl-class-method-modifiers)))
-    (home-page "http://search.cpan.org/dist/Role-Tiny/")
+    (home-page "https://metacpan.org/release/Role-Tiny")
     (synopsis "Roles, as a slice of Moose")
     (description "Role::Tiny is a minimalist role composition tool.")
     (license (package-license perl))))
@@ -7206,7 +7206,7 @@ and @code{deserialize_regexp}.")
         (base32
          "0sm6p1kw98s7j6n92vvxjqf818xggnmjwci34xjmw7gzl2519x47"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Safe-Isa/")
+    (home-page "https://metacpan.org/release/Safe-Isa")
     (synopsis "Call isa, can, does, and DOES safely")
     (description "This module allows you to call isa, can, does, and DOES
 safely on things that may not be objects.")
@@ -7225,7 +7225,7 @@ safely on things that may not be objects.")
         (base32
          "0y6jfzvxiz8h5yfz701shair0ilypq2mvimd7wn8wi2nbkm1p6wc"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Scope-Guard/")
+    (home-page "https://metacpan.org/release/Scope-Guard")
     (synopsis "Lexically-scoped resource management")
     (description "This module provides a convenient way to perform cleanup or
 other forms of resource management at the end of a scope.  It is particularly
@@ -7249,7 +7249,7 @@ collector.")
         (base32
          "07vyp0jpndcxkbyjk432nillxxk22wrmm2rs985y8ba96h3qig07"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Set-Infinite/")
+    (home-page "https://metacpan.org/release/Set-Infinite")
     (synopsis "Infinite sets")
     (description "Set::Infinite is a set theory module for infinite sets.")
     (license (package-license perl))))
@@ -7267,7 +7267,7 @@ collector.")
                (base32
                 "1l6znd40ylzvfwl02rlqzvakv602rmvwgm2xd768fpgc2fdm9dqi"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Set-IntSpan/")
+    (home-page "https://metacpan.org/release/Set-IntSpan")
     (synopsis "Manage sets of integers")
     (description "@code{Set::IntSpan} manages sets of integers.  It is
 optimized for sets that have long runs of consecutive integers.")
@@ -7289,7 +7289,7 @@ optimized for sets that have long runs of consecutive integers.")
     (propagated-inputs
      `(("perl-moose" ,perl-moose)
        ("perl-test-leaktrace" ,perl-test-leaktrace)))
-    (home-page "http://search.cpan.org/dist/Set-Object/")
+    (home-page "https://metacpan.org/release/Set-Object")
     (synopsis "Unordered collections of Perl Objects")
     (description "Set::Object provides efficient sets, unordered collections
 of Perl objects without duplicates for scalars and references.")
@@ -7308,7 +7308,7 @@ of Perl objects without duplicates for scalars and references.")
         (base32
          "07aiqkyi1p22drpcyrrmv7f8qq6fhrxh007achy2vryxyck1bp53"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Set-Scalar/")
+    (home-page "https://metacpan.org/release/Set-Scalar")
     (synopsis "Set operations for Perl")
     (description "The first priority of Set::Scalar is to be a convenient
 interface to sets (as in: unordered collections of Perl scalars).  While not
@@ -7329,7 +7329,7 @@ compact.")
         (base32
          "1kqs10s2plj6c96srk0j8d7xj8dxk1704r7mck8rqk09mg7lqspd"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Sort-Key/")
+    (home-page "https://metacpan.org/release/Sort-Key")
     (synopsis "Sort arrays by one or multiple calculated keys")
     (description "This Perl module provides various functions to quickly sort
 arrays by one or multiple calculated keys.")
@@ -7348,7 +7348,7 @@ arrays by one or multiple calculated keys.")
         (base32
          "0ip7q5g8d3lr7ri3ffcbrpk1hzzsiwgsn14k10k7hnjphxf1raza"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Sort-Naturally/")
+    (home-page "https://metacpan.org/release/Sort-Naturally")
     (synopsis "Sort lexically, but sort numeral parts numerically")
     (description "This module exports two functions, @code{nsort} and
 @code{ncmp}; they are used in implementing a \"natural sorting\" algorithm.
@@ -7377,7 +7377,7 @@ word-characters are compared lexically.")
        ("perl-role-tiny" ,perl-role-tiny)
        ("perl-test-fatal" ,perl-test-fatal)
        ("perl-test-needs" ,perl-test-needs)))
-    (home-page "http://search.cpan.org/dist/Specio//")
+    (home-page "https://metacpan.org/release/Specio")
     (synopsis "Classes for representing type constraints and coercion")
     (description "The Specio distribution provides classes for representing type
 constraints and coercion, along with syntax sugar for declaring them.  Note that
@@ -7401,7 +7401,7 @@ coerce values to that type.")
         (base32
          "18qxshrjh0ibpzjm2314157mxlibh3smyg64nr4mq990hh564n4g"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Spiffy/")
+    (home-page "https://metacpan.org/release/Spiffy")
     (synopsis "Spiffy Perl Interface Framework For You")
     (description "Spiffy is a framework and methodology for doing object
 oriented (OO) programming in Perl.  Spiffy combines the best parts of
@@ -7426,7 +7426,7 @@ other OO languages like Python, Ruby, Java and Perl 6.")
     (build-system perl-build-system)
     (inputs
      `(("perl-number-format" ,perl-number-format)))
-    (home-page "http://search.cpan.org/dist/Statistics-Basic/")
+    (home-page "https://metacpan.org/release/Statistics-Basic")
     (synopsis "Collection of very basic statistics modules")
     (description "This package provides basic statistics functions like
 @code{median()}, @code{mean()}, @code{variance()} and @code{stddev()}.")
@@ -7445,7 +7445,7 @@ other OO languages like Python, Ruby, Java and Perl 6.")
         (base32
          "0fs2n9zw6isfkha2kbqrvl9mwg572x1x0jlfaps0qsyynn846bcv"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Stream-Buffered/")
+    (home-page "https://metacpan.org/release/Stream-Buffered")
     (synopsis "Temporary buffer to save bytes")
     (description "Stream::Buffered is a buffer class to store arbitrary length
 of byte strings and then get a seekable filehandle once everything is
@@ -7466,7 +7466,7 @@ on the length of the size.")
         (base32
          "1bmpv8wr9jbc1lfj634xhq3y42nm28hh01jfsyzxhqhqf6dkdz59"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/strictures/")
+    (home-page "https://metacpan.org/release/strictures")
     (synopsis "Turn on strict and make all warnings fatal")
     (description "Strictures turns on strict and make all warnings fatal when
 run from within a source-controlled directory.")
@@ -7509,7 +7509,7 @@ run from within a source-controlled directory.")
                      (string-append (getcwd) ":"
                                     (getenv "PERL5LIB")))
              #t)))))
-    (home-page "http://search.cpan.org/dist/String-CamelCase/")
+    (home-page "https://metacpan.org/release/String-CamelCase")
     (synopsis "Camelcase and de-camelcase")
     (description "This module may be used to convert from under_score text to
 CamelCase and back again.")
@@ -7529,7 +7529,7 @@ CamelCase and back again.")
         (base32
          "12ls7f7847i4qcikkp3skwraqvjphjiv2zxfhl5d49326f5myr7x"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/String-Escape/")
+    (home-page "https://metacpan.org/release/String-Escape")
     (synopsis "Backslash escapes, quoted phrase, word elision, etc.")
     (description "This module provides a flexible calling interface to some
 frequently-performed string conversion functions, including applying and
@@ -7552,7 +7552,7 @@ removing double-quotes, and truncating to fit within a desired length.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/String-RewritePrefix/")
+    (home-page "https://metacpan.org/release/String-RewritePrefix")
     (synopsis "Rewrite strings based on a set of known prefixes")
     (description "This module allows you to rewrite strings based on a set of
 known prefixes.")
@@ -7572,7 +7572,7 @@ known prefixes.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-unicode-linebreak" ,perl-unicode-linebreak)))
-    (home-page "http://search.cpan.org/dist/String-Print/")
+    (home-page "https://metacpan.org/release/String-Print")
     (synopsis "String printing alternatives to printf")
     (description
      "This module inserts values into (translated) strings.  It provides
@@ -7597,7 +7597,7 @@ a functional interface.")
     (propagated-inputs
      `(("perl-data-optlist" ,perl-data-optlist)
        ("perl-params-util" ,perl-params-util)))
-    (home-page "http://search.cpan.org/dist/Sub-Exporter/")
+    (home-page "https://metacpan.org/release/Sub-Exporter")
     (synopsis "Sophisticated exporter for custom-built routines")
     (description
      "Sub::Exporter provides a sophisticated alternative to Exporter.pm for
@@ -7618,7 +7618,7 @@ custom-built routines.")
          "0mn0x8mkh36rrsr58s1pk4srwxh2hbwss7sv630imnk49navfdfm"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-sub-exporter" ,perl-sub-exporter)))
-    (home-page "http://search.cpan.org/dist/Sub-Exporter-Progressive/")
+    (home-page "https://metacpan.org/release/Sub-Exporter-Progressive")
     (synopsis "Only use Sub::Exporter if you need it")
     (description "Sub::Exporter is an incredibly powerful module, but with
 that power comes great responsibility, as well as some runtime penalties.
@@ -7641,7 +7641,7 @@ renaming exports, if they try to use them.")
         (base32
          "087fjcg6w576w47i1slj6mjfd3gl1b0airgddmn3prn0nff6nn2m"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Sub-Identify/")
+    (home-page "https://metacpan.org/release/Sub-Identify")
     (synopsis "Retrieve names of code references")
     (description "Sub::Identify allows you to retrieve the real name of code
 references.")
@@ -7662,7 +7662,7 @@ references.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-importer" ,perl-importer)))
-    (home-page "http://search.cpan.org/dist/Sub-Info//")
+    (home-page "https://metacpan.org/release/Sub-Info")
     (synopsis "Tool to inspect subroutines")
     (description "This package provides tools for inspecting subroutines
 in Perl.")
@@ -7682,7 +7682,7 @@ in Perl.")
         (base32
          "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Sub-Install/")
+    (home-page "https://metacpan.org/release/Sub-Install")
     (synopsis "Install subroutines into packages easily")
     (description
      "Sub::Install makes it easy to install subroutines into packages without
@@ -7705,7 +7705,7 @@ can see them.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-devel-checkbin" ,perl-devel-checkbin)))
-    (home-page "http://search.cpan.org/dist/Sub-Name/")
+    (home-page "https://metacpan.org/release/Sub-Name")
     (synopsis "(Re)name a sub")
     (description "Assigns a new name to referenced sub.  If package
 specification is omitted in the name, then the current package is used.  The
@@ -7730,7 +7730,7 @@ return value is the sub.")
      `(("perl-test-fatal" ,perl-test-fatal)))
     (propagated-inputs
      `(("perl-sub-name" ,perl-sub-name)))
-    (home-page "http://search.cpan.org/dist/Sub-Quote/")
+    (home-page "https://metacpan.org/release/Sub-Quote")
     (synopsis "Efficient generation of subroutines via string eval")
     (description "Sub::Quote provides an efficient generation of subroutines
 via string eval.")
@@ -7749,7 +7749,7 @@ via string eval.")
         (base32
          "1yzxqsim8vpavzqm2wfksh8dpmy6qbr9s3hdqqicp38br3lzd4qg"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Sub-Uplevel/")
+    (home-page "https://metacpan.org/release/Sub-Uplevel")
     (synopsis "Apparently run a function in a higher stack frame")
     (description "Like Tcl's uplevel() function, but not quite so dangerous.
 The idea is just to fool caller().  All the really naughty bits of Tcl's
@@ -7772,7 +7772,7 @@ uplevel() are avoided.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-sub-identify" ,perl-sub-identify)))
-    (home-page "http://search.cpan.org/dist/SUPER/")
+    (home-page "https://metacpan.org/release/SUPER")
     (synopsis "Control superclass method dispatching")
     (description
      "When subclassing a class, you may occasionally want to dispatch control to
@@ -7795,7 +7795,7 @@ support for run-time mix-ins and roles.")
         (base32
          "12cbncsfxbwg1w3p1qmymfbqdb22kmyajxzdnxnxbq5xjl6yncha"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/SVG/")
+    (home-page "https://metacpan.org/release/SVG")
     (synopsis "Perl extension for generating SVG documents")
     (description "SVG is a Perl module which generates a nested data structure
 containing the DOM representation of an SVG (Scalable Vector Graphics) image.
@@ -7817,7 +7817,7 @@ animation content.")
         (base32
          "0xbdjdgzfj9zwa4j3ipr8bfk7bcici4hk89hq5d27rhg2isljd9i"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Switch/")
+    (home-page "https://metacpan.org/release/Switch")
     (synopsis "Switch statement for Perl")
     (description "Switch is a Perl module which implements a generalized case
 mechanism.  The module augments the standard Perl syntax with two new
@@ -7870,7 +7870,7 @@ TODO: {
     (description
      "Sys::CPU is a module for counting the number of CPUs on a system, and
 determining their type and clock speed.")
-    (home-page "http://search.cpan.org/~mzsanford/Sys-CPU")
+    (home-page "https://metacpan.org/release/MZSANFORD/Sys-CPU-0.61")
     (license (package-license perl))))
 
 (define-public perl-sys-hostname-long
@@ -7887,7 +7887,7 @@ determining their type and clock speed.")
          "1jv5n8jv48c1p8svjsigyxndv1ygsq8wgwj9c7ypx1vaf3rns679"))))
     (build-system perl-build-system)
     (arguments `(#:tests? #f))          ;no `hostname' during build
-    (home-page "http://search.cpan.org/dist/Sys-Hostname-Long/")
+    (home-page "https://metacpan.org/release/Sys-Hostname-Long")
     (synopsis "Get full hostname in Perl")
     (description "Sys::Hostname::Long tries very hard to get the full hostname
 of a system.")
@@ -7915,7 +7915,7 @@ of a system.")
                               (string-append (getcwd) ":"
                                              (getenv "PERL5LIB")))
                       #t)))))
-    (home-page "http://search.cpan.org/dist/Task-Weaken/")
+    (home-page "https://metacpan.org/release/Task-Weaken")
     (synopsis "Ensure that a platform has weaken support")
     (description "One recurring problem in modules that use Scalar::Util's
 weaken function is that it is not present in the pure-perl variant.  If
@@ -7941,7 +7941,7 @@ error encouraging the user to seek support.")
     (propagated-inputs
      `(("perl-appconfig" ,perl-appconfig)
        ("perl-test-leaktrace" ,perl-test-leaktrace)))
-    (home-page "http://search.cpan.org/dist/Template-Toolkit/")
+    (home-page "https://metacpan.org/release/Template-Toolkit")
     (synopsis "Template processing system for Perl")
     (description "The Template Toolkit is a collection of modules which
 implement an extensible template processing system.  It was originally
@@ -7965,7 +7965,7 @@ documents: HTML, XML, POD, PostScript, LaTeX, and so on.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-template-toolkit" ,perl-template-toolkit)))
-    (home-page "http://search.cpan.org/dist/Template-Timer/")
+    (home-page "https://metacpan.org/release/Template-Timer")
     (synopsis "Profiling for Template Toolkit")
     (description "Template::Timer provides inline profiling of the template
 processing in Perl code.")
@@ -7986,7 +7986,7 @@ processing in Perl code.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/Term-Encoding/")
+    (home-page "https://metacpan.org/release/Term-Encoding")
     (synopsis "Detect encoding of the current terminal")
     (description "Term::Encoding is a simple module to detect the encoding of
 the current terminal expects in various ways.")
@@ -8011,7 +8011,7 @@ the current terminal expects in various ways.")
     (propagated-inputs
      `(("perl-class-methodmaker" ,perl-class-methodmaker)
        ("perl-term-readkey" ,perl-term-readkey)))
-    (home-page "http://search.cpan.org/dist/Term-ProgressBar/")
+    (home-page "https://metacpan.org/release/Term-ProgressBar")
     (synopsis "Progress meter on a standard terminal")
     (description "Term::ProgressBar provides a simple progress bar on the
 terminal, to let the user know that something is happening, roughly how much
@@ -8035,7 +8035,7 @@ stuff has been done, and maybe an estimate at how long remains.")
      `(("perl-io-interactive" ,perl-io-interactive)
        ("perl-term-progressbar" ,perl-term-progressbar)
        ("perl-test-mockobject" ,perl-test-mockobject)))
-    (home-page "http://search.cpan.org/dist/Term-ProgressBar-Quiet/")
+    (home-page "https://metacpan.org/release/Term-ProgressBar-Quiet")
     (synopsis "Progress meter if run interactively")
     (description "Term::ProgressBar is a wonderful module for showing progress
 bars on the terminal.  This module acts very much like that module when it is
@@ -8058,7 +8058,7 @@ a cron job) then it does not show the progress bar.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-term-progressbar-quiet" ,perl-term-progressbar-quiet)))
-    (home-page "http://search.cpan.org/dist/Term-ProgressBar-Simple/")
+    (home-page "https://metacpan.org/release/Term-ProgressBar-Simple")
     (synopsis "Simple progress bars")
     (description "Term::ProgressBar::Simple tells you how much work has been
 done, how much is left to do, and estimate how long it will take.")
@@ -8077,7 +8077,7 @@ done, how much is left to do, and estimate how long it will take.")
         (base32
          "0hdj5mldpj3pyprd4hbbalfx9yjgi5p59gg2ixk9808f5v7q74sa"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/TermReadKey/")
+    (home-page "https://metacpan.org/release/TermReadKey")
     (synopsis "Simple terminal control")
     (description "This module, ReadKey, provides ioctl control for terminals
 so the input modes can be changed (thus allowing reads of a single character
@@ -8103,7 +8103,7 @@ screen size, and retrieval/modification of the control characters.")
      `(("perl-devel-hide" ,perl-devel-hide)))
     (propagated-inputs
      `(("perl-term-size-perl" ,perl-term-size-perl)))
-    (home-page "http://search.cpan.org/dist/Term-Size-Any/")
+    (home-page "https://metacpan.org/release/Term-Size-Any")
     (synopsis "Retrieve terminal size")
     (description "This is a unified interface to retrieve terminal size.  It
 loads one module of a list of known alternatives, each implementing some way
@@ -8124,7 +8124,7 @@ the job on behalf of @code{Term::Size::Any}.")
         (base32
          "1rvm91bhdlxfwx5zka023p7szf2s7gm16wl27qiivvj66svsl6lc"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Term-Size-Perl/")
+    (home-page "https://metacpan.org/release/Term-Size-Perl")
     (synopsis "Perl extension for retrieving terminal size (Perl version)")
     (description "This is yet another implementation of @code{Term::Size}.
 Now in pure Perl, with the exception of a C probe run at build time.")
@@ -8145,7 +8145,7 @@ Now in pure Perl, with the exception of a C probe run at build time.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-importer" ,perl-importer)))
-    (home-page "http://search.cpan.org/dist/Term-Table//")
+    (home-page "https://metacpan.org/release/Term-Table")
     (synopsis "Format a header and rows into a table")
     (description "This module is able to generically format rows of data
 into tables.")
@@ -8165,7 +8165,7 @@ into tables.")
          "0a6zkchc0apvzkch6z18cx6h97xfiv50r7n4xhg90x8dvk75qzcs"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Text-Aligner/")
+    (home-page "https://metacpan.org/release/Text-Aligner")
     (synopsis "Align text")
     (description "Text::Aligner exports a single function, align(), which is
 used to justify strings to various alignment styles.")
@@ -8184,7 +8184,7 @@ used to justify strings to various alignment styles.")
         (base32
          "1j4jjw6bg6ik8cn1mimw54rvg4h0qf4hm9k63y9572sny3w56xq5"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-Balanced/")
+    (home-page "https://metacpan.org/release/Text-Balanced")
     (synopsis "Extract delimited text sequences from strings")
     (description "The Text::Balanced module can be used to extract delimited
 text sequences from strings.")
@@ -8203,7 +8203,7 @@ text sequences from strings.")
         (base32
          "05a1nayxv04n0hx7y3m8327ijm34k9nhngrbxl18zmgzpawqynww"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-CSV/")
+    (home-page "https://metacpan.org/release/Text-CSV")
     (synopsis "Manipulate comma-separated values")
     (description "Text::CSV provides facilities for the composition and
 decomposition of comma-separated values.  An instance of the Text::CSV class
@@ -8223,7 +8223,7 @@ can combine fields into a CSV string and parse a CSV string into fields.")
         (base32
          "06zlfbqrwbl0g2g3bhk6046yy5pf2rz80fzcp8aj47rnswz2yx5k"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-CSV_XS/")
+    (home-page "https://metacpan.org/release/Text-CSV_XS")
     (synopsis "Rountines for manipulating CSV files")
     (description "@code{Text::CSV_XS} provides facilities for the composition
 and decomposition of comma-separated values.  An instance of the
@@ -8248,7 +8248,7 @@ and escapes.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-algorithm-diff" ,perl-algorithm-diff)))
-    (home-page "http://search.cpan.org/dist/Text-Diff/")
+    (home-page "https://metacpan.org/release/Text-Diff")
     (synopsis "Perform diffs on files and record sets")
     (description "Text::Diff provides a basic set of services akin to the GNU
 diff utility.  It is not anywhere near as feature complete as GNU diff, but it
@@ -8274,7 +8274,7 @@ generally slower on larger files.")
      `(("perl-module-build" ,perl-module-build)
        ("perl-test-pod" ,perl-test-pod)
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
-    (home-page "http://search.cpan.org/dist/Text-Format/")
+    (home-page "https://metacpan.org/release/Text-Format")
     (synopsis "Various subroutines to format text")
     (description "This package provides functions to format text in various
 ways like centering, paragraphing, and converting tabs to spaces and spaces
@@ -8295,7 +8295,7 @@ to tabs.")
          "11sj62fynfgwrlgkv5a051cq6yn0pagxqjsz27dxx8phsd4wv706"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Text-Glob/")
+    (home-page "https://metacpan.org/release/Text-Glob")
     (synopsis "Match globbing patterns against text")
     (description "Text::Glob implements glob(3) style matching that can be
 used to match against text, rather than fetching names from a file system.  If
@@ -8319,7 +8319,7 @@ you want to do full file globbing use the File::Glob module instead.")
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
     (home-page
-     "http://search.cpan.org/dist/Text-NeatTemplate/")
+     "https://metacpan.org/release/Text-NeatTemplate")
     (synopsis "Fast, middleweight template engine")
     (description
      "Text::NeatTemplate provides a simple, middleweight but fast
@@ -8340,7 +8340,7 @@ yet need more features than simple variable substitution.")
         (base32
          "0sh47svzz0wm993ywfgpn0fvhajl2sj5hcnf5zxjz02in6ihhjnb"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-Roman/")
+    (home-page "https://metacpan.org/release/Text-Roman")
     (synopsis "Convert between Roman and Arabic algorisms")
     (description "This package provides functions to convert between Roman and
 Arabic algorisms.  It supports both conventional Roman algorisms (which range
@@ -8361,7 +8361,7 @@ algorism to indicate multiplication by 1000.")
         (base32
          "14sjmdcy7s73sk740g3ccmzmwhwd52x5ay3bjmibjlql1cag70ld"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-SimpleTable/")
+    (home-page "https://metacpan.org/release/Text-SimpleTable")
     (synopsis "Simple ASCII tables")
     (description "Text::SimpleTable draws simple ASCII tables.")
     (license artistic2.0)))
@@ -8383,7 +8383,7 @@ algorism to indicate multiplication by 1000.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-text-aligner" ,perl-text-aligner)))
-    (home-page "http://search.cpan.org/dist/Text-Table/")
+    (home-page "https://metacpan.org/release/Text-Table")
     (synopsis "Organize Data in Tables")
     (description "Text::Table renders plaintext tables.")
     (license x11)))
@@ -8404,7 +8404,7 @@ algorism to indicate multiplication by 1000.")
          "1z781cgz7wbn80lf3kqr2ad0pg6g1wlnim0822h8liw28k3l5msh"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/Text-Template/")
+     "https://metacpan.org/release/Text-Template")
     (synopsis
      "Expand template text with embedded Perl")
     (description
@@ -8427,7 +8427,7 @@ evaluate the little programs and replace them with their values.")
         (base32
          "1mnnq57amh0bs6z2ggkmgnn4hz8mqc9lfhr66xv2bsnlvhg7c7fb"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Text-Unidecode/")
+    (home-page "https://metacpan.org/release/Text-Unidecode")
     (synopsis "Provide plain ASCII transliterations of Unicode text")
     (description "Text::Unidecode provides a function, unidecode(...) that
 takes Unicode data and tries to represent it in US-ASCII characters (i.e., the
@@ -8449,7 +8449,7 @@ system.")
        (sha256
         (base32 "047i22mdnf7fa0h9w5jhqrjbg561l5jxk8xqzwh6zbmwlac4qf98"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/threads/")
+    (home-page "https://metacpan.org/release/threads")
     (synopsis "Perl interpreter-based threads")
     (description "This module exposes interpreter threads to the Perl level.")
     (license perl-license)))
@@ -8473,7 +8473,7 @@ system.")
      `(("perl-devel-stacktrace" ,perl-devel-stacktrace)
        ("perl-module-runtime" ,perl-module-runtime)
        ("perl-moo" ,perl-moo)))
-    (home-page "http://search.cpan.org/dist/Throwable/")
+    (home-page "https://metacpan.org/release/Throwable")
     (synopsis "Role for classes that can be thrown")
     (description "Throwable is a role for classes that are meant to be thrown
 as exceptions to standard program flow.")
@@ -8512,7 +8512,7 @@ approximately follow the suggestions in the Perl Style Guide.")
         (base32
          "0i9xq2qm50p2ih24265jndp2x8hfq7ap0d88nrlv5yaad4hxhc7k"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Tie-Cycle/")
+    (home-page "https://metacpan.org/release/Tie-Cycle")
     (synopsis "Cycle through a list of values")
     (description "You use @code{Tie::Cycle} to go through a list over and over
 again.  Once you get to the end of the list, you go back to the beginning.")
@@ -8532,7 +8532,7 @@ again.  Once you get to the end of the list, you go back to the beginning.")
           "0mmg9iyh42syal3z1p2pn9airq65yrkfs66cnqs9nz76jy60pfzs"))))
   (build-system perl-build-system)
   (native-inputs `(("perl-module-build" ,perl-module-build)))
-  (home-page "http://search.cpan.org/dist/Tie-IxHash/")
+  (home-page "https://metacpan.org/release/Tie-IxHash")
   (synopsis "Ordered associative arrays for Perl")
   (description "This Perl module implements Perl hashes that preserve the
 order in which the hash elements were added.  The order is not affected when
@@ -8556,7 +8556,7 @@ operations can also be performed on the IxHash.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-test-simple" ,perl-test-simple)))
-    (home-page "http://search.cpan.org/dist/Tie-ToObject/")
+    (home-page "https://metacpan.org/release/Tie-ToObject")
     (synopsis "Tie to an existing Perl object")
     (description "This class provides a tie constructor that returns the
 object it was given as it's first argument.  This way side effects of calling
@@ -8580,7 +8580,7 @@ $object->TIEHASH are avoided.")
      `(("perl-module-install" ,perl-module-install)
        ("perl-test-pod" ,perl-test-pod)
        ("perl-test-pod-coverage" ,perl-test-pod-coverage)))
-    (home-page "http://search.cpan.org/dist/Time-Duration/")
+    (home-page "https://metacpan.org/release/Time-Duration")
     (synopsis "English expression of durations")
     (description "This module provides functions for expressing durations in
 rounded or exact terms.")
@@ -8603,7 +8603,7 @@ rounded or exact terms.")
      `(("perl-time-duration" ,perl-time-duration)))
     (propagated-inputs
      `(("perl-exporter-lite" ,perl-exporter-lite)))
-    (home-page "http://search.cpan.org/dist/Time-Duration-Parse/")
+    (home-page "https://metacpan.org/release/Time-Duration-Parse")
     (synopsis "Parse time duration strings")
     (description "Time::Duration::Parse is a module to parse human readable
 duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
@@ -8622,7 +8622,7 @@ duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
                (base32
                 "07jbydcdzpjm6i4nidci0rlklx4kla210fsl6zishw0yq5di9yjv"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Time-HiRes/")
+    (home-page "https://metacpan.org/release/Time-HiRes")
     (synopsis "High resolution alarm, sleep, gettimeofday, interval timers")
     (description "This package implements @code{usleep}, @code{ualarm}, and
 @code{gettimeofday} for Perl, as well as wrappers to implement @code{time},
@@ -8642,7 +8642,7 @@ duration strings like \"2 minutes\" and \"3 seconds\" to seconds.")
         (base32
          "0jgvd6v93hlrcmy56yxbm4yrhzi8yvrq8c3xffpgh28af01wmb5j"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Time-Local/")
+    (home-page "https://metacpan.org/release/Time-Local")
     (synopsis "Efficiently compute time from local and GMT time")
     (description "This module provides functions that are the inverse of
 built-in perl functions localtime() and gmtime().  They accept a date as a
@@ -8663,7 +8663,7 @@ the system epoch.")
        (sha256
         (base32 "0hbg99v8xqy3nx6nrjpwh1w6xwqpfflz0djkbdd72kvf8zvglwb9"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Time-Piece/")
+    (home-page "https://metacpan.org/release/Time-Piece")
     (synopsis "Object-Oriented time objects")
     (description
      "This module replaces the standard @code{localtime} and @code{gmtime}
@@ -8685,7 +8685,7 @@ still work as expected.")
         (base32
          "11lf54akr9nbivqkjrhvkmfdgkbhw85sq0q4mak56n6bf542bgbm"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/TimeDate/")
+    (home-page "https://metacpan.org/release/TimeDate")
     (synopsis "Date parsing/formatting subroutines")
     (description "This module provides routines for parsing date string into
 time values and formatting dates into ASCII strings.")
@@ -8708,7 +8708,7 @@ time values and formatting dates into ASCII strings.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-timedate" ,perl-timedate))) ;For Date::Parse
-    (home-page "http://search.cpan.org/dist/Time-Mock/")
+    (home-page "https://metacpan.org/release/Time-Mock")
     (synopsis "Shift and scale time")
     (description "This module allows you to speed up your sleep(), alarm(),
 and time() calls.")
@@ -8732,7 +8732,7 @@ and time() calls.")
        ("perl-test-exception" ,perl-test-exception)))
     (propagated-inputs
      `(("perl-scalar-list-utils" ,perl-scalar-list-utils)))
-    (home-page "http://search.cpan.org/dist/Tree-Simple/")
+    (home-page "https://metacpan.org/release/Tree-Simple")
     (synopsis "Simple tree object")
     (description "This module in a fully object-oriented implementation of a
 simple n-ary tree.")
@@ -8757,7 +8757,7 @@ simple n-ary tree.")
     (propagated-inputs
      `(("perl-tree-simple" ,perl-tree-simple)
        ("perl-base" ,perl-base)))
-    (home-page "http://search.cpan.org/dist/Tree-Simple-VisitorFactory/")
+    (home-page "https://metacpan.org/release/Tree-Simple-VisitorFactory")
     (synopsis "Factory object for dispensing Visitor objects")
     (description "This module is a factory for dispensing
 Tree::Simple::Visitor::* objects.")
@@ -8776,7 +8776,7 @@ Tree::Simple::Visitor::* objects.")
         (base32
          "068vdbpacfawc3lkfs0b82xxl27h3l0gj14iada3vlwk8rps9yv0"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Try-Tiny/")
+    (home-page "https://metacpan.org/release/Try-Tiny")
     (synopsis "Minimal try/catch with proper preservation of $@@")
     (description "This module provides bare bones try/catch/finally statements
 that are designed to minimize common mistakes with eval blocks, and nothing
@@ -8802,7 +8802,7 @@ else.")
     (propagated-inputs
      `(("perl-exporter-tiny" ,perl-exporter-tiny)
        ("perl-hash-fieldhash" ,perl-hash-fieldhash)))
-    (home-page "http://search.cpan.org/dist/Type-Tie/")
+    (home-page "https://metacpan.org/release/Type-Tie")
     (synopsis "Tie a variable to a type constraint")
     (description "This module exports a single function: @code{ttie}.  It ties
 a variable to a type constraint, ensuring that whatever values stored in the
@@ -8836,7 +8836,7 @@ variable conform.")
        ("perl-ref-util-xs" ,perl-ref-util-xs)
        ("perl-regexp-util" ,perl-regexp-util)
        ("perl-type-tie" ,perl-type-tie)))
-    (home-page "http://search.cpan.org/dist/Type-Tiny/")
+    (home-page "https://metacpan.org/release/Type-Tiny")
     (synopsis "Tiny, yet Moo(se)-compatible type constraint")
     (description "@code{Type::Tiny} is a small class for writing type
 constraints, inspired by Moose's type constraint API.  It has only one
@@ -8858,7 +8858,7 @@ be used with Moose, Mouse and Moo (or none of the above).")
         (base32
          "05nbr898cvjjh1wsy55l84zasx65gijdxc6dnn558ihns8zx6gm9"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Type-Tiny-XS/")
+    (home-page "https://metacpan.org/release/Type-Tiny-XS")
     (synopsis "Provides an XS boost for some of Type::Tiny's built-in type constraints")
     (description "This module is optionally used by @code{Type::Tiny} to
 provide faster, C-based implementations of some type constraints.  This
@@ -8884,7 +8884,7 @@ so other data validation frameworks might also consider using it.")
        ("perl-path-tiny" ,perl-path-tiny)
        ("perl-type-tiny" ,perl-type-tiny)
        ("perl-exporter-tiny" ,perl-exporter-tiny)))
-    (home-page "http://search.cpan.org/dist/Types-Path-Tiny/")
+    (home-page "https://metacpan.org/release/Types-Path-Tiny")
     (synopsis "Types and coercions for Moose and Moo")
     (description "This module provides @code{Path::Tiny} types for Moose, Moo,
 etc.  It handles two important types of coercion: coercing objects with
@@ -8907,7 +8907,7 @@ to ensure that files or directories exist.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-common-sense" ,perl-common-sense)))
-    (home-page "http://search.cpan.org/dist/Types-Serialiser/")
+    (home-page "https://metacpan.org/release/Types-Serialiser")
     (synopsis "Data types for common serialisation formats")
     (description "This module provides some extra datatypes that are used by
 common serialisation formats such as JSON or CBOR.")
@@ -8935,7 +8935,7 @@ common serialisation formats such as JSON or CBOR.")
                               (string-append (getcwd) ":"
                                              (getenv "PERL5LIB")))
                       #t)))))
-    (home-page "http://search.cpan.org/dist/Unicode-Normalize/")
+    (home-page "https://metacpan.org/release/Unicode-Normalize")
     (synopsis "Unicode normalization forms")
     (description "This Perl module provides Unicode normalization forms.")
     (license (package-license perl))))
@@ -8965,7 +8965,7 @@ common serialisation formats such as JSON or CBOR.")
              #t)))))
     (propagated-inputs
      `(("perl-unicode-normalize" ,perl-unicode-normalize)))
-    (home-page "http://search.cpan.org/dist/Unicode-Collate/")
+    (home-page "https://metacpan.org/release/Unicode-Collate")
     (synopsis "Unicode collation algorithm")
     (description "This package provides tools for sorting and comparing
 Unicode data.")
@@ -8987,7 +8987,7 @@ Unicode data.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-mime-charset" ,perl-mime-charset)))
-    (home-page "http://search.cpan.org/dist/Unicode-LineBreak/")
+    (home-page "https://metacpan.org/release/Unicode-LineBreak")
     (synopsis "Unicode line breaking algorithm")
     (description
      "@code{Unicode::LineBreak} implements the line breaking algorithm
@@ -9012,7 +9012,7 @@ defined by Annex #11 is used to determine breaking positions.")
        ("perl-test-leaktrace" ,perl-test-leaktrace)
        ("perl-variable-magic" ,perl-variable-magic)
        ("perl-test-pod" ,perl-test-pod)))
-    (home-page "http://search.cpan.org/dist/Unicode-UTF8/")
+    (home-page "https://metacpan.org/release/Unicode-UTF8")
     (synopsis "Encoding and decoding of UTF-8 encoding form")
     (description
      "This module provides functions to encode and decode UTF-8 encoding form
@@ -9032,7 +9032,7 @@ as specified by Unicode and ISO/IEC 10646:2011.")
         (base32
          "03wr25zznbfn1g8zmmq3g6a6288xr30priwvm75y4vvqfkrajbaj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/UNIVERSAL-can/")
+    (home-page "https://metacpan.org/release/UNIVERSAL-can")
     (synopsis "UNIVERSAL::can() reimplementation")
     (description "This module attempts to work around people calling
 UNIVERSAL::can() as a function, which it is not.")
@@ -9053,7 +9053,7 @@ UNIVERSAL::can() as a function, which it is not.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-build-tiny" ,perl-module-build-tiny)))
-    (home-page "http://search.cpan.org/dist/UNIVERSAL-isa/")
+    (home-page "https://metacpan.org/release/UNIVERSAL-isa")
     (synopsis "UNIVERSAL::isa() reimplementation")
     (description "This module attempts to recover from people calling
 UNIVERSAL::isa as a function.")
@@ -9073,7 +9073,7 @@ UNIVERSAL::isa as a function.")
         (base32
          "1v9qdg80ng6dzyzs7cn8sb6mn8ym042i32lcnpd478b7g6l3d9xj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/UNIVERSAL-require/")
+    (home-page "https://metacpan.org/release/UNIVERSAL-require")
     (synopsis "Require modules from a variable")
     (description "This module lets you require other modules where the module
 name is in a variable, something you can't do with the @code{require}
@@ -9093,7 +9093,7 @@ built-in.")
         (base32
          "0p31dclnj47k4hj35rzay9pzxasl3gq46kzwqalhdw1kgr8ii6iz"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Variable-Magic/")
+    (home-page "https://metacpan.org/release/Variable-Magic")
     (synopsis "Associate user-defined magic to variables from Perl")
     (description "Magic is Perl's way of enhancing variables.  This mechanism
 lets the user add extra data to any variable and hook syntactical
@@ -9117,7 +9117,7 @@ having to write a single line of XS.")
         (base32
          "1gjzs570i67ywbv967g8ylb5sg59clwmyrl2yix3jl70dhn55070"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/XML-Writer/")
+    (home-page "https://metacpan.org/release/XML-Writer")
     (synopsis "Easily generate well-formed, namespace-aware XML")
     (description "@code{XML::Writer} is a simple Perl module for writing XML
 documents: it takes care of constructing markup and escaping data correctly.
@@ -9145,7 +9145,7 @@ attribute names.")
      `(("perl-extutils-depends" ,perl-extutils-depends)
        ("perl-module-install" ,perl-module-install)
        ("perl-test-fatal" ,perl-test-fatal)))
-    (home-page "http://search.cpan.org/dist/XS-Object-Magic/")
+    (home-page "https://metacpan.org/release/XS-Object-Magic")
     (synopsis "Opaque, extensible XS pointer backed objects using sv_magic")
     (description
      "This way of associating structs with Perl space objects is designed to
@@ -9169,7 +9169,7 @@ neither visible nor modifiable from Perl space).")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-yaml" ,perl-test-yaml)))
-    (home-page "http://search.cpan.org/dist/YAML/")
+    (home-page "https://metacpan.org/release/YAML")
     (synopsis "YAML for Perl")
     (description "The YAML.pm module implements a YAML Loader and Dumper based
 on the YAML 1.0 specification.")
@@ -9191,7 +9191,7 @@ on the YAML 1.0 specification.")
          "06msvj3vmjszl5zj1k7g47ll0kkds9gdb5sky0q27lh4zw1vlj33"))))
     (build-system perl-build-system)
     (home-page
-     "http://search.cpan.org/dist/YAML-LibYAML/")
+     "https://metacpan.org/release/YAML-LibYAML")
     (synopsis
      "Perl YAML Serialization using XS and libyaml")
     (description
@@ -9217,7 +9217,7 @@ best YAML support to date.")
        ("perl-module-build-tiny" ,perl-module-build-tiny)))
     (arguments
      `(#:tests? #f))                    ;requires Test::More >= 0.99
-    (home-page "http://search.cpan.org/dist/YAML-Tiny/")
+    (home-page "https://metacpan.org/release/YAML-Tiny")
     (synopsis "Read/Write YAML files")
     (description "YAML::Tiny is a perl class for reading and writing
 YAML-style files, written with as little code as possible, reducing load time
@@ -9242,7 +9242,7 @@ and memory overhead.")
     (native-inputs
      `(("perl-module-build" ,perl-module-build)))
     (home-page
-     "http://search.cpan.org/dist/Parse-RecDescent/")
+     "https://metacpan.org/release/Parse-RecDescent")
     (synopsis "Generate recursive-descent parsers")
     (description
      "@code{Parse::RecDescent} can incrementally generate top-down
@@ -9264,7 +9264,7 @@ recursive-descent text parsers from simple yacc-like grammar specifications.")
         (base32
          "1r8kbyk0qd4ficmabj753kjpq0ib0csk01169w7jxflg62cfj41q"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Parse-Yapp/")
+    (home-page "https://metacpan.org/release/Parse-Yapp")
     (synopsis "Generate and use LALR parsers")
     (description "This package compiles yacc-like @dfn{Look Ahead LR} (LALR)
 grammars to generate Perl object oriented parser modules.")
@@ -9291,7 +9291,7 @@ grammars to generate Perl object oriented parser modules.")
      `(("perl-cpan-meta-requirements" ,perl-cpan-meta-requirements)
        ("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml)
        ("perl-parse-cpan-meta" ,perl-parse-cpan-meta)))
-    (home-page "http://search.cpan.org/dist/CPAN-Meta/")
+    (home-page "https://metacpan.org/release/CPAN-Meta")
     (synopsis "Distribution metadata for a CPAN dist")
     (description "Software distributions released to the CPAN include a
 META.json or, for older distributions, META.yml, which describes the
@@ -9315,7 +9315,7 @@ methods for interrogating that data.")
         (base32
          "1a8zflgaayycmn3zvd3n64yypa4jyl1va0h51wpr5w46irg69608"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/CPAN-Meta-Requirements/")
+    (home-page "https://metacpan.org/release/CPAN-Meta-Requirements")
     (synopsis "Set of version requirements for a CPAN dist")
     (description "A CPAN::Meta::Requirements object models a set of version
 constraints like those specified in the META.yml or META.json files in CPAN
@@ -9339,7 +9339,7 @@ representation.")
     (build-system perl-build-system)
     (arguments
      `(#:tests? #f))                    ;Tests require Test::More >= 0.99
-    (home-page "http://search.cpan.org/dist/CPAN-Meta-YAML/")
+    (home-page "https://metacpan.org/release/CPAN-Meta-YAML")
     (synopsis "Read and write a subset of YAML for CPAN Meta files")
     (description "This module implements a subset of the YAML specification
 for use in reading and writing CPAN metadata files like META.yml and
@@ -9361,7 +9361,7 @@ MYMETA.yml.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-cpan-meta" ,perl-cpan-meta)))
-    (home-page "http://search.cpan.org/dist/Module-Build/")
+    (home-page "https://metacpan.org/release/Module-Build")
     (synopsis "Build and install Perl modules")
     (description "@code{Module::Build} is a system for building, testing, and
 installing Perl modules; it used to be part of Perl itself until version 5.22,
@@ -9388,7 +9388,7 @@ system---most of the @code{Module::Build} code is pure-Perl.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-cpan-meta-yaml" ,perl-cpan-meta-yaml)))
-    (home-page "http://search.cpan.org/dist/Parse-CPAN-Meta/")
+    (home-page "https://metacpan.org/release/DAGOLDEN/Parse-CPAN-Meta-1.4422")
     (synopsis "Parse META.yml and META.json CPAN metadata files")
     (description "Parse::CPAN::Meta is a parser for META.json and META.yml
 files, using JSON::PP and/or CPAN::Meta::YAML.")
@@ -9407,7 +9407,7 @@ files, using JSON::PP and/or CPAN::Meta::YAML.")
         (base32
          "0x9n0617gjjcqa4nk5biiwkxdi90xpdfg6z07gjr009qjg3bkah6"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Scalar-List-Utils/")
+    (home-page "https://metacpan.org/release/Scalar-List-Utils")
     (synopsis "Common Scalar and List utility subroutines")
     (description "This package contains a selection of subroutines that people
 have expressed would be nice to have in the perl core, but the usage would not
@@ -9431,7 +9431,7 @@ such that being individual extensions would be wasteful.")
             "1lgc2rb3b5a4lxvbq0cbg08qk0n2i88srxbsz93bwi3razpxxr7k"))))
     (build-system perl-build-system)
     (home-page
-      "http://search.cpan.org/dist/Shell-Command/")
+      "https://metacpan.org/release/Shell-Command")
     (synopsis
       "Cross-platform functions emulating common shell commands")
     (description
@@ -9460,7 +9460,7 @@ such that being individual extensions would be wasteful.")
   (inputs
     `(("perl-class-xsaccessor" ,perl-class-xsaccessor)))
   (home-page
-    "http://search.cpan.org/dist/File-Find-Object/")
+    "https://metacpan.org/release/File-Find-Object")
   (synopsis
     "Object-oriented File::Find replacement in Perl")
   (description "File::Find::Object is an object-oriented
@@ -9490,7 +9490,7 @@ File::Find replacement in Perl.")
       ("perl-number-compare" ,perl-number-compare)
       ("perl-text-glob" ,perl-text-glob)))
   (home-page
-    "http://search.cpan.org/dist/File-Find-Object-Rule/")
+    "https://metacpan.org/release/File-Find-Object-Rule")
   (synopsis
     "Alternative interface to File::Find::Object")
   (description "File::Find::Object::Rule is an alternative Perl
@@ -9513,7 +9513,7 @@ interface to File::Find::Object.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-text-glob" ,perl-text-glob)))
-    (home-page "http://search.cpan.org/dist/File-Finder/")
+    (home-page "https://metacpan.org/release/File-Finder")
     (synopsis "Wrapper for @code{File::Find} ala @code{find(1)}")
     (description
      "@code{File::Find} is great, but constructing the wanted routine can
@@ -9544,7 +9544,7 @@ used as the head of many different sequences.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-io-string" ,perl-io-string)))
-    (home-page "http://search.cpan.org/dist/Font-TTF/")
+    (home-page "https://metacpan.org/release/Font-TTF")
     (synopsis "TTF font support for Perl")
     (description "This package provides a Perl module for TrueType/OpenType
 font hacking.  It supports reading, processing and writing of the following
@@ -9646,7 +9646,7 @@ till 5pm\" and \"on the second Tuesday of the month\" and \"between 4pm and
      `(("perl-number-compare" ,perl-number-compare)
        ("perl-text-glob" ,perl-text-glob)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Path-Iterator-Rule/")
+    (home-page "https://metacpan.org/release/Path-Iterator-Rule")
     (synopsis "Iterative, recursive file finder")
     (description "Path::Iterator::Rule iterates over files and directories to
 identify ones matching a user-defined set of rules.  The API is based heavily
@@ -9687,7 +9687,7 @@ arduous to type for one-liners.")
         (base32
          "1njgr2zly9nrwvfrjhgk9dqq48as1pmbb2rs4bh3irvla75v7azg"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Pod-Constants/")
+    (home-page "https://metacpan.org/release/Pod-Constants")
     (synopsis "Include constants from POD")
     (description "This module allows you to specify those constants that
 should be documented in your POD, and pull them out a run time in a fairly
@@ -9715,7 +9715,7 @@ lookup in %INC or by assuming it is $0 if the caller is @code{main}
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-exception" ,perl-test-exception)))
-    (home-page "http://search.cpan.org/dist/Regexp-Pattern/")
+    (home-page "https://metacpan.org/release/Regexp-Pattern")
     (synopsis "Collection of regexp patterns")
     (description "Regexp::Pattern is a convention for organizing reusable
 regexp patterns in modules.")
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 88fa1aba68..5b5ec89fc2 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -216,7 +216,7 @@ MTP, and much more.")
                     (lib (dirname (dirname (car pm)))))
                (wrap-program (string-append out "/bin/exiftool")
                              `("PERL5LIB" prefix (,lib)))))))))
-    (home-page "http://search.cpan.org/dist/Image-ExifTool")
+    (home-page "https://metacpan.org/release/Image-ExifTool")
     (synopsis "Program and Perl library to manipulate EXIF and other metadata")
     (description "This package provides the @code{exiftool} command and the
 @code{Image::ExifTool} Perl library to manipulate EXIF tags of digital images
diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 317d10e70b..f7d3e0ec7d 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -212,7 +212,7 @@ interfaces (GUIs) in the Tcl language.")
     (synopsis "Graphical user interface toolkit for Perl")
     (description
      "Tk is a Graphical User Interface ToolKit.")
-    (home-page "http://search.cpan.org/~srezic/Tk")
+    (home-page "https://metacpan.org/release/Tk")
     ;; From the package README: "... you can redistribute it and/or modify it
     ;; under the same terms as Perl itself, with the exception of all the
     ;; files in the pTk sub-directory which have separate terms derived from
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index b290644aac..e33a98a9fd 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Danny Milosavljevic <dannym+a@scratchpost.org>
 ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
@@ -4094,7 +4094,7 @@ This package contains the complete TeX Live distribution.")
        ("perl-config-autoconf" ,perl-config-autoconf)
        ("perl-extutils-libbuilder" ,perl-extutils-libbuilder)
        ("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/Text-BibTeX")
+    (home-page "https://metacpan.org/release/Text-BibTeX")
     (synopsis "Interface to read and parse BibTeX files")
     (description "@code{Text::BibTeX} is a Perl library for reading, parsing,
 and processing BibTeX files.  @code{Text::BibTeX} gives you access to the data
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index 614ee299d4..cafe71bd41 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -658,7 +658,7 @@ http servers, too), an sslcat() function for writing your own clients, and
 finally access to the SSL api of the SSLeay/OpenSSL package so you can write
 servers or clients for more complicated applications.")
     (license license:perl-license)
-    (home-page "http://search.cpan.org/dist/Net-SSLeay")))
+    (home-page "https://metacpan.org/release/Net-SSLeay")))
 
 (define-public perl-crypt-openssl-rsa
  (package
@@ -683,7 +683,7 @@ servers or clients for more complicated applications.")
       ("openssl" ,openssl)))
   (arguments perl-crypt-arguments)
   (home-page
-    "http://search.cpan.org/dist/Crypt-OpenSSL-RSA")
+    "https://metacpan.org/release/Crypt-OpenSSL-RSA")
   (synopsis
     "RSA encoding and decoding, using the openSSL libraries")
   (description "Crypt::OpenSSL::RSA does RSA encoding and decoding (using the
@@ -718,7 +718,7 @@ OpenSSL libraries).")
   (inputs `(("openssl" ,openssl)))
   (arguments perl-crypt-arguments)
   (home-page
-    "http://search.cpan.org/dist/Crypt-OpenSSL-Bignum")
+    "https://metacpan.org/release/Crypt-OpenSSL-Bignum")
   (synopsis
     "OpenSSL's multiprecision integer arithmetic in Perl")
   (description "Crypt::OpenSSL::Bignum provides multiprecision integer
@@ -740,7 +740,7 @@ arithmetic in Perl.")
         (base32
          "0rvi9l4ljcbhwwvspq019nfq2h2v746dk355h2nwnlmqikiihsxa"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Crypt-OpenSSL-Guess/")
+    (home-page "https://metacpan.org/release/Crypt-OpenSSL-Guess")
     (synopsis "Guess the OpenSSL include path")
     (description
      "The Crypt::OpenSSL::Guess Perl module provides helpers to guess the
@@ -769,7 +769,7 @@ correct OpenSSL include path.  It is intended for use in your
    `(("openssl" ,openssl)))
   (arguments perl-crypt-arguments)
   (home-page
-    "http://search.cpan.org/dist/Crypt-OpenSSL-Random")
+    "https://metacpan.org/release/Crypt-OpenSSL-Random")
   (synopsis
     "OpenSSL/LibreSSL pseudo-random number generator access")
   (description "Crypt::OpenSSL::Random is a OpenSSL/LibreSSL pseudo-random
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 3256f2a1e0..054e9cf9f5 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -460,7 +460,7 @@ servers that may need it).")
        ("perl-net-server" ,perl-net-server)
        ("perl-plack" ,perl-plack)
        ("perl-test-tcp" ,perl-test-tcp)))
-    (home-page "http://search.cpan.org/dist/Starman")
+    (home-page "https://metacpan.org/release/Starman")
     (synopsis "PSGI/Plack web server")
     (description "Starman is a PSGI perl web server that has unique features
 such as high performance, preforking, signal support, superdaemon awareness,
@@ -1287,7 +1287,7 @@ language known as SASS.")
     (propagated-inputs
      `(("perl-posix-strftime-compiler" ,perl-posix-strftime-compiler)))
     (arguments `(#:tests? #f))          ;TODO: Timezone test failures
-    (home-page "http://search.cpan.org/dist/Apache-LogFormat-Compiler")
+    (home-page "https://metacpan.org/release/Apache-LogFormat-Compiler")
     (synopsis "Compile a log format string to perl-code")
     (description "This module provides methods to compile a log format string
 to perl-code, for faster generation of access_log lines.")
@@ -1316,7 +1316,7 @@ to perl-code, for faster generation of access_log lines.")
     (propagated-inputs
      `(("perl-digest-hmac" ,perl-digest-hmac)
        ("perl-gssapi" ,perl-gssapi)))
-    (home-page "http://search.cpan.org/dist/Authen-SASL")
+    (home-page "https://metacpan.org/release/Authen-SASL")
     (synopsis "SASL authentication framework")
     (description "Authen::SASL provides an SASL authentication framework.")
     (license l:perl-license)))
@@ -1342,7 +1342,7 @@ to perl-code, for faster generation of access_log lines.")
      `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
        ("perl-data-visitor" ,perl-data-visitor)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Action-RenderView")
+    (home-page "https://metacpan.org/release/Catalyst-Action-RenderView")
     (synopsis "Sensible default Catalyst action")
     (description "This Catalyst action implements a sensible default end
 action, which will forward to the first available view.")
@@ -1375,7 +1375,7 @@ action, which will forward to the first available view.")
        ("perl-params-validate" ,perl-params-validate)
        ("perl-uri-find" ,perl-uri-find)
        ("perl-xml-simple" ,perl-xml-simple)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Action-REST")
+    (home-page "https://metacpan.org/release/Catalyst-Action-REST")
     (synopsis "Automated REST Method Dispatching")
     (description "This Action handles doing automatic method dispatching for
 REST requests.  It takes a normal Catalyst action, and changes the dispatch to
@@ -1413,7 +1413,7 @@ regular method.")
        ("perl-dbix-class" ,perl-dbix-class)
        ("perl-catalyst-model-dbic-schema" ,perl-catalyst-model-dbic-schema)))
     (home-page
-     "http://search.cpan.org/dist/Catalyst-Authentication-Store-DBIx-Class")
+     "https://metacpan.org/release/Catalyst-Authentication-Store-DBIx-Class")
     (synopsis "Storage class for Catalyst authentication using DBIx::Class")
     (description "The Catalyst::Authentication::Store::DBIx::Class class
 provides access to authentication information stored in a database via
@@ -1440,7 +1440,7 @@ DBIx::Class.")
      `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
        ("perl-moose" ,perl-moose)))
     (home-page
-     "http://search.cpan.org/dist/Catalyst-Component-InstancePerContext")
+     "https://metacpan.org/release/Catalyst-Component-InstancePerContext")
     (synopsis "Create only one instance of Moose component per context")
     (description "Catalyst::Component::InstancePerContext returns a new
 instance of a component on each request.")
@@ -1478,7 +1478,7 @@ instance of a component on each request.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-path-class" ,perl-path-class)
        ("perl-template-toolkit" ,perl-template-toolkit)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Devel")
+    (home-page "https://metacpan.org/release/Catalyst-Devel")
     (synopsis "Catalyst Development Tools")
     (description "The Catalyst-Devel distribution includes a variety of
 modules useful for the development of Catalyst applications, but not required
@@ -1508,7 +1508,7 @@ modules.")
     (propagated-inputs
      `(("perl-moose" ,perl-moose)
        ("perl-text-simpletable" ,perl-text-simpletable)))
-    (home-page "http://search.cpan.org/dist/Catalyst-DispatchType-Regex")
+    (home-page "https://metacpan.org/release/Catalyst-DispatchType-Regex")
     (synopsis "Regex DispatchType for Catalyst")
     (description "Dispatch type managing path-matching behaviour using
 regexes.  Regex dispatch types have been deprecated and removed from Catalyst
@@ -1558,7 +1558,7 @@ when the dispatch type is first seen in your application.")
      ("perl-namespace-clean" ,perl-namespace-clean)
      ("perl-tie-ixhash" ,perl-tie-ixhash)
      ("perl-try-tiny" ,perl-try-tiny)))
-  (home-page "http://search.cpan.org/dist/Catalyst-Model-DBIC-Schema")
+  (home-page "https://metacpan.org/release/Catalyst-Model-DBIC-Schema")
   (synopsis "DBIx::Class::Schema Model Class")
   (description "This is a Catalyst Model for DBIx::Class::Schema-based
 Models.")
@@ -1582,7 +1582,7 @@ Models.")
        ("perl-datetime" ,perl-datetime)
        ("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-AccessLog")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-AccessLog")
     (synopsis "Request logging from within Catalyst")
     (description "This Catalyst plugin enables you to create \"access logs\"
 from within a Catalyst application instead of requiring a webserver to do it
@@ -1617,7 +1617,7 @@ for you.  It will work even with Catalyst debug logging turned off.")
        ("perl-string-rewriteprefix" ,perl-string-rewriteprefix)
        ("perl-test-exception" ,perl-test-exception)
        ("perl-try-tiny" ,perl-try-tiny)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Authentication")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-Authentication")
     (synopsis "Infrastructure plugin for the Catalyst authentication framework")
     (description "The authentication plugin provides generic user support for
 Catalyst apps.  It is the basis for both authentication (checking the user is
@@ -1649,7 +1649,7 @@ system authorises them to do).")
        ("perl-set-object" ,perl-set-object)
        ("perl-universal-isa" ,perl-universal-isa)))
     (home-page
-     "http://search.cpan.org/dist/Catalyst-Plugin-Authorization-Roles")
+     "https://metacpan.org/release/Catalyst-Plugin-Authorization-Roles")
     (synopsis "Role-based authorization for Catalyst")
     (description "Catalyst::Plugin::Authorization::Roles provides role-based
 authorization for Catalyst based on Catalyst::Plugin::Authentication.")
@@ -1673,7 +1673,7 @@ authorization for Catalyst based on Catalyst::Plugin::Authentication.")
        ("perl-catalyst-runtime" ,perl-catalyst-runtime)
        ("perl-gd-securityimage" ,perl-gd-securityimage)
        ("perl-http-date" ,perl-http-date)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Captcha")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-Captcha")
     (synopsis "Captchas for Catalyst")
     (description "This plugin creates and validates Captcha images for
 Catalyst.")
@@ -1701,7 +1701,7 @@ Catalyst.")
        ("perl-config-any" ,perl-config-any)
        ("perl-data-visitor" ,perl-data-visitor)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-ConfigLoader")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-ConfigLoader")
     (synopsis "Load config files of various types")
     (description "This module will attempt to load find and load configuration
 files of various types.  Currently it supports YAML, JSON, XML, INI and Perl
@@ -1734,7 +1734,7 @@ formats.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-object-signature" ,perl-object-signature)
        ("perl-test-www-mechanize-psgi" ,perl-test-www-mechanize-psgi)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Session")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-Session")
     (synopsis "Catalyst generic session plugin")
     (description "This plugin links the two pieces required for session
 management in web applications together: the state, and the store.")
@@ -1763,7 +1763,7 @@ management in web applications together: the state, and the store.")
        ("perl-mro-compat" ,perl-mro-compat)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
     (home-page
-     "http://search.cpan.org/dist/Catalyst-Plugin-Session-State-Cookie")
+     "https://metacpan.org/release/Catalyst-Plugin-Session-State-Cookie")
     (synopsis "Maintain session IDs using cookies")
     (description "In order for Catalyst::Plugin::Session to work, the session
 ID needs to be stored on the client, and the session data needs to be stored
@@ -1794,7 +1794,7 @@ cookie mechanism.")
        ("perl-mro-compat" ,perl-mro-compat)
        ("perl-path-class" ,perl-path-class)))
     (home-page
-     "http://search.cpan.org/dist/Catalyst-Plugin-Session-Store-FastMmap")
+     "https://metacpan.org/release/Catalyst-Plugin-Session-Store-FastMmap")
     (synopsis "FastMmap session storage backend")
     (description "Catalyst::Plugin::Session::Store::FastMmap is a fast session
 storage plugin for Catalyst that uses an mmap'ed file to act as a shared
@@ -1820,7 +1820,7 @@ memory interprocess cache.  It is based on Cache::FastMmap.")
      `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
        ("perl-devel-stacktrace" ,perl-devel-stacktrace)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-StackTrace")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-StackTrace")
     (synopsis "Stack trace on the Catalyst debug screen")
     (description "This plugin enhances the standard Catalyst debug screen by
 including a stack trace of your application up to the point where the error
@@ -1849,7 +1849,7 @@ number, file name, and code context surrounding the line number.")
        ("perl-moose" ,perl-moose)
        ("perl-moosex-types" ,perl-moosex-types)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Plugin-Static-Simple")
+    (home-page "https://metacpan.org/release/Catalyst-Plugin-Static-Simple")
     (synopsis "Simple serving of static pages")
     (description "The Static::Simple plugin is designed to make serving static
 content in your application during development quick and easy, without
@@ -1912,7 +1912,7 @@ MIME type directly to the browser, without being processed through Catalyst.")
        ("perl-try-tiny" ,perl-try-tiny)
        ("perl-uri" ,perl-uri)
        ("perl-uri-ws" ,perl-uri-ws)))
-    (home-page "http://search.cpan.org/dist/Catalyst-Runtime")
+    (home-page "https://metacpan.org/release/Catalyst-Runtime")
     (synopsis "The Catalyst Framework Runtime")
     (description "Catalyst is a modern framework for making web applications.
 It is designed to make it easy to manage the various tasks you need to do to
@@ -1944,7 +1944,7 @@ run an application on the web, either by doing them itself, or by letting you
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)
        ("perl-uri" ,perl-uri)))
     (home-page
-     "http://search.cpan.org/dist/Catalyst-TraitFor-Request-ProxyBase")
+     "https://metacpan.org/release/Catalyst-TraitFor-Request-ProxyBase")
     (synopsis "Replace request base with value passed by HTTP proxy")
     (description "This module is a Moose::Role which allows you more
 flexibility in your application's deployment configurations when deployed
@@ -1972,7 +1972,7 @@ replaced with the contents of the X-Request-Base header.")
        ("perl-test-www-mechanize-catalyst" ,perl-test-www-mechanize-catalyst)
        ("perl-text-csv" ,perl-text-csv)
        ("perl-xml-simple" ,perl-xml-simple)))
-    (home-page "http://search.cpan.org/dist/Catalyst-View-Download")
+    (home-page "https://metacpan.org/release/Catalyst-View-Download")
     (synopsis "Download data in many formats")
     (description "The purpose of this module is to provide a method for
 downloading data into many supportable formats.  For example, downloading a
@@ -1999,7 +1999,7 @@ table based report in a variety of formats (CSV, HTML, etc.).")
      `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
        ("perl-json-maybexs" ,perl-json-maybexs)
        ("perl-mro-compat" ,perl-mro-compat)))
-    (home-page "http://search.cpan.org/dist/Catalyst-View-JSON")
+    (home-page "https://metacpan.org/release/Catalyst-View-JSON")
     (synopsis "Catalyst JSON view")
     (description "Catalyst::View::JSON is a Catalyst View handler that returns
 stash data in JSON format.")
@@ -2026,7 +2026,7 @@ stash data in JSON format.")
      ("perl-path-class" ,perl-path-class)
      ("perl-template-timer" ,perl-template-timer)
      ("perl-template-toolkit" ,perl-template-toolkit)))
-  (home-page "http://search.cpan.org/dist/Catalyst-View-TT")
+  (home-page "https://metacpan.org/release/Catalyst-View-TT")
   (synopsis "Template View Class")
   (description "This module is a Catalyst view class for the Template
 Toolkit.")
@@ -2056,7 +2056,7 @@ Toolkit.")
        ("perl-moosex-traits-pluggable" ,perl-moosex-traits-pluggable)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)
        ("perl-list-moreutils" ,perl-list-moreutils)))
-    (home-page "http://search.cpan.org/dist/CatalystX-Component-Traits")
+    (home-page "https://metacpan.org/release/CatalystX-Component-Traits")
     (synopsis "Trait Loading and Resolution for Catalyst Components")
     (description "Adds a \"COMPONENT\" in Catalyst::Component method to your
 Catalyst component base class that reads the optional \"traits\" parameter
@@ -2082,7 +2082,7 @@ MooseX::Traits::Pluggable.")
      `(("perl-catalyst-runtime" ,perl-catalyst-runtime)
        ("perl-moose" ,perl-moose)
        ("perl-moosex-relatedclassroles" ,perl-moosex-relatedclassroles)))
-    (home-page "http://search.cpan.org/dist/CatalystX-RoleApplicator")
+    (home-page "https://metacpan.org/release/CatalystX-RoleApplicator")
     (synopsis "Apply roles to Catalyst classes")
     (description "CatalystX::RoleApplicator applies roles to Catalyst
 application classes.")
@@ -2110,7 +2110,7 @@ application classes.")
        ("perl-moose" ,perl-moose)
        ("perl-namespace-autoclean" ,perl-namespace-autoclean)
        ("starman" ,starman)))
-    (home-page "http://search.cpan.org/dist/CatalystX-Script-Server-Starman")
+    (home-page "https://metacpan.org/release/CatalystX-Script-Server-Starman")
     (synopsis "Catalyst development server with Starman")
     (description "This module provides a Catalyst extension to replace the
 development server with Starman.")
@@ -2135,7 +2135,7 @@ development server with Starman.")
        ("perl-test-warn" ,perl-test-warn)))
     (propagated-inputs
      `(("perl-html-parser" ,perl-html-parser)))
-    (home-page "http://search.cpan.org/dist/CGI")
+    (home-page "https://metacpan.org/release/CGI")
     (synopsis "Handle Common Gateway Interface requests and responses")
     (description "CGI.pm is a stable, complete and mature solution for
 processing and preparing HTTP requests and responses.  Major features include
@@ -2187,7 +2187,7 @@ form-based applications.")
      `(("perl-module-build" ,perl-module-build)))
     (inputs `(("perl-cgi" ,perl-cgi)))
     (home-page
-     "http://search.cpan.org/dist/CGI-Session")
+     "https://metacpan.org/release/CGI-Session")
     (synopsis
      "Persistent session data in CGI applications")
     (description
@@ -2213,7 +2213,7 @@ HTTP requests.")
        ("perl-module-build" ,perl-module-build)
        ("perl-test-exception" ,perl-test-exception)
        ("perl-test-nowarnings" ,perl-test-nowarnings)))
-    (home-page "http://search.cpan.org/dist/CGI-Simple")
+    (home-page "https://metacpan.org/release/CGI-Simple")
     (synopsis "CGI interface that is CGI.pm compliant")
     (description "CGI::Simple provides a relatively lightweight drop in
 replacement for CGI.pm.  It shares an identical OO interface to CGI.pm for
@@ -2235,7 +2235,7 @@ parameter parsing, file upload, cookie handling and header generation.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-test-deep" ,perl-test-deep)))
-    (home-page "http://search.cpan.org/dist/CGI-Struct")
+    (home-page "https://metacpan.org/release/CGI-Struct")
     (synopsis "Build structures from CGI data")
     (description "This is a module for building structured data from CGI
 inputs, in a manner reminiscent of how PHP does.")
@@ -2259,7 +2259,7 @@ inputs, in a manner reminiscent of how PHP does.")
     (propagated-inputs
      `(("perl-datetime" ,perl-datetime)
        ("perl-http-date" ,perl-http-date)))
-    (home-page "http://search.cpan.org/dist/DateTime-Format-HTTP")
+    (home-page "https://metacpan.org/release/DateTime-Format-HTTP")
     (synopsis "Date conversion routines")
     (description "This module provides functions that deal with the date
 formats used by the HTTP protocol.")
@@ -2280,7 +2280,7 @@ formats used by the HTTP protocol.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-libwww" ,perl-libwww)))
-    (home-page "http://search.cpan.org/dist/Digest-MD5-File")
+    (home-page "https://metacpan.org/release/Digest-MD5-File")
     (synopsis "MD5 sums for files and urls")
     (description "Digest::MD5::File is a Perl extension for getting MD5 sums
 for files and urls.")
@@ -2310,7 +2310,7 @@ Encode module to know this encoding under the name \"locale\".  It means
 bytes obtained from the environment can be converted to Unicode strings
 by calling Encode::encode(locale => $bytes) and converted back again
 with Encode::decode(locale => $string).")
-    (home-page "http://search.cpan.org/~gaas/Encode-Locale/")))
+    (home-page "https://metacpan.org/release/Encode-Locale")))
 
 (define-public perl-feed-find
   (package
@@ -2336,7 +2336,7 @@ with Encode::decode(locale => $string).")
        ("perl-html-parser" ,perl-html-parser)
        ("perl-libwww" ,perl-libwww)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/Feed-Find")
+    (home-page "https://metacpan.org/release/Feed-Find")
     (synopsis "Syndication feed auto-discovery")
     (description "@code{Feed::Find} implements feed auto-discovery for finding
 syndication feeds, given a URI.  It will discover the following feed formats:
@@ -2363,7 +2363,7 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom.")
     (description
      "The File::Listing module exports a single function called parse_dir(),
 which can be used to parse directory listings.")
-    (home-page "http://search.cpan.org/~gaas/File-Listing/")))
+    (home-page "https://metacpan.org/release/File-Listing")))
 
 (define-public perl-finance-quote
   (package
@@ -2392,7 +2392,7 @@ which can be used to parse directory listings.")
       ("perl-libwww" ,perl-libwww)
       ("perl-lwp-protocol-https" ,perl-lwp-protocol-https)
       ("perl-uri" ,perl-uri)))
-   (home-page "http://search.cpan.org/dist/Finance-Quote")
+   (home-page "https://metacpan.org/release/Finance-Quote")
    (synopsis "Stock and mutual fund quotes")
    (description
     "Finance::Quote gets stock quotes from various internet sources, including
@@ -2416,7 +2416,7 @@ Yahoo! Finance, Fidelity Investments, and the Australian Stock Exchange.")
     (arguments
      `(#:make-maker-flags
        `(,(string-append "--gssapiimpl=" (assoc-ref %build-inputs "gssapi")))))
-    (home-page "http://search.cpan.org/dist/GSSAPI")
+    (home-page "https://metacpan.org/release/GSSAPI")
     (synopsis "Perl extension providing access to the GSSAPIv2 library")
     (description "This is a Perl extension for using GSSAPI C bindings as
 described in RFC 2744.")
@@ -2437,7 +2437,7 @@ described in RFC 2744.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-html-tree" ,perl-html-tree)))
-    (home-page "http://search.cpan.org/dist/HTML-Element-Extended")
+    (home-page "https://metacpan.org/release/HTML-Element-Extended")
     (synopsis "Manipulate tables of HTML::Element")
     (description
      "HTML::Element::Extended is a Perl extension for manipulating a table
@@ -2463,7 +2463,7 @@ composed of HTML::Element style components.")
        ("perl-http-message" ,perl-http-message)
        ("perl-lwp-mediatypes" ,perl-lwp-mediatypes)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/HTML-Form")
+    (home-page "https://metacpan.org/release/HTML-Form")
     (synopsis "Perl class representing an HTML form element")
     (description "Objects of the HTML::Form class represents a single HTML
 <form> ... </form> instance.")
@@ -2494,7 +2494,7 @@ composed of HTML::Element style components.")
     (inputs
      `(("perl-html-parser" ,perl-html-parser)))
     (home-page
-     "http://search.cpan.org/dist/HTML-Scrubber")
+     "https://metacpan.org/release/HTML-Scrubber")
     (synopsis
      "Perl extension for scrubbing/sanitizing html")
     (description
@@ -2518,7 +2518,7 @@ composed of HTML::Element style components.")
      `(("perl-html-parser" ,perl-html-parser)
        ("perl-html-tagset" ,perl-html-tagset)
        ("perl-libwww" ,perl-libwww)))
-    (home-page "http://search.cpan.org/dist/HTML-Lint")
+    (home-page "https://metacpan.org/release/HTML-Lint")
     (synopsis "Check for HTML errors in a string or file")
     (description "HTML::Lint is a pure-Perl HTML parser and checker for
 syntactic legitmacy.")
@@ -2540,7 +2540,7 @@ syntactic legitmacy.")
     (propagated-inputs
      `(("perl-html-element-extended" ,perl-html-element-extended)
        ("perl-html-parser" ,perl-html-parser)))
-    (home-page "http://search.cpan.org/dist/HTML-TableExtract")
+    (home-page "https://metacpan.org/release/HTML-TableExtract")
     (synopsis "Extract contents from HTML tables")
     (description
      "HTML::TableExtract is a Perl module for extracting the content contained
@@ -2567,7 +2567,7 @@ in tables within an HTML document, either as text or encoded element trees.")
      `(("perl-html-parser" ,perl-html-parser)
        ("perl-html-tagset" ,perl-html-tagset)
        ("perl-libwww" ,perl-libwww)))
-    (home-page "http://search.cpan.org/dist/HTML-Tree")
+    (home-page "https://metacpan.org/release/HTML-Tree")
     (synopsis "Work with HTML in a DOM-like tree structure")
     (description "This distribution contains a suite of modules for
 representing, creating, and extracting information from HTML syntax trees.")
@@ -2596,7 +2596,7 @@ representing, creating, and extracting information from HTML syntax trees.")
 it from plain text (alias data content) in HTML documents.  As different
 kinds of markup and text are recognized, the corresponding event handlers
 are invoked.")
-    (home-page "http://search.cpan.org/~gaas/HTML-Parser/")))
+    (home-page "https://metacpan.org/release/HTML-Parser")))
 
 (define-public perl-html-tagset
   (package
@@ -2616,7 +2616,7 @@ are invoked.")
     (description
      "The HTML::Tagset module contains several data tables useful in various
 kinds of HTML parsing operations.")
-    (home-page "http://search.cpan.org/dist/HTML-Tagset/")))
+    (home-page "https://metacpan.org/release/HTML-Tagset")))
 
 (define-public perl-html-template
   (package
@@ -2632,7 +2632,7 @@ kinds of HTML parsing operations.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-cgi" ,perl-cgi)))
-    (home-page "http://search.cpan.org/dist/HTML-Template")
+    (home-page "https://metacpan.org/release/HTML-Template")
     (synopsis "HTML-like templates")
     (description
      "This module attempts to make using HTML templates simple and natural.
@@ -2662,7 +2662,7 @@ you to separate design from the data.")
     (propagated-inputs
      `(("perl-file-temp" ,perl-file-temp)
        ("perl-http-message" ,perl-http-message))) ;For HTTP::Headers
-    (home-page "http://search.cpan.org/dist/HTTP-Body")
+    (home-page "https://metacpan.org/release/HTTP-Body")
     (synopsis "HTTP Body Parser")
     (description "HTTP::Body parses chunks of HTTP POST data and supports
 application/octet-stream, application/json, application/x-www-form-urlencoded,
@@ -2690,7 +2690,7 @@ and multipart/form-data.")
     (inputs
      `(("perl-time-local" ,perl-time-local)
        ("perl-http-date" ,perl-http-date)))
-    (home-page "http://search.cpan.org/dist/HTTP-CookieJar")
+    (home-page "https://metacpan.org/release/HTTP-CookieJar")
     (synopsis "Minimalist HTTP user agent cookie jar")
     (description "This module implements a minimalist HTTP user agent cookie
 jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
@@ -2717,7 +2717,7 @@ jar in conformance with RFC 6265 <http://tools.ietf.org/html/rfc6265>.")
      "The HTTP::Cookies class is for objects that represent a cookie jar,
 that is, a database of all the HTTP cookies that a given LWP::UserAgent
 object knows about.")
-    (home-page "http://search.cpan.org/~gaas/HTTP-Cookies/")))
+    (home-page "https://metacpan.org/release/GAAS/HTTP-Cookies-6.01")))
 
 (define-public perl-http-daemon
   (package
@@ -2741,7 +2741,7 @@ object knows about.")
      "Instances of the HTTP::Daemon class are HTTP/1.1 servers that listen
 on a socket for incoming requests.  The HTTP::Daemon is a subclass of
 IO::Socket::INET, so you can perform socket operations directly on it too.")
-    (home-page "http://search.cpan.org/~gaas/HTTP-Daemon/")))
+    (home-page "https://metacpan.org/release/HTTP-Daemon")))
 
 (define-public perl-http-date
   (package
@@ -2761,7 +2761,7 @@ IO::Socket::INET, so you can perform socket operations directly on it too.")
     (description
      "The HTTP::Date module provides functions that deal with date formats
 used by the HTTP protocol (and then some more).")
-    (home-page "http://search.cpan.org/~gaas/HTTP-Date/")))
+    (home-page "https://metacpan.org/release/HTTP-Date")))
 
 (define-public perl-http-message
   (package
@@ -2788,7 +2788,7 @@ used by the HTTP protocol (and then some more).")
     (synopsis "Perl HTTP style message")
     (description
      "An HTTP::Message object contains some headers and a content body.")
-    (home-page "http://search.cpan.org/~ether/HTTP-Message/")))
+    (home-page "https://metacpan.org/release/ETHER/HTTP-Message-6.11")))
 
 (define-public perl-http-negotiate
   (package
@@ -2814,7 +2814,7 @@ draft-ietf-http-v11-spec-00.ps chapter 12.  Content negotiation allows for
 the selection of a preferred content representation based upon attributes
 of the negotiable variants and the value of the various Accept* header
 fields in the request.")
-    (home-page "http://search.cpan.org/~gaas/HTTP-Negotiate/")))
+    (home-page "https://metacpan.org/release/HTTP-Negotiate")))
 
 (define-public perl-http-parser
   (package
@@ -2832,7 +2832,7 @@ fields in the request.")
     (propagated-inputs
      `(("perl-http-message" ,perl-http-message)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/HTTP-Parser")
+    (home-page "https://metacpan.org/release/HTTP-Parser")
     (synopsis "Parse HTTP/1.1 requests")
     (description "This is an HTTP request parser.  It takes chunks of text as
 received and returns a 'hint' as to what is required, or returns the
@@ -2855,7 +2855,7 @@ supported.")
     (build-system perl-build-system)
     (native-inputs
      `(("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/HTTP-Parser-XS")
+    (home-page "https://metacpan.org/release/HTTP-Parser-XS")
     (synopsis "Fast HTTP request parser")
     (description "HTTP::Parser::XS is a fast, primitive HTTP request/response
 parser.")
@@ -2877,7 +2877,7 @@ parser.")
     (propagated-inputs
      `(("perl-class-accessor" ,perl-class-accessor)
        ("perl-http-message" ,perl-http-message)))
-    (home-page "http://search.cpan.org/dist/HTTP-Request-AsCGI")
+    (home-page "https://metacpan.org/release/HTTP-Request-AsCGI")
     (synopsis "Set up a CGI environment from an HTTP::Request")
     (description "This module provides a convenient way to set up a CGI
 environment from an HTTP::Request.")
@@ -2911,7 +2911,7 @@ environment from an HTTP::Request.")
                                (string-append (getcwd) ":"
                                               (getenv "PERL5LIB")))
                        #t)))))
-    (home-page "http://search.cpan.org/dist/HTTP-Server-Simple")
+    (home-page "https://metacpan.org/release/HTTP-Server-Simple")
     (synopsis "Lightweight HTTP server")
     (description "HTTP::Server::Simple is a simple standalone HTTP daemon with
 no non-core module dependencies.  It can be used for building a standalone
@@ -2937,7 +2937,7 @@ http-based UI to your existing tools.")
        ("perl-io-socket-ssl" ,perl-io-socket-ssl)
        ("perl-mozilla-ca" ,perl-mozilla-ca)
        ("perl-net-ssleay" ,perl-net-ssleay)))
-    (home-page "http://search.cpan.org/dist/HTTP-Tiny")
+    (home-page "https://metacpan.org/release/HTTP-Tiny")
     (synopsis "HTTP/1.1 client")
     (description "This is a very simple HTTP/1.1 client, designed for doing
 simple requests without the overhead of a large framework like LWP::UserAgent.
@@ -2963,7 +2963,7 @@ It supports proxies and redirection.  It also correctly resumes after EINTR.")
      "IO::HTML provides an easy way to open a file containing HTML while
 automatically determining its encoding.  It uses the HTML5 encoding sniffing
 algorithm specified in section 8.2.2.1 of the draft standard.")
-    (home-page "http://search.cpan.org/~cjm/IO-HTML/")))
+    (home-page "https://metacpan.org/release/IO-HTML")))
 
 (define-public perl-io-socket-ip
   (package
@@ -2979,7 +2979,7 @@ algorithm specified in section 8.2.2.1 of the draft standard.")
          "15kv5g1yb4a345sk3r5wfr99f868lhfqkddzsgpqddvccfkhv58i"))))
     (build-system perl-build-system)
     (native-inputs `(("perl-module-build" ,perl-module-build)))
-    (home-page "http://search.cpan.org/dist/IO-Socket-IP")
+    (home-page "https://metacpan.org/release/IO-Socket-IP")
     (synopsis "Family-neutral IP socket supporting both IPv4 and IPv6")
     (description "This module provides a protocol-independent way to use IPv4
 and IPv6 sockets, intended as a replacement for IO::Socket::INET.")
@@ -3047,7 +3047,7 @@ World-Wide Web.  The main focus of the library is to provide classes
 and functions that allow you to write WWW clients.  The library also
 contains modules that are of more general use and even classes that
 help you implement simple HTTP servers.")
-    (home-page "http://search.cpan.org/dist/libwww-perl/")))
+    (home-page "https://metacpan.org/release/libwww-perl")))
 
 (define-public perl-lwp-online
   (package
@@ -3068,7 +3068,7 @@ help you implement simple HTTP servers.")
        ("perl-uri" ,perl-uri)))
     (native-inputs
      `(("perl-module-install" ,perl-module-install)))
-    (home-page "http://search.cpan.org/dist/LWP-Online/")
+    (home-page "https://metacpan.org/release/LWP-Online")
     (synopsis "Checks whether your process has access to the web")
     (description "This module attempts to answer, as accurately as it can, one
 of the nastiest technical questions there is: am I on the internet?
@@ -3098,7 +3098,7 @@ not have DNS.  We might not have a network card at all!")
 known as MIME) types and encodings.  The mapping from file extensions to
 media types is defined by the media.types file.  If the ~/.media.types file
 exists it is used instead.")
-    (home-page "http://search.cpan.org/~gaas/LWP-MediaTypes/")))
+    (home-page "https://metacpan.org/release/LWP-MediaTypes")))
 
 (define-public perl-lwp-protocol-https
   (package
@@ -3122,7 +3122,7 @@ exists it is used instead.")
        ;; Users should instead make sure SSL_ca_path is set properly.
        ;; ("perl-mozilla-ca" ,perl-mozilla-ca)
        ("perl-net-http" ,perl-net-http)))
-    (home-page "http://search.cpan.org/dist/LWP-Protocol-https")
+    (home-page "https://metacpan.org/release/LWP-Protocol-https")
     (synopsis "HTTPS support for LWP::UserAgent")
     (description "The LWP::Protocol::https module provides support for using
 https schemed URLs with LWP.")
@@ -3143,7 +3143,7 @@ https schemed URLs with LWP.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-libwww" ,perl-libwww)))
-    (home-page "http://search.cpan.org/dist/LWP-UserAgent-Determined")
+    (home-page "https://metacpan.org/release/LWP-UserAgent-Determined")
     (synopsis "Virtual browser that retries errors")
     (description "LWP::UserAgent::Determined works just like LWP::UserAgent,
 except that when you use it to get a web page but run into a
@@ -3189,7 +3189,7 @@ and retry a few times.")
        ("perl-term-progressbar-simple" ,perl-term-progressbar-simple)
        ("perl-uri" ,perl-uri)
        ("perl-xml-libxml" ,perl-xml-libxml)))
-    (home-page "http://search.cpan.org/dist/Net-Amazon-S3")
+    (home-page "https://metacpan.org/release/Net-Amazon-S3")
     (synopsis "Perl interface to Amazon S3")
     (description "This module provides a Perlish interface to Amazon S3.")
     (license l:perl-license)))
@@ -3217,7 +3217,7 @@ and retry a few times.")
 Net::HTTP class represents a connection to an HTTP server.  The HTTP protocol
 is described in RFC 2616.  The Net::HTTP class supports HTTP/1.0 and
 HTTP/1.1.")
-    (home-page "http://search.cpan.org/dist/Net-HTTP")))
+    (home-page "https://metacpan.org/release/Net-HTTP")))
 
 (define-public perl-net-server
   (package
@@ -3232,7 +3232,7 @@ HTTP/1.1.")
         (base32
          "0gw1k9gcw7habbkxvsfa2gz34brlbwcidk6khgsf1qjm0dbccrw2"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Net-Server")
+    (home-page "https://metacpan.org/release/Net-Server")
     (synopsis "Extensible Perl server engine")
     (description "Net::Server is an extensible, generic Perl server engine.
 It attempts to be a generic server as in Net::Daemon and NetServer::Generic.
@@ -3261,7 +3261,7 @@ or to multiple server ports.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-io-socket-ssl" ,perl-io-socket-ssl)))
-    (home-page "http://search.cpan.org/dist/Net-SMTP-SSL")
+    (home-page "https://metacpan.org/release/Net-SMTP-SSL")
     (synopsis "SSL support for Net::SMTP")
     (description "SSL support for Net::SMTP.")
     (license l:perl-license)))
@@ -3296,7 +3296,7 @@ or to multiple server ports.")
        ("perl-test-tcp" ,perl-test-tcp)
        ("perl-try-tiny" ,perl-try-tiny)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/Plack")
+    (home-page "https://metacpan.org/release/Plack")
     (synopsis "Perl Superglue for Web frameworks and servers (PSGI toolkit)")
     (description "Plack is a set of tools for using the PSGI stack.  It
 contains middleware components, a reference server, and utilities for Web
@@ -3323,7 +3323,7 @@ WSGI.")
        ("perl-http-message" ,perl-http-message)
        ("perl-plack" ,perl-plack)))     ;for Plack::Test
     (home-page
-     "http://search.cpan.org/dist/Plack-Middleware-FixMissingBodyInRedirect")
+     "https://metacpan.org/release/Plack-Middleware-FixMissingBodyInRedirect")
     (synopsis "Plack::Middleware which sets body for redirect response")
     (description "This module sets the body in redirect response, if it's not
 already set.")
@@ -3347,7 +3347,7 @@ already set.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-plack" ,perl-plack)))
-    (home-page "http://search.cpan.org/dist/Plack-Middleware-MethodOverride")
+    (home-page "https://metacpan.org/release/Plack-Middleware-MethodOverride")
     (synopsis "Override REST methods to Plack apps via POST")
     (description "This middleware allows for POST requests that pretend to be
 something else: by adding either a header named X-HTTP-Method-Override to the
@@ -3372,7 +3372,7 @@ can say what method it actually meant.")
     (propagated-inputs
      `(("perl-plack" ,perl-plack)))
     (home-page
-     "http://search.cpan.org/dist/Plack-Middleware-RemoveRedundantBody")
+     "https://metacpan.org/release/Plack-Middleware-RemoveRedundantBody")
     (synopsis "Plack::Middleware which removes body for HTTP response")
     (description "This module removes the body in an HTTP response if it's not
 required.")
@@ -3396,7 +3396,7 @@ required.")
      `(("perl-module-install" ,perl-module-install)))
     (propagated-inputs
      `(("perl-plack" ,perl-plack)))
-    (home-page "http://search.cpan.org/dist/Plack-Middleware-ReverseProxy")
+    (home-page "https://metacpan.org/release/Plack-Middleware-ReverseProxy")
     (synopsis "Supports app to run as a reverse proxy backend")
     (description "Plack::Middleware::ReverseProxy resets some HTTP headers,
 which are changed by reverse-proxy.  You can specify the reverse proxy address
@@ -3418,7 +3418,7 @@ and stop fake requests using 'enable_if' directive in your app.psgi.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-plack" ,perl-plack)))
-    (home-page "http://search.cpan.org/dist/Plack-Test-ExternalServer")
+    (home-page "https://metacpan.org/release/Plack-Test-ExternalServer")
     (synopsis "Run HTTP tests on external live servers")
     (description "This module allows your to run your Plack::Test tests
 against an external server instead of just against a local application through
@@ -3441,7 +3441,7 @@ either mocked HTTP or a locally spawned server.")
     (propagated-inputs
      `(("perl-test-sharedfork" ,perl-test-sharedfork)))
     (arguments `(#:tests? #f))          ;related to signaling in t/05_sigint.t
-    (home-page "http://search.cpan.org/dist/Test-TCP")
+    (home-page "https://metacpan.org/release/Test-TCP")
     (synopsis "Testing TCP programs")
     (description "Test::TCP is test utilities for TCP/IP programs.")
     (license l:perl-license)))
@@ -3467,7 +3467,7 @@ either mocked HTTP or a locally spawned server.")
        ("perl-libwww" ,perl-libwww)
        ("perl-test-longstring" ,perl-test-longstring)
        ("perl-www-mechanize" ,perl-www-mechanize)))
-    (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize")
+    (home-page "https://metacpan.org/release/Test-WWW-Mechanize")
     (synopsis "Testing-specific WWW::Mechanize subclass")
     (description "Test::WWW::Mechanize is a subclass of the Perl module
 WWW::Mechanize that incorporates features for web application testing.")
@@ -3502,7 +3502,7 @@ WWW::Mechanize that incorporates features for web application testing.")
        ("perl-namespace-clean" ,perl-namespace-clean)
        ("perl-test-www-mechanize" ,perl-test-www-mechanize)
        ("perl-www-mechanize" ,perl-www-mechanize)))
-    (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize-Catalyst")
+    (home-page "https://metacpan.org/release/Test-WWW-Mechanize-Catalyst")
     (synopsis "Test::WWW::Mechanize for Catalyst")
     (description "The Test::WWW::Mechanize::Catalyst module meshes the
 Test::WWW:Mechanize module and the Catalyst web application framework to allow
@@ -3527,7 +3527,7 @@ testing of Catalyst applications without needing to start up a web server.")
     (propagated-inputs
      `(("perl-plack" ,perl-plack)
        ("perl-test-www-mechanize" ,perl-test-www-mechanize)))
-    (home-page "http://search.cpan.org/dist/Test-WWW-Mechanize-PSGI")
+    (home-page "https://metacpan.org/release/Test-WWW-Mechanize-PSGI")
     (synopsis "Test PSGI programs using WWW::Mechanize")
     (description "PSGI is a specification to decouple web server environments
 from web application framework code.  Test::WWW::Mechanize is a subclass of
@@ -3557,7 +3557,7 @@ applications.")
      "The URI module implements the URI class.  Objects of this class
 represent \"Uniform Resource Identifier references\" as specified in RFC 2396
 and updated by RFC 2732.")
-    (home-page "http://search.cpan.org/dist/URI/")))
+    (home-page "https://metacpan.org/release/URI")))
 
 (define-public perl-uri-fetch
   (package
@@ -3577,7 +3577,7 @@ and updated by RFC 2732.")
      `(("perl-class-errorhandler" ,perl-class-errorhandler)
        ("perl-libwww" ,perl-libwww)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/URI-Fetch")
+    (home-page "https://metacpan.org/release/URI-Fetch")
     (synopsis "Smart URI fetching/caching")
     (description "@code{URI::Fetch} is a smart client for fetching HTTP pages,
 notably syndication feeds (RSS, Atom, and others), in an intelligent, bandwidth-
@@ -3601,7 +3601,7 @@ and time-saving way.")
      `(("perl-module-build" ,perl-module-build)))
     (propagated-inputs
      `(("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/URI-Find")
+    (home-page "https://metacpan.org/release/URI-Find")
     (synopsis "Find URIs in arbitrary text")
     (description "This module finds URIs and URLs (according to what URI.pm
 considers a URI) in plain text.  It only finds URIs which include a
@@ -3624,7 +3624,7 @@ URI::Find::Schemeless.  For a command-line interface, urifind is provided.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/URI-ws")
+    (home-page "https://metacpan.org/release/URI-ws")
     (synopsis "WebSocket support for URI package")
     (description "With this module, the URI package provides the same set of
 methods for WebSocket URIs as it does for HTTP URIs.")
@@ -3649,7 +3649,7 @@ methods for WebSocket URIs as it does for HTTP URIs.")
        ("perl-test-pod" ,perl-test-pod)
        ("perl-module-install" ,perl-module-install)
        ("perl-json" ,perl-json)))
-    (home-page "http://search.cpan.org/dist/URI-Template")
+    (home-page "https://metacpan.org/release/URI-Template")
     (synopsis "Object for handling URI templates")
     (description "This perl module provides a wrapper around URI templates as described in
 RFC 6570.")
@@ -3688,7 +3688,7 @@ RFC 6570.")
      "This is a Perl extension interface for the libcurl file downloading
 library.")
     (license l:perl-license)
-    (home-page "http://search.cpan.org/dist/WWW-Curl")))
+    (home-page "https://metacpan.org/release/WWW-Curl")))
 
 (define-public perl-www-mechanize
   (package
@@ -3718,7 +3718,7 @@ library.")
        ("perl-libwww" ,perl-libwww)
        ("perl-test-warn" ,perl-test-warn)
        ("perl-uri" ,perl-uri)))
-    (home-page "http://search.cpan.org/dist/WWW-Mechanize")
+    (home-page "https://metacpan.org/release/WWW-Mechanize")
     (synopsis "Web browsing in a Perl object")
     (description "WWW::Mechanize is a Perl module for stateful programmatic
 web browsing, used for automating interaction with websites.")
@@ -3755,7 +3755,7 @@ web browsing, used for automating interaction with websites.")
        ("perl-uri-template" ,perl-uri-template)
        ("perl-xml-feed" ,perl-xml-feed)
        ("perl-xml-libxml" ,perl-xml-libxml)))
-    (home-page "http://search.cpan.org/dist/WWW-OpenSearch")
+    (home-page "https://metacpan.org/release/WWW-OpenSearch")
     (synopsis "Search A9 OpenSearch compatible engines")
     (description
      "@code{WWW::OpenSearch} is a module to search @url{A9's OpenSearch,
@@ -3785,7 +3785,7 @@ http://opensearch.a9.com} compatible search engines.")
 <http://www.robotstxt.org/wc/norobots.html>.  Webmasters can use the
 /robots.txt file to forbid conforming robots from accessing parts of
 their web site.")
-    (home-page "http://search.cpan.org/~gaas/WWW-RobotRules/")))
+    (home-page "https://metacpan.org/release/WWW-RobotRules")))
 
 (define-public python-feedparser
   (package
@@ -6436,7 +6436,7 @@ based on this library, allowing Perl programmers to easily validate HTML.")
        ("tidyp" ,tidyp)))
     (native-inputs
      `(("perl-test-exception" ,perl-test-exception)))
-    (home-page "http://search.cpan.org/dist/HTML-Tidy/")
+    (home-page "https://metacpan.org/release/HTML-Tidy")
     (synopsis "(X)HTML validation in a Perl object")
     (description "@code{HTML::Tidy} is an HTML checker in a handy dandy
 object.  It's meant as a replacement for @code{HTML::Lint}, which is written
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index e83f07bc54..071fea16da 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -248,7 +248,7 @@ developers.")
     (propagated-inputs
      `(("perl-anyevent" ,perl-anyevent)
        ("perl-json-xs" ,perl-json-xs)))
-    (home-page "http://search.cpan.org/dist/AnyEvent-I3")
+    (home-page "https://metacpan.org/release/AnyEvent-I3")
     (synopsis
      "Communicate with the i3 window manager through perl")
     (description
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index b86daa7883..9c8e3cef08 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -220,7 +220,7 @@ based on libxml for XML parsing, tree manipulation and XPath support.")
        ("perl-parse-yapp" ,perl-parse-yapp)
        ("perl-xml-parser" ,perl-xml-parser)
        ("perl-xml-writer" ,perl-xml-writer)))
-    (home-page "http://search.cpan.org/dist/Graph-ReadWrite")
+    (home-page "https://metacpan.org/release/Graph-ReadWrite")
     (synopsis "Modules for reading and writing directed graphs")
     (description "This is a collection of perl classes for reading and writing
 directed graphs in a variety of file formats.  The graphs are represented in
@@ -267,7 +267,7 @@ the @code{Graph} class and write it out in a specific file format.")
        ("perl-uri" ,perl-uri)
        ("perl-xml-libxml" ,perl-xml-libxml)
        ("perl-xml-xpath" ,perl-xml-xpath)))
-    (home-page "http://search.cpan.org/dist/XML-Atom")
+    (home-page "https://metacpan.org/release/XML-Atom")
     (synopsis "Atom feed and API implementation")
     (description
      "Atom is a syndication, API, and archiving format for weblogs and other data.
@@ -291,7 +291,7 @@ the @code{Graph} class and write it out in a specific file format.")
     (propagated-inputs
      `(("perl-test-differences" ,perl-test-differences)
        ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
-    (home-page "http://search.cpan.org/dist/XML-Descent")
+    (home-page "https://metacpan.org/release/XML-Descent")
     (synopsis "Recursive descent XML parsing")
     (description
      "The conventional models for parsing XML are either @dfn{DOM}
@@ -331,7 +331,7 @@ may be provided when the XML::Parser object is created.  These options are
 then passed on to the Expat object on each parse call.  They can also be given
 as extra arguments to the parse methods, in which case they override options
 given at XML::Parser creation time.")
-    (home-page "http://search.cpan.org/dist/XML-Parser")))
+    (home-page "https://metacpan.org/release/XML-Parser")))
 
 (define-public perl-xml-tokeparser
   (package
@@ -346,7 +346,7 @@ given at XML::Parser creation time.")
                 "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"))))
     (build-system perl-build-system)
     (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser)))
-    (home-page "http://search.cpan.org/dist/XML-TokeParser")
+    (home-page "https://metacpan.org/release/XML-TokeParser")
     (synopsis "Simplified interface to XML::Parser")
     (description
      "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface
@@ -378,7 +378,7 @@ corresponding to an @code{XML::Parser} event.")
 documents for working with XML in Perl.  libxml-perl software works in
 combination with @code{XML::Parser}, PerlSAX, @code{XML::DOM},
 @code{XML::Grove}, and others.")
-    (home-page "http://search.cpan.org/dist/libxml-perl")))
+    (home-page "https://metacpan.org/release/libxml-perl")))
 
 (define-public perl-xml-libxml
   (package
@@ -398,7 +398,7 @@ combination with @code{XML::Parser}, PerlSAX, @code{XML::DOM},
        ("perl-xml-sax" ,perl-xml-sax)))
     (inputs
      `(("libxml2" ,libxml2)))
-    (home-page "http://search.cpan.org/dist/XML-LibXML")
+    (home-page "https://metacpan.org/release/XML-LibXML")
     (synopsis "Perl interface to libxml2")
     (description "This module implements a Perl interface to the libxml2
 library which provides interfaces for parsing and manipulating XML files.  This
@@ -421,7 +421,7 @@ XML parser and the high performance DOM implementation.")
     (propagated-inputs
      `(("perl-file-slurp-tiny" ,perl-file-slurp-tiny)
        ("perl-xml-libxml" ,perl-xml-libxml)))
-    (home-page "http://search.cpan.org/dist/XML-LibXML-Simple")
+    (home-page "https://metacpan.org/release/XML-LibXML-Simple")
     (synopsis "XML::LibXML based XML::Simple clone")
     (description
      "This package provides the same API as @code{XML::Simple} but is based on
@@ -445,7 +445,7 @@ XML parser and the high performance DOM implementation.")
      `(("libxslt" ,libxslt)))
     (propagated-inputs
      `(("perl-xml-libxml" ,perl-xml-libxml)))
-    (home-page "http://search.cpan.org/dist/XML-LibXSLT")
+    (home-page "https://metacpan.org/release/XML-LibXSLT")
     (synopsis "Perl bindings to GNOME libxslt library")
     (description "This Perl module is an interface to the GNOME project's
 libxslt library.")
@@ -464,7 +464,7 @@ libxslt library.")
         (base32
          "1vz5pbi4lm5fhq2slrs2hlp6bnk29863abgjlcx43l4dky2rbsa7"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/XML-NamespaceSupport")
+    (home-page "https://metacpan.org/release/XML-NamespaceSupport")
     (synopsis "XML namespace support class")
     (description "This module offers a simple to process namespaced XML
 names (unames) from within any application that may need them.  It also helps
@@ -498,7 +498,7 @@ checks.")
        ("perl-datetime-format-w3cdtf" ,perl-datetime-format-w3cdtf)
        ("perl-html-parser" ,perl-html-parser)
        ("perl-xml-parser" ,perl-xml-parser)))
-    (home-page "http://search.cpan.org/dist/XML-RSS")
+    (home-page "https://metacpan.org/release/XML-RSS")
     (synopsis "Creates and updates RSS files")
     (description
      "This module provides a basic framework for creating and maintaining
@@ -535,7 +535,7 @@ that allow you to generate HTML from an RSS, convert between 0.9, 0.91, and
                              (string-append (getenv "PERL5LIB") ":"
                                             (assoc-ref outputs "out")
                                             "/lib/perl5/site_perl")))))))
-    (home-page "http://search.cpan.org/dist/XML-SAX")
+    (home-page "https://metacpan.org/release/XML-SAX")
     (synopsis "Perl API for XML")
     (description "XML::SAX consists of several framework classes for using and
 building Perl SAX2 XML parsers, filters, and drivers.")
@@ -554,7 +554,7 @@ building Perl SAX2 XML parsers, filters, and drivers.")
         (base32
          "1l1ai9g1z11ja7mvnfl5mj346r13jyckbg9qlw6c2izglidkbjv6"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/XML-SAX-Base")
+    (home-page "https://metacpan.org/release/XML-SAX-Base")
     (synopsis "Base class for SAX Drivers and Filters")
     (description "This module has a very simple task - to be a base class for
 PerlSAX drivers and filters.  It's default behaviour is to pass the input
@@ -585,7 +585,7 @@ callback.")
      "The XML::Simple module provides a simple API layer on top of an
 underlying XML parsing module (either XML::Parser or one of the SAX2
 parser modules).")
-    (home-page "http://search.cpan.org/dist/XML-Simple")))
+    (home-page "https://metacpan.org/release/XML-Simple")))
 
 (define-public perl-xml-regexp
   (package
@@ -608,7 +608,7 @@ parser modules).")
      "XML::RegExp contains regular expressions for the following XML tokens:
 BaseChar, Ideographic, Letter, Digit, Extender, CombiningChar, NameChar,
 EntityRef, CharRef, Reference, Name, NmToken, and AttValue.")
-    (home-page "http://search.cpan.org/~tjmather/XML-RegExp/lib/XML/RegExp.pm")))
+    (home-page "https://metacpan.org/release/XML-RegExp")))
 
 (define-public perl-xml-dom
   (package
@@ -637,7 +637,7 @@ XML::Parser module is built on top of XML::Parser::Expat, which is a lower
 level interface to James Clark's expat library.  XML::DOM::Parser is derived
 from XML::Parser.  It parses XML strings or files and builds a data structure
 that conforms to the API of the Document Object Model.")
-    (home-page "http://search.cpan.org/dist/XML-DOM")))
+    (home-page "https://metacpan.org/release/XML-DOM")))
 
 (define-public perl-xml-compile-tester
   (package
@@ -654,7 +654,7 @@ that conforms to the API of the Document Object Model.")
     (propagated-inputs
      `(("perl-log-report" ,perl-log-report)
        ("perl-test-deep" ,perl-test-deep)))
-    (home-page "http://search.cpan.org/dist/XML-Compile-Tester")
+    (home-page "https://metacpan.org/release/XML-Compile-Tester")
     (synopsis "XML::Compile related regression testing")
     (description
      "The @code{XML::Compile} module suite has extensive regression testing.
@@ -679,7 +679,7 @@ This module provide functions which simplify writing tests for
        ("perl-xml-compile-tester" ,perl-xml-compile-tester)
        ("perl-xml-libxml" ,perl-xml-libxml)
        ("perl-test-deep" ,perl-test-deep)))
-    (home-page "http://search.cpan.org/dist/XML-Compile")
+    (home-page "https://metacpan.org/release/XML-Compile")
     (synopsis "Compilation-based XML processing")
     (description
      "@code{XML::Compile} can be used to translate a Perl data-structure into
@@ -704,7 +704,7 @@ a schema.")
        ("perl-xml-compile" ,perl-xml-compile)
        ("perl-xml-compile-tester" ,perl-xml-compile-tester)
        ("perl-xml-libxml-simple" ,perl-xml-libxml-simple)))
-    (home-page "http://search.cpan.org/dist/XML-Compile-Cache")
+    (home-page "https://metacpan.org/release/XML-Compile-Cache")
     (synopsis "Cache compiled XML translators")
     (description
      "This package provides methods to cache compiled XML translators.")
@@ -729,7 +729,7 @@ a schema.")
        ("perl-xml-compile" ,perl-xml-compile)
        ("perl-xml-compile-cache" ,perl-xml-compile-cache)
        ("perl-xml-compile-tester" ,perl-xml-compile-tester)))
-    (home-page "http://search.cpan.org/dist/XML-Compile-SOAP")
+    (home-page "https://metacpan.org/release/XML-Compile-SOAP")
     (synopsis "Base-class for SOAP implementations")
     (description
      "This module provides a class to handle the SOAP protocol.  The first
@@ -755,7 +755,7 @@ used.")
        ("perl-xml-compile" ,perl-xml-compile)
        ("perl-xml-compile-cache" ,perl-xml-compile-cache)
        ("perl-xml-compile-soap" ,perl-xml-compile-soap)))
-    (home-page "http://search.cpan.org/dist/XML-Compile-WSDL11")
+    (home-page "https://metacpan.org/release/XML-Compile-WSDL11")
     (synopsis "Create SOAP messages defined by WSDL 1.1")
     (description
      "This module understands WSDL version 1.1.  A WSDL file defines a set of
@@ -795,7 +795,7 @@ server, collect the answer, and finally decoding the XML to Perl.")
        ("perl-xml-atom" ,perl-xml-atom)
        ("perl-xml-libxml" ,perl-xml-libxml)
        ("perl-xml-rss" ,perl-xml-rss)))
-    (home-page "http://search.cpan.org/dist/XML-Feed")
+    (home-page "https://metacpan.org/release/XML-Feed")
     (synopsis "XML Syndication Feed Support")
     (description "@code{XML::Feed} is a syndication feed parser for both RSS and
 Atom feeds.  It also implements feed auto-discovery for finding feeds, given a URI.
@@ -819,7 +819,7 @@ RSS 0.91, RSS 1.0, RSS 2.0, Atom")
      `(("perl-path-tiny" ,perl-path-tiny)))
     (propagated-inputs
      `(("perl-xml-parser" ,perl-xml-parser)))
-    (home-page "http://search.cpan.org/dist/XML-XPath")
+    (home-page "https://metacpan.org/release/XML-XPath")
     (synopsis "Parse and evaluate XPath statements")
     (description
      "This module aims to comply exactly to the @url{XPath specification,
@@ -1348,7 +1348,7 @@ maintaining each reference encountered.")
                (base32
                 "0r72na14bmsxfd16s9nlza155amqww0k8wsa9x2a3sqbpp5ppznj"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/XML-XPathEngine/")
+    (home-page "https://metacpan.org/release/XML-XPathEngine")
     (synopsis "Re-usable XPath engine for DOM-like trees")
     (description
      "This module provides an XPath engine, that can be re-used by other
@@ -1373,7 +1373,7 @@ should be able to use this module very easily (you might need to add the
                (base32
                 "1vbbw8wxm79r3xbra8narw1dqvm34510q67wbmg2zmj6zd1k06r9"))))
     (build-system perl-build-system)
-    (home-page "http://search.cpan.org/dist/Tree-XPathEngine/")
+    (home-page "https://metacpan.org/release/Tree-XPathEngine")
     (synopsis "Re-usable XPath engine")
     (description
      "This module provides an XPath engine, that can be re-used by other
@@ -1397,7 +1397,7 @@ by @code{Tree::XPathEngine}.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-xml-sax-base" ,perl-xml-sax-base)))
-    (home-page "http://search.cpan.org/dist/XML-Filter-BufferText/")
+    (home-page "https://metacpan.org/release/XML-Filter-BufferText")
     (synopsis "Filter to put all characters() in one event")
     (description "This is a very simple filter.  One common cause of
 grief (and programmer error) is that XML parsers aren't required to provide
@@ -1424,7 +1424,7 @@ characters into a single event.")
        ("perl-xml-filter-buffertext" ,perl-xml-filter-buffertext)
        ("perl-xml-namespacesupport" ,perl-xml-namespacesupport)
        ("perl-xml-sax-base" ,perl-xml-sax-base)))
-    (home-page "http://search.cpan.org/dist/XML-SAX-Writer/")
+    (home-page "https://metacpan.org/release/XML-SAX-Writer")
     (synopsis "SAX2 XML Writer")
     (description
      "This is an XML writer that understands SAX2.  It is based on
@@ -1446,7 +1446,7 @@ characters into a single event.")
     (build-system perl-build-system)
     (propagated-inputs
      `(("perl-libxml" ,perl-libxml)))
-    (home-page "http://search.cpan.org/dist/XML-Handler-YAWriter/")
+    (home-page "https://metacpan.org/release/XML-Handler-YAWriter")
     (synopsis "Yet another Perl SAX XML Writer")
     (description "YAWriter implements Yet Another @code{XML::Handler::Writer}.
 It provides a flexible escaping technique and pretty printing.")
@@ -1481,7 +1481,7 @@ It provides a flexible escaping technique and pretty printing.")
        ("perl-xml-xpathengine" ,perl-xml-xpathengine)
        ("perl-test-pod" ,perl-test-pod)
        ("perl-tree-xpathengine" ,perl-tree-xpathengine)))
-    (home-page "http://search.cpan.org/dist/XML-Twig/")
+    (home-page "https://metacpan.org/release/XML-Twig")
     (synopsis "Perl module for processing huge XML documents in tree mode")
     (description "@code{XML::Twig} is an XML transformation module.  Its
 strong points: can be used to process huge documents while still being in tree
diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm
index 08bed8767c..d0ff64ed05 100644
--- a/guix/import/cpan.scm
+++ b/guix/import/cpan.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
-;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -117,7 +117,7 @@ or #f on failure.  MODULE should be e.g. \"Test::Script\""
   (json-fetch-alist (string-append "https://fastapi.metacpan.org/v1/release/" name)))
 
 (define (cpan-home name)
-  (string-append "http://search.cpan.org/dist/" name "/"))
+  (string-append "https://metacpan.org/release/" name))
 
 (define (cpan-source-url meta)
   "Return the download URL for a module's source tarball."