perl: Update to 5.36.0

Message ID 20221228204322.392056-1-stefan.schantl@ipfire.org
State Accepted
Commit 9f9357eaecf2ed66de5950638a4387ac36bd3b1b
Headers
Series perl: Update to 5.36.0 |

Commit Message

Stefan Schantl Dec. 28, 2022, 8:43 p.m. UTC
  Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>
---
 perl/patches/perl-USE_MM_LD_RUN_PATH.patch |   28 +-
 perl/patches/perl-disable_test_hosts.patch |   12 -
 perl/perl.nm                               | 4140 +++++++++++++++-----
 3 files changed, 3109 insertions(+), 1071 deletions(-)
 delete mode 100644 perl/patches/perl-disable_test_hosts.patch
  

Patch

diff --git a/perl/patches/perl-USE_MM_LD_RUN_PATH.patch b/perl/patches/perl-USE_MM_LD_RUN_PATH.patch
index 5b86af84e..c982eb4d9 100644
--- a/perl/patches/perl-USE_MM_LD_RUN_PATH.patch
+++ b/perl/patches/perl-USE_MM_LD_RUN_PATH.patch
@@ -1,7 +1,7 @@ 
 diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm
 --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.usem	2011-05-08 05:10:08.000000000 +0200
 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm	2011-05-17 11:14:22.169115984 +0200
-@@ -88,6 +88,11 @@ libraries.  LD_RUN_PATH is a colon separ
+@@ -89,6 +89,11 @@ libraries.  LD_RUN_PATH is a colon separ
  in LDLOADLIBS. It is passed as an environment variable to the process
  that links the shared library.
  
@@ -16,16 +16,16 @@  diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist.pm.usem perl-5
 diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm
 --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem	2011-05-08 05:10:08.000000000 +0200
 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm	2011-05-17 13:39:26.912586030 +0200
-@@ -278,7 +278,7 @@ sub full_setup {
-     PERL_SRC PERM_DIR PERM_RW PERM_RWX MAGICXS
-     PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE PPM_INSTALL_EXEC PPM_UNINSTALL_EXEC
-     PPM_INSTALL_SCRIPT PPM_UNINSTALL_SCRIPT PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ
--    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS XSOPT XSPROTOARG
-+    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS XSOPT XSPROTOARG
-     XS_VERSION clean depend dist dynamic_lib linkext macro realclean
-     tool_autosplit
+@@ -317,7 +317,7 @@ sub full_setup {
+     PERM_DIR PERM_RW PERM_RWX MAGICXS
+     PL_FILES PM PM_FILTER PMLIBDIRS PMLIBPARENTDIRS POLLUTE
+     PREREQ_FATAL PREREQ_PM PREREQ_PRINT PRINT_PREREQ PUREPERL_ONLY
+-    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST VERSION VERSION_FROM XS
++    SIGN SKIP TEST_REQUIRES TYPEMAPS UNINST USE_MM_LD_RUN_PATH VERSION VERSION_FROM XS
+     XSBUILD XSMULTI XSOPT XSPROTOARG XS_VERSION
+     clean depend dist dynamic_lib linkext macro realclean tool_autosplit
  
-@@ -422,7 +422,27 @@ sub new {
+@@ -501,7 +501,27 @@ sub new {
      # PRINT_PREREQ is RedHatism.
      if ("@ARGV" =~ /\bPRINT_PREREQ\b/) {
          $self->_PRINT_PREREQ;
@@ -53,8 +53,8 @@  diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl
 +    };
  
      print "MakeMaker (v$VERSION)\n" if $Verbose;
-     if (-f "MANIFEST" && ! -f "Makefile" && ! $ENV{PERL_CORE}){
-@@ -2352,6 +2372,40 @@ precedence.  A typemap in the current di
+     if (-f "MANIFEST" && ! -f "Makefile" && ! $UNDER_CORE){
+@@ -2821,6 +2841,40 @@ precedence.  A typemap in the current di
  precedence, even if it isn't listed in TYPEMAPS.  The default system
  typemap has lowest precedence.
  
@@ -98,12 +98,12 @@  diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MakeMaker.pm.usem perl
 diff -up perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.usem perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm
 --- perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm.usem	2011-05-08 05:10:08.000000000 +0200
 +++ perl-5.14.0/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Unix.pm	2011-05-17 11:14:22.172115972 +0200
-@@ -944,7 +944,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
+@@ -1045,7 +1045,7 @@ $(INST_DYNAMIC): $(OBJECT) $(MYEXTLIB) $
      }
  
      my $ld_run_path_shell = "";
 -    if ($self->{LD_RUN_PATH} ne "") {
 +    if (($self->{LD_RUN_PATH} ne "") && ($self->{USE_MM_LD_RUN_PATH})) {
- 	$ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
+         $ld_run_path_shell = 'LD_RUN_PATH="$(LD_RUN_PATH)" ';
      }
  
diff --git a/perl/patches/perl-disable_test_hosts.patch b/perl/patches/perl-disable_test_hosts.patch
deleted file mode 100644
index dc86a3462..000000000
--- a/perl/patches/perl-disable_test_hosts.patch
+++ /dev/null
@@ -1,12 +0,0 @@ 
-diff -up perl-5.12.0/cpan/libnet/Net/Config.pm.disable perl-5.12.0/cpan/libnet/Net/Config.pm
---- perl-5.12.0/cpan/libnet/Net/Config.pm.disable	2010-01-18 19:52:49.000000000 +0100
-+++ perl-5.12.0/cpan/libnet/Net/Config.pm	2010-04-13 16:03:50.090770813 +0200
-@@ -29,7 +29,7 @@ eval { local $SIG{__DIE__}; require Net:
-   ftp_firewall    => undef,
-   ftp_ext_passive => 1,
-   ftp_int_passive => 1,
--  test_hosts      => 1,
-+  test_hosts      => 0,
-   test_exist      => 1,
- );
- 
diff --git a/perl/perl.nm b/perl/perl.nm
index 71537a217..3216986fa 100644
--- a/perl/perl.nm
+++ b/perl/perl.nm
@@ -4,12 +4,15 @@ 
 ###############################################################################
 
 name       = perl
-version    = 5.20.3
+ver_major  = 5
+ver_minor  = 36
+ver_plevel = 0
+version    = %{ver_major}.%{ver_minor}.%{ver_plevel}
+
 # Never reset release in this package, just increase.
-release    = 15
+release    = 1
 
-perl_epoch = 2
-thisver = %{perl_epoch}:%{version}-%{_release}
+thisver = %{version}-%{_release}
 
 maintainer = Michael Tremer <michael.tremer@ipfire.org>
 groups     = Development/Languages
@@ -33,6 +36,7 @@  source_dl  = http://www.cpan.org/src/5.0/
 
 build
 	requires
+		bzip2-devel
 		gcc-c++
 		gdbm-devel
 		iana-etc
@@ -47,6 +51,11 @@  build
 	# So we need to pass it explicitely.
 	CFLAGS += -fstack-protector-all
 
+	export FILTER_PERL_REQUIRES = \
+		VMS:: \
+		Mac:: \
+		unicore::Name
+
 	prepare_cmds
 		sed -i 's/command /command[ -]/' makedepend.SH
 	end
@@ -66,17 +75,17 @@  build
 		-Dcf_by="%{DISTRO_VENDOR}" \
 		-Dprefix=/usr \
 		-Dvendorprefix=/usr \
-		-Dsiteprefix="/usr/local" \
-		-Dsitelib="/usr/local/share/perl5" \
-		-Dsitearch="/usr/local/lib/perl5" \
-		-Dprivlib="/usr/share/perl5" \
-		-Dvendorlib="/usr/share/perl5/vendor_perl" \
+		-Dsiteprefix="%{libdir}" \
+		-Dsitelib="%{libdir}/perl5/site_perl" \
+		-Dsitearch="%{libdir}/perl5/site_perl" \
+		-Dprivlib="%{datadir}/perl5" \
+		-Dvendorlib="%{datadir}/perl5/vendor_perl" \
 		-Darchlib="%{libdir}/perl5" \
 		-Dvendorarch="%{libdir}/perl5/vendor_perl" \
 		-Darchname=%{arch}-linux-thread-multi \
-		-Dpager="/usr/bin/less -isr" \
-		-Dman1dir=/usr/share/man/man1 \
-		-Dman3dir=/usr/share/man/man3 \
+		-Dpager="%{bindir}/less -isr" \
+		-Dman1dir=%{mandir}/man1 \
+		-Dman3dir=%{mandir}/man3 \
 		-Duseshrplib \
 		-Dusethreads \
 		-Duseithreads \
@@ -99,26 +108,37 @@  build
 		-Ud_setprotoent_r_proto \
 		-Ud_endservent_r_proto \
 		-Ud_setservent_r_proto \
-		-Dscriptdir="/usr/bin"
+		-Dscriptdir="%{bindir}"
 
 	if "%{DISTRO_ARCH}" == "x86_64"
 		configure_options += \
-			-Dlibpth="/usr/local/lib64 /lib64 %{prefix}/lib64"
+			-Dlibpth="/lib64 %{prefix}/lib64"
 	end
 
 	build
+		# Do not use internal compressing libraries.
+		export BUILD_ZLIB=False
+		export BUILD_BZIP2=0
+
+		# Configure Compress::Zlib to use system zlib
 		sed -i -e "s|BUILD_ZLIB\s*= True|BUILD_ZLIB = False|" \
 			-e "s|INCLUDE\s*= ./zlib-src|INCLUDE = /usr/include|" \
 			-e "s|LIB\s*= ./zlib-src|LIB = %{libdir}|" \
 			cpan/Compress-Raw-Zlib/config.in
 
+		# Ensure that we never accidentally bundle zlib or bzip2
+		rm -rf cpan/Compress-Raw-Zlib/zlib-src
+		rm -rf cpan/Compress-Raw-Bzip2/bzip2-src
+		sed -i '/\(bzip2\|zlib\)-src/d' MANIFEST
+
 		sh ./Configure %{configure_options}
 
 		make %{PARALLELISMFLAGS}
 	end
 
 	test
-		make test || true
+		# Net::Ping test is known to fail.
+		#make test || true
 	end
 
 	install_cmds
@@ -129,7 +149,6 @@  end
 
 quality-agent
 	whitelist_rpath
-		/%{lib}
 		%{libdir}
 		%{libdir}/perl5/CORE
 	end
@@ -137,23 +156,27 @@  end
 
 # This variable contains the constant version string
 # of this perl package.
-perl_requires := %{name} = %{thisver}
+perl_version = %{ver_major}.%{ver_minor}.%{ver_plevel}
 
 packages
 	package perl
-		# Increase epoch because of automatic dependencies.
-		epoch = 2
-
 		requires
 			perl-libs = %{version}-%{_release}
 		end
 
+		conflicts
+			perl = 2:5.20.3-15
+		end
+
+		obsoletes
+			perl = 2:5.20.3-15
+		end
+
 		provides
+			perl(%{ver_major})
+
 			# Compat provides
-			perl(:MODULE_COMPAT_5.20.3)
-			perl(:MODULE_COMPAT_5.20.2)
-			perl(:MODULE_COMPAT_5.20.1)
-			perl(:MODULE_COMPAT_5.20.0)
+			perl(:MODULE_COMPAT_5.36.0)
 
 			# Threading provides
 			perl(:WITH_ITHREADS)
@@ -166,67 +189,43 @@  packages
 			perl(:WITH_PERLIO)
 
 			# File provides
-			perl(abbrev.pl)
-			perl(assert.pl)
-			perl(bigfloat.pl)
-			perl(bigint.pl)
-			perl(bigrat.pl)
-			perl(bytes_heavy.pl)
-			perl(cacheout.pl)
-			perl(complete.pl)
-			perl(ctime.pl)
-			perl(dotsh.pl)
-			perl(dumpvar.pl)
-			perl(exceptions.pl)
-			perl(fastcwd.pl)
-			perl(find.pl)
-			perl(finddepth.pl)
-			perl(flush.pl)
-			perl(ftp.pl)
-			perl(getcwd.pl)
-			perl(getopt.pl)
-			perl(getopts.pl)
-			perl(hostname.pl)
-			perl(importenv.pl)
-			perllook.pl)
-			perl(newgetopt.pl)
-			perl(open2.pl)
-			perl(open3.pl)
-			perl(perl5db.pl)
-			perl(pwd.pl)
-			perl(shellwords.pl)
-			perl(stat.pl)
-			perl(syslog.pl)
-			perl(tainted.pl)
-			perl(termcap.pl)
-			perl(timelocal.pl)
-			perl(utf8_heavy.pl)
-			perl(validate.pl)
-			perl(File::Basename)
-			perl(strict)
-			perl(vars)
-		end
-
-		filter_requires
-			DBIx
-			InternetConfig
-			Mac::
-			NDBM_File
-			Tk
-			unicore::Name
-			VMS::
-		end
-
-		obsoletes
-			perl-Archive-Extract
-			perl-Class-ISA
-			perl-CPANPLUS
-			perl-Log-Message
-			perl-Log-Message-Simple
-			perl-Module-Plugable
-			perl-Object-Accessor
-			perl-Term-UI
-			perl-Version-Requirements
+			#perl(abbrev.pl)
+			#perl(assert.pl)
+			#perl(bigfloat.pl)
+			#perl(bigint.pl)
+			#perl(bigrat.pl)
+			#perl(bytes_heavy.pl)
+			#perl(cacheout.pl)
+			#perl(complete.pl)
+			#perl(ctime.pl)
+			#perl(dotsh.pl)
+			#perl(dumpvar.pl)
+			#perl(exceptions.pl)
+			#perl(fastcwd.pl)
+			#perl(find.pl)
+			#perl(finddepth.pl)
+			#perl(flush.pl)
+			#perl(ftp.pl)
+			#perl(getcwd.pl)
+			#perl(getopt.pl)
+			#perl(getopts.pl)
+			#perl(hostname.pl)
+			#perl(importenv.pl)
+			#perl(look.pl)
+			#perl(newgetopt.pl)
+			#perl(open2.pl)
+			#perl(open3.pl)
+			#perl(perl5db.pl)
+			#perl(pwd.pl)
+			#perl(shellwords.pl)
+			#perl(stat.pl)
+			#perl(syslog.pl)
+			#perl(tainted.pl)
+			#perl(termcap.pl)
+			#perl(timelocal.pl)
+			#perl(utf8_heavy.pl)
+			#perl(validate.pl)
+			#perl(strict)
 		end
 	end
 
@@ -238,6 +237,7 @@  packages
 		end
 
 		files
+			%{libdir}/libperl.*
 			%{libdir}/perl5/CORE/libperl.so
 		end
 	end
@@ -245,104 +245,60 @@  packages
 	package perl-devel
 		template DEVEL
 
-		files
-			/usr/bin/enc2xs
-			/usr/share/man/man1/enc2xs*
-			/usr/share/perl5/Encode/
-			/usr/bin/h2xs
-			/usr/share/man/man1/h2xs*
-			/usr/bin/libnetcfg
-			/usr/share/man/man1/libnetcfg*
-			/usr/bin/perlivp
-			/usr/share/man/man1/perlivp*
-			%{libdir}/perl5/CORE/*.h
-			/usr/bin/xsubpp
-			/usr/share/man/man1/xsubpp*
-			/usr/share/man/man1/perlxs*
-		end
-	end
-
-	#package perl-tests
-	#	summary = Testsuite to check your Perl installation.
-	#	description-perl-tests
-	#		This package contains the test suite included with perl %{thisver}.
-	#		Install this if you want to test your Perl installation (binary and core
-	#		modules).
-	#	end
-	#
-	#	files
-	#		%{libdir}/perl5-tests
-	#	end
-	#end
-
-	package perl-App-a2p
-		epoch = 0
-		version = 1.000
-
-		summary = Awk to Perl translator.
-		description
-			This package delivers a2p tool which takes an awk script specified on the
-			command line and produces a comparable Perl script.
-		end
-
-		requires
-			%{perl_requires}
-		end
-
-		files
-			%{bindir}/a2p
-			%{datadir}/perl5/pod/a2p.pod
-			%{mandir}/man1/a2p.1*
-		end
-	end
-
-	package perl-App-find2perl
-		epoch = 0
-		version = 0.001
-		arch = noarch
-
-		summary = Translate find command lines to Perl code.
-		description
-			This package delivers find2perl tool which is a little translator to convert
-			find command lines to equivalent Perl code.
-		end
-
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{bindir}/find2perl
-			%{mandir}/man1/find2perl.1*
+			%{bindir}/enc2xs
+			%{mandir}/man1/enc2xs*
+			%{datadir}/perl5/Encode/
+			%{datadir}/perl5/ExtUtils
+			%{bindir}/h2xs
+			%{mandir}/man1/h2xs*
+			%{bindir}/libnetcfg
+			%{mandir}/man1/libnetcfg*
+			%{bindir}/perlivp
+			%{mandir}/man1/perlivp*
+			%{libdir}/perl5/CORE/*.h
+			%{bindir}/xsubpp
+			%{mandir}/man1/xsubpp*
+			%{mandir}/man1/perlxs*
 		end
 	end
 
-	package perl-App-s2p
-		epoch = 0
-		version = 1.000
+	package perl-utils
+		version = %{perl_version}
 		arch = noarch
 
-		summary = Convert sed scripts to Perl programm.
+		summary = Utilities packaged with the Perl distribution.
 		description
-			This package delivers the s2p tool, which converts sed scripts to
-			Perl programms.
+			Several utilities which come with Perl distribution like h2ph, perlbug,
+			perlthanks, and pl2pm. Some utilities are provided by more specific
+			packages like perldoc by perl-Pod-Perldoc and splain by perl-diagnostics.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl-libs = %{thisver}
 		end
 
 		files
-			%{bindir}/psed
-			%{bindir}/s2p
-			%{mandir}/man1/psed.1*
-			%{mandir}/man1/s2p.1*
+			%{bindir}/h2ph
+			%{bindir}/perlbug
+			%{bindir}/perlthanks
+			%{bindir}/pl2pm
+			%{datadir}/perl5/pod/perlutil.pod
+			%{mandir}/man1/h2ph.*
+			%{mandir}/man1/perlbug.*
+			%{mandir}/man1/perlthanks.*
+			%{mandir}/man1/perlutil.*
+			%{mandir}/man1/pl2pm.*
 		end
 	end
 
 	package perl-Archive-Tar
-		epoch = 0
-		version = 1.96
+		version = 2.40
 		arch = noarch
 
 		summary = A module for Perl manipulation of .tar files.
@@ -355,7 +311,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(IO::Zlib) >= 1.01
 			perl(IO::Compress::Bzip2) >= 2.015
 			perl(IO::Uncompress::Bunzip2) >= 2.015
@@ -374,9 +330,31 @@  packages
 		end
 	end
 
+	package perl-Attribute-Handlers
+		version = 1.02
+		arch = noarch
+
+		summary = Simpler definition of attribute handlers.
+		description
+			This Perl module, when inherited by a package, allows that package's class to
+			define attribute handler subroutines for specific attributes. Variables and
+			subroutines subsequently defined in that package, or in packages derived from
+			that package may be given attributes with the same names as the attribute
+			handler subroutines, which will then be called in one of the compilation
+			phases (i.e. in a "BEGIN", "CHECK", "INIT", or "END" block).
+		end
+
+		requires += \
+			perl = %{perl_version}
+
+		files
+			%{datadir}/perl5/Attribute/
+			%{mandir}/man3/Attribute::Handlers.*
+		end
+	end
+
 	package perl-autodie
-		epoch = 0
-		version = 2.23
+		version = 2.34
 		arch = noarch
 
 		summary = Replace functions with ones that succeed or die.
@@ -390,7 +368,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(B)
 			perl(Fcntl)
 			perl(overload)
@@ -407,111 +385,267 @@  packages
 		end
 	end
 
-	package perl-B-Debug
-		epoch = 0
-		version = 1.19
+	package perl-AutoLoader
+		version = 5.74
 		arch = noarch
 
-		summary = Walk Perl syntax tree, print debug information about op-codes.
+		summary = Load subroutines only on demand
 		description
-			Walk Perl syntax tree and print debug information about op-codes. See
-			B::Concise and B::Terse for other details.
+			The AutoLoader module works with the AutoSplit module and the "__END__" token
+			to defer the loading of some subroutines until they are used rather than
+			loading them all at once
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{datadir}/perl5/B/Debug.pm
-			%{mandir}/man3/B::Debug.3*
+			%{datadir}/perl5/AutoLoader.pm
+			%{mandir}/man3/AutoLoader.3*
 		end
 	end
 
-	package perl-Compress-Raw-Bzip2
-		epoch = 0
-		version = 2.064
+	package perl-AutoSplit
+		version = 5.74
+		arch = noarch
 
-		summary = Low-Level Interface to bzip2 compression library.
+		summary = Split a package for automatic loading
 		description
-			This module provides a Perl interface to the bzip2 compression library.
-			It is used by IO::Compress::Bzip2.
+			Split up your program into files that the AutoLoader module can handle. It is
+			used by both the standard Perl libraries and by the ExtUtils::MakeMaker
+			utility, to automatically configure libraries for automatic loading.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Exporter)
-			perl(File::Temp)
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{libdir}/perl5/Compress/Raw/Bzip2.pm
-			%{libdir}/perl5/auto/Compress/Raw/Bzip2
-			%{mandir}/man3/Compress::Raw::Bzip2*
+			%{datadir}/perl5/AutoSplit.pm
+			%{mandir}/AutoSplit.3*
 		end
 	end
 
-	package perl-Compress-Raw-Zlib
-		epoch = 0
-		version = 2.065
+	package perl-autouse
+		version = 1.11
+		arch = noarch
 
-		summary = Low-Level Interface to the zlib compression library.
+		summary = Postpone load of modules until a function is used
 		description
-			This module provides a Perl interface to the zlib compression library.
-			It is used by IO::Compress::Zlib.
+			If a module is not loaded yet, then the autouse declaration declares functions
+			in the current package. When these functions are called, they load the package
+			and substitute themselves with the correct definitions.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
+			perl(warnings)
 		end
 
 		files
-			%{libdir}/perl5/Compress/Raw/Zlib.pm
-			%{libdir}/perl5/auto/Compress/Raw/Zlib
-			%{mandir}/man3/Compress::Raw::Zlib*
+			%{datadir}/perl5/autouse.pm
+			%{mandir}/man3/autouse.3*
 		end
 	end
 
-	package perl-CGI
-		epoch = 0
-		version = 3.63
+	package perl-B
+		version = 1.83
 		arch = noarch
 
-		summary = Handle Common Gateway Interface requests and responses
+		summary = Perl compiler backend
 		description
-			CGI.pm is a stable, complete and mature solution for processing and preparing
-			HTTP requests and responses. Major features including processing form
-			submissions, file uploads, reading and writing cookies, query string generation
-			and manipulation, and processing and preparing HTTP headers. Some HTML
-			generation utilities are included as well.
+			The "B" module supplies classes which allow a Perl program to delve into its
+			own innards. It is the module used to implement the backends of the Perl
+			compiler.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Data::Dumper)
+			perl(overloading)
+			perl(XSLoader)
+		end
+
+		files
+			%{libdir}/perl5/auto/B
+			%{libdir}/perl5/B
+			%{libdir}/perl5/B.pm
+			%{libdir}/perl5/O.pm
+			%{datadir}/perl5/B
+			%{mandir}/man3/B.*
+			%{mandir}/man3/B::*
+			%{mandir}/man3/O.*
+		end
+	end
+
+	package perl-base
+		version = 2.27
+		arch = noarch
 
-			CGI.pm performs very well in in a vanilla CGI.pm environment and also comes
-			with built-in support for mod_perl and mod_perl2 as well as FastCGI.
+		summary = Establish an ISA relationship with base classes at compile time.
+		description
+			"base" module 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
+			"fields" pragma, consider this module discouraged in favor of the
+			lighter-weight "parent".
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
-		provides
-			perl(CGI)=%{version}
+		files
+			%{datadir}/perl5/base.pm
+			%{mandir}/man3/base.3*
+		end
+	end
+
+	package perl-Benchmark
+		version = 1.23
+		arch = noarch
+
+		summary = Benchmark running times of Perl code
+		description
+			The Benchmark module encapsulates a number of routines to help you figure out
+			how long it takes to execute some code.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Benchmark.pm
+			%{mandir}/man3/Benchmark.*
+		end
+	end
+
+	package perl-bignum
+		version = 0.65
+		arch = noarch
+
+		summary = Transparent big number support for Perl.
+		description
+			This package attempts to make it easier to write scripts that use BigInts and
+			BigFloats in a transparent way.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(Math::BigRat)
+			perl(warnings)
+		end
+
+		files
+			%{datadir}/perl5/bigfloat.pm
+			%{datadir}/perl5/bigint.pm
+			%{datadir}/perl5/bignum.pm
+			%{datadir}/perl5/bigrat.pm
+			%{datadir}/perl5/Math/BigFloat
+			%{datadir}/perl5/Math/BigInt
+			%{datadir}/perl5/Math/BigInt/Trace.pm
+			%{datadir}/perl5/Math/BigRat
+			%{datadir}/perl5/Math/BigRat/Trace.pm
+			%{mandir}/man3/bigfloat.*
+			%{mandir}/man3/bigint.*
+			%{mandir}/man3/bignum.*
+			%{mandir}/man3/bigrat.*
+		end
+	end
+
+	package perl-blib
+		version = 1.07
+		arch = noarch
+
+		summary = Use uninstalled version of a package.
+		description
+			This module looks for MakeMaker-like "blib" directory structure starting in
+			given or current directory and working back up to five levels of directories.
+			It is intended for use on command line with -M option as a way of testing
+			arbitrary scripts against an uninstalled version of a package.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/blib.pm
+			%{mandir}/man3/blib.*
+		end
+	end
+
+	package perl-Class-Struct
+		version = 0.66
+		arch = noarch
+
+		summary = Declare struct-like data types as Perl classes.
+		description
+			Class::Struct module exports a single function struct(). Given a list of
+			element names and types, and optionally a class name, struct() creates a
+			Perl 5 class that implements a struct-like data structure.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Class
+			%{mandir}/man3/Class::Struct.*
+		end
+	end
+
+	package perl-Compress-Raw-Bzip2
+		version = 2.103
+
+		summary = Low-Level Interface to bzip2 compression library.
+		description
+			This module provides a Perl interface to the bzip2 compression library.
+			It is used by IO::Compress::Bzip2.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Exporter)
+			perl(File::Temp)
+		end
+
+		files
+			%{libdir}/perl5/Compress/Raw/Bzip2.pm
+			%{libdir}/perl5/auto/Compress/Raw/Bzip2
+			%{mandir}/man3/Compress::Raw::Bzip2*
+		end
+	end
+
+	package perl-Compress-Raw-Zlib
+		version = 2.105
+
+		summary = Low-Level Interface to the zlib compression library.
+		description
+			This module provides a Perl interface to the zlib compression library.
+			It is used by IO::Compress::Zlib.
 		end
 
-		filter_requires
-			FCGI
+		requires
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/CGI
-			/usr/share/perl5/CGI.pm
-			/usr/share/man/man3/CGI.3*
-			/usr/share/man/man3/CGI::*.3*
+			%{libdir}/perl5/Compress/Raw/Zlib.pm
+			%{libdir}/perl5/auto/Compress/Raw/Zlib
+			%{mandir}/man3/Compress::Raw::Zlib*
 		end
 	end
 
 	package perl-CPAN
-		epoch = 0
-		version = 2.05
+		version = 2.33
 		arch = noarch
 
 		summary = Query, download and build perl modules from CPAN sites.
@@ -520,30 +654,30 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			make
+			perl = %{perl_version}
 			perl(Digest::SHA)
 		end
 
 		provides
 			cpan
-			cpan=$(version-perl-CPAN)
-		end
-
-		filter_requires
-			Mac::BuildTools
+			cpan = %{version}
 		end
 
 		files
-			/usr/bin/cpan
-			/usr/share/perl5/CPAN*
-			/usr/share/man/man1/cpan.1*
-			/usr/share/man/man3/CPAN*
+			%{bindir}/cpan
+			%{datadir}/perl5/App/Cpan.pm
+			%{datadir}/perl5/CPAN
+			%{datadir}/perl5/CPAN.pm
+			%{mandir}/man1/cpan.1*
+			%{mandir}/man3/App::Cpan.*
+			%{mandir}/man3/CPAN.*
+			%{mandir}/man3/CPAN:*
 		end
 	end
 
 	package perl-CPAN-Meta
-		epoch = 0
-		version = 2.140640
+		version = 2.150010
 		arch = noarch
 
 		summary = Distribution metadata for a CPAN dist.
@@ -556,25 +690,24 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/CPAN/Meta.pm
-			/usr/share/perl5/CPAN/Meta
-			/usr/share/perl5/CPAN/Meta/Converter.pm
-			/usr/share/perl5/CPAN/Meta/Feature.pm
-			/usr/share/perl5/CPAN/Meta/History.pm
-			/usr/share/perl5/CPAN/Meta/Prereqs.pm
-			/usr/share/perl5/CPAN/Meta/Spec.pm
-			/usr/share/perl5/CPAN/Meta/Validator.pm
-			/usr/share/man/man5/CPAN::Meta.*
+			%{datadir}/perl5/CPAN/Meta.pm
+			%{datadir}/perl5/CPAN/Meta
+			%{datadir}/perl5/CPAN/Meta/Converter.pm
+			%{datadir}/perl5/CPAN/Meta/Feature.pm
+			%{datadir}/perl5/CPAN/Meta/History.pm
+			%{datadir}/perl5/CPAN/Meta/Prereqs.pm
+			%{datadir}/perl5/CPAN/Meta/Spec.pm
+			%{datadir}/perl5/CPAN/Meta/Validator.pm
+			%{mandir}/man5/CPAN::Meta.*
 		end
 	end
 
 	package perl-CPAN-Meta-Requirements
-		epoch = 0
-		version = 2.122
+		version = 2.140
 		arch = noarch
 
 		summary = Set of version requirements for a CPAN dist.
@@ -586,7 +719,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
@@ -596,8 +729,7 @@  packages
 	end
 
 	package perl-CPAN-Meta-YAML
-		epoch = 0
-		version = 0.012
+		version = 0.018
 		arch = noarch
 
 		summary = Read and write a subset of YAML for CPAN Meta files.
@@ -608,17 +740,16 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/CPAN/Meta/YAML.pm
-			/usr/share/man/man5/CPAN::Meta::YAML*
+			%{datadir}/perl5/CPAN/Meta/YAML.pm
+			%{mandir}/man5/CPAN::Meta::YAML*
 		end
 	end
 
 	package perl-Carp
-		epoch = 0
 		version = 1.33.01
 		arch = noarch
 
@@ -634,7 +765,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		provides
@@ -642,18 +773,15 @@  packages
 			perl(Carp::Heavy) = %{version}
 		end
 
-		# Do not export unversioned module
-		#filter_provides = ^perl\(Carp\)\s*$
-
 		files
-			/usr/share/perl5/Carp*
-			/usr/share/man3/Carp*
+			%{datadir}/perl5/Carp*
+			%{datadir}/perl5/Carp
+			%{mandir}3/Carp*
 		end
 	end
 
 	package perl-constant
-		epoch = 0
-		version = 1.31
+		version = 1.33
 		arch = noarch
 
 		summary = Perl pragma to declare constants.
@@ -662,7 +790,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
@@ -672,8 +800,7 @@  packages
 	end
 
 	package perl-Data-Dumper
-		epoch = 0
-		version = 2.151
+		version = 2.184
 
 		summary = Stringify perl data structures, suitable for printing and eval.
 		description
@@ -684,7 +811,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Scalar::Util)
 			perl(XSLoader)
 		end
@@ -697,8 +824,7 @@  packages
 	end
 
 	package perl-DB_File
-		epoch = 0
-		version = 1.831
+		version = 1.857
 
 		summary = Perl5 access to Berkeley DB version 1.x.
 		description
@@ -709,7 +835,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Fcntl)
 			perl(XSLoader)
 		end
@@ -721,9 +847,54 @@  packages
 		end
 	end
 
+	package perl-DBM_Filter
+		version = 0.06
+		arch = noarch
+
+		summary = Filter DBM keys and values
+		description
+			This module provides an interface that allows filters to be applied to tied
+			hashes associated with DBM files.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Compress::Zlib)
+			perl(Encode)
+		end
+
+		files
+			%{datadir}/perl5/DBM_Filter
+			%{datadir}/perl5/DBM_Filter.pm
+			%{mandir}/man3/DBM_Filter.*
+			%{mandir}/man3/DBM_Filter::*
+		end
+	end
+
+	package perl-Devel-Peek
+		version = 1.32
+
+		summary = A data debugging tool for the XS programmer
+		description
+			Devel::Peek contains functions which allows raw Perl data types to be
+			manipulated from a Perl script. This is used by those who do XS programming to
+			check that the data they are sending from C to Perl looks as they think it
+			should look.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/Devel/Peek.pm
+			%{libidr}/perl5/auto/Devel/Peek
+			%{mandir}/man3/Devel::Peek.*
+		end
+	end
+
 	package perl-Devel-PPPort
-		epoch = 0
-		version = 3.21
+		version = 3.68
 
 		summary = Perl Pollution Portability header generator.
 		description
@@ -736,7 +907,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
@@ -746,9 +917,30 @@  packages
 		end
 	end
 
+	package perl-Devel-SelfStubber
+		version = 1.06
+		arch = noarch
+
+		summary = Generate stubs for a SelfLoading module
+		description
+			Devel::SelfStubber prints the stubs you need to put in the module before the
+			__DATA__ token (or you can get it to print the entire module with stubs
+			correctly placed). The stubs ensure that if a method is called, it will get
+			loaded. They are needed specifically for inherited autoloaded methods.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Devel/SelfStubber.pm
+			%{mandir}/man3/Devel::SelfStubber.*
+		end
+	end
+
 	package perl-Digest
-		epoch = 0
-		version = 1.17
+		version = 1.20
 		arch = noarch
 
 		summary = Modules that calculate message digests.
@@ -761,25 +953,24 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(MIME::Base64)
 		end
 
 		files
 			%{libdir}/perl5/Digest
 			!%{libdir}/perl5/Digest/*
-			/usr/share/perl5/Digest.pm
-			/usr/share/perl5/Digest/base.pm
-			/usr/share/perl5/Digest/file.pm
-			/usr/share/man/man3/Digest.3*
-			/usr/share/man/man3/Digest::base.3*
-			/usr/share/man/man3/Digest::file.3*
+			%{datadir}/perl5/Digest.pm
+			%{datadir}/perl5/Digest/base.pm
+			%{datadir}/perl5/Digest/file.pm
+			%{mandir}/man3/Digest.3*
+			%{mandir}/man3/Digest::base.3*
+			%{mandir}/man3/Digest::file.3*
 		end
 	end
 
 	package perl-Digest-MD5
-		epoch = 0
-		version = 2.53
+		version = 2.58
 
 		summary = Perl Interface to the MD5 Algorithm.
 		description
@@ -790,20 +981,19 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Digest::base)>=1.00
 		end
 
 		files
 			%{libdir}/perl5/Digest/MD5.pm
 			%{libdir}/perl5/auto/Digest/MD5
-			/usr/share/man/man3/Digest::MD5.3*
+			%{mandir}/man3/Digest::MD5.3*
 		end
 	end
 
 	package perl-Digest-SHA
-		epoch = 0
-		version = 5.88
+		version = 6.02
 
 		summary = Perl extension for SHA-1/224/256/384/512.
 		description
@@ -814,118 +1004,253 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Digest::base)
 			perl(MIME::Base64)
 		end
 
 		files
-			/usr/bin/shasum
+			%{bindir}/shasum
 			%{libdir}/perl5/Digest/SHA*
-			%{libdir}/perl5/auto/Digest/SHA*
-			/usr/share/perl5/Digest/SHA*
-			/usr/share/man/man1/shasum.1*
-			/usr/share/man/man3/Digest::SHA.3*
+			%{libdir}/perl5/auto/Digest/SHA
+			%{datadir}/perl5/Digest/SHA*
+			%{mandir}/man1/shasum.1*
+			%{mandir}/man3/Digest::SHA.3*
 		end
 	end
 
-	package perl-Encode
-		epoch = 0
-		version = 2.60
+	package perl-Dumpvalue
+		version = 2.27
+		arch = noarch
 
-		summary = Character encodings in Perl.
+		summary = Sceen dump of Perl data
 		description
-			The Encode module provides the interface between Perl strings and the rest
-			of the system. Perl strings are sequences of characters.
+			Dumpvalue module enables you to print a content of variables and other Perl
+			data structures.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+		end
+
+		recommends
+			perl(Devel::Peek)
 		end
 
 		files
-			%{bindir}/piconv
-			%{libdir}/perl5/Encode*
-			%{libdir}/perl5/auto/Encode*
-			%{datadir}/perl5/Encode
-			!%{datadir}/perl5/Encode/*.e2x
-			!%{datadir}/perl5/Encode/encode.h
-			%{mandir}/man1/piconv.1*
-			%{mandir}/man3/Encode*.3*
+			%{datadir}/perl5/Dumpvalue.pm
+			%{mandir}/man3/Dumpvalue.3*
 		end
 	end
 
-	package perl-Env
-		epoch = 0
-		version = 1.04
-		arch = noarch
+	package perl-DynaLoader
+		version = 1.52
 
-		summary = Perl module that imports environment variables as scalars or arrays.
+		summary = Dynamically load C libraries into Perl code
 		description
-			Perl maintains environment variables in a special hash named %%ENV. For when
-			this access method is inconvenient, the Perl module Env allows environment
-			variables to be treated as scalar or array variables.
+			The DynaLoader module defines a standard generic interface to the dynamic
+			linking mechanisms available on many platforms. Its primary purpose is to
+			implement automatic dynamic loading of Perl modules. For a simpler interface,
+			see XSLoader module.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{datadir}/perl5/Env.pm
-			%{mandir}/man3/Env.3*
+			%{libdir}/perl5/DynaLoader.pm
+			%{mandir}/man3/DynaLoader.3*
 		end
 	end
 
-	package perl-experimental
-		epoch = 0
-		version = 0.007
+	package perl-doc
+		version = %{perl_version}
 		arch = noarch
 
-		summary = Experimental features made easy.
+		summary = Perl language documentation
 		description
-			This pragma provides an easy and convenient way to enable or disable
-			experimental features.
+			This package contains the documentation for the Perl language.
+			It is provides in POD and manual page format.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/experimental*
-			%{mandir}/man3/experimental*
+			%{datadir}/perl5/pod/*.pod
+			%{mandir}/man1/perl*.*
 		end
 	end
 
-	package perl-Exporter
-		epoch = 0
-		version = 5.71
-		arch = noarch
+	package perl-Encode
+		version = 3.17
 
-		summary = Implements default import method for modules.
+		summary = Character encodings in Perl.
 		description
-			The Exporter module implements an import method which allows a module to
-			export functions and variables to its users' name spaces. Many modules use
-			Exporter rather than implementing their own import method because Exporter
-			provides a highly flexible interface, with an implementation optimized for
+			The Encode module provides the interface between Perl strings and the rest
+			of the system. Perl strings are sequences of characters.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{bindir}/piconv
+			%{libdir}/perl5/Encode
+			%{libdir}/perl5/Encode*
+			%{libdir}/perl5/auto/Encode*
+			%{libdir}/perl5/auto/Encode
+			%{datadir}/perl5/Encode
+			!%{datadir}/perl5/Encode/*.e2x
+			!%{datadir}/perl5/Encode/encode.h
+			%{mandir}/man1/piconv.1*
+			%{mandir}/man3/Encode*.3*
+		end
+	end
+
+	package perl-encoding
+		version = 3.00
+
+		summary = Write your Perl script in non-ASCII or non-UTF-8.
+		description
+			With the encoding pragma, you can write your Perl script in any encoding you
+			like (so long as the Encode module supports it) and still enjoy Unicode
+			support.
+
+			This module is deprecated under perl 5.18 and may be removed in a future version.
+
+			The easiest and best alternative is to write your scripts in UTF-8.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(Filter::Util::Call)
+			perl(utf8)
+		end
+
+		files
+			%{libdir}/perl5/encoding.pm
+			%{mandir}/man3/encoding.3*
+		end
+	end
+
+	package perl-encoding-warnings
+		version = 0.13
+		arch = noarch
+
+		summary = Warn on implicit encoding conversions.
+		descripton
+			As of Perl 5.26.0, this module has no effect. The internal Perl feature that
+			was used to implement this module has been removed.  Hence, if you load this
+			module on Perl 5.26.0, you will get one warning that the module is no longer
+			supported; and the module will do nothing thereafter.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/encoding
+			%{datadir}/perl5/encoding/warnings.pm
+			%{mandir}/man3/encoding::warnings.3*
+		end
+	end
+
+	package perl-English
+		version = 1.11
+		arch = noarch
+
+		summary = Nice English or awk names for ugly punctuation variables.
+		description
+			This module provides aliases for the built-in variables whose names no one
+			seems to like to read.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/English.pm
+			%{mandir}/man3/English.3*
+		end
+	end
+
+	package perl-Env
+		version = 1.05
+		arch = noarch
+
+		summary = Perl module that imports environment variables as scalars or arrays.
+		description
+			Perl maintains environment variables in a special hash named %%ENV. For when
+			this access method is inconvenient, the Perl module Env allows environment
+			variables to be treated as scalar or array variables.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Env.pm
+			%{mandir}/man3/Env.3*
+		end
+	end
+
+	package perl-experimental
+		version = 0.028
+		arch = noarch
+
+		summary = Experimental features made easy.
+		description
+			This pragma provides an easy and convenient way to enable or disable
+			experimental features.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/experimental*
+			%{mandir}/man3/experimental*
+		end
+	end
+
+	package perl-Exporter
+		version = 5.77
+		arch = noarch
+
+		summary = Implements default import method for modules.
+		description
+			The Exporter module implements an import method which allows a module to
+			export functions and variables to its users' name spaces. Many modules use
+			Exporter rather than implementing their own import method because Exporter
+			provides a highly flexible interface, with an implementation optimized for
 			the common case.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Carp) >= 1.05
 		end
 
 		files
+			%{datadir}/perl5/Exporter
 			%{datadir}/perl5/Exporter*
 			%{mandir}/man3/Exporter*
 		end
 	end
 
 	package perl-ExtUtils-CBuilder
-		epoch = 0
-		version = 0.280217
+		version = 0.280236
 		arch = noarch
 
 		summary = Compile and link C code for Perl modules.
@@ -937,19 +1262,47 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			gcc
+			gcc-c++
 			perl-devel
+			perl(DynaLoader)
+			perl(ExtUtils::Mksymlists)
+			perl(File::Spec)
+			perl(Perl::OSType)
+		end
+
+		files
+			%{datadir}/perl5/ExtUtils/CBuilder
+			%{mandir}/man3/ExtUtils::CBuilder*
+		end
+	end
+
+	package perl-ExtUtils-Constant
+		version = 0.25
+		arch = noarch
+
+		summary = Generate XS code to import C header constants
+		description
+			ExtUtils::Constant facilitates generating C and XS wrapper code to allow
+			Perl modules to AUTOLOAD constants defined in C library header files.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Data::Dumper)
 		end
 
 		files
-			/usr/share/perl5/ExtUtils/CBuilder*
-			/usr/share/man/man3/ExtUtils::CBuilder*
+			%{datadir}/perl5/ExtUtils/Constant
+			%{datadir}/perl5/ExtUtils/Constant.pm
+			%{mandir}/man3/ExtUtils::Constant::*
+			%{mandir}/man3/ExtUtils::Constant.3*
 		end
 	end
 
 	package perl-ExtUtils-Command
-		epoch = 0
-		version = 1.18
+		version = 7.64
 		arch = noarch
 
 		summary = Perl routines to replace common UNIX commands in Makefiles.
@@ -960,7 +1313,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(File::Find)
 		end
 
@@ -971,8 +1324,7 @@  packages
 	end
 
 	package perl-ExtUtils-Embed
-		epoch = 0
-		version = 1.32
+		version = 1.35
 		arch = noarch
 
 		summary = Utilities for embedding Perl in C/C++ applications.
@@ -981,19 +1333,18 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl-devel
 		end
 
 		files
-			/usr/share/perl5/ExtUtils/Embed*
-			/usr/share/man/man3/ExtUtils::Embed*
+			%{datadir}/perl5/ExtUtils/Embed*
+			%{mandir}/man3/ExtUtils::Embed*
 		end
 	end
 
 	package perl-ExtUtils-Install
-		epoch = 0
-		version = 1.67
+		version = 2.20
 		arch = noarch
 
 		summary = Install files from here to there.
@@ -1003,13 +1354,12 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl-devel
+			perl(AutoSplit)
 			perl(Data::Dumper)
-		end
-
-		filter_requires
-			VMS::Filespec
+			perl(File::Compare)
+			perl(POSIX)
 		end
 
 		files
@@ -1023,8 +1373,7 @@  packages
 	end
 
 	package perl-ExtUtils-MakeMaker
-		epoch = 0
-		version = 6.98
+		version = 7.64
 		arch = noarch
 
 		summary = Create a module Makefile.
@@ -1033,52 +1382,51 @@  packages
 		end
 
 		requires
-			%{perl_requires}
-			/usr/bin/xsubpp
+			perl = %{perl_version}
 			perl-devel
 			perl(Data::Dumper)
+			perl(DynaLoader)
 			perl(ExtUtils::Command)
 			perl(ExtUtils::Install)
 			perl(ExtUtils::Manifest)
 			perl(File::Find)
 			perl(Getopt::Long)
+			perl(Pod::Man)
 			perl(Test::Harness)
-		end
-
-		filter_requires
-			VMS::Filespec
+			perl(version)
+			perl-ExtUtils-ParseXS
 		end
 
 		files
-			/usr/bin/instmodsh
-			/usr/share/perl5/ExtUtils/Command/
-			/usr/share/perl5/ExtUtils/Liblist/
-			/usr/share/perl5/ExtUtils/Liblist.pm
-			/usr/share/perl5/ExtUtils/MakeMaker/
-			/usr/share/perl5/ExtUtils/MakeMaker.pm
-			/usr/share/perl5/ExtUtils/MANIFEST.SKIP
-			/usr/share/perl5/ExtUtils/MM*.pm
-			/usr/share/perl5/ExtUtils/MY.pm
-			/usr/share/perl5/ExtUtils/Manifest.pm
-			/usr/share/perl5/ExtUtils/Mkbootstrap.pm
-			/usr/share/perl5/ExtUtils/Packlist.pm
-			/usr/share/perl5/ExtUtils/testlib.pm
-			/usr/share/man/man1/instmodsh.1*
-			/usr/share/man/man3/ExtUtils::Command::MM*
-			/usr/share/man/man3/ExtUtils::Liblist.3*
-			/usr/share/man/man3/ExtUtils::MM*
-			/usr/share/man/man3/ExtUtils::MY.3*
-			/usr/share/man/man3/ExtUtils::MakeMaker*
-			/usr/share/man/man3/ExtUtils::Manifest.3*
-			/usr/share/man/man3/ExtUtils::Mkbootstrap.3*
-			/usr/share/man/man3/ExtUtils::Mksymlists.3*
-			/usr/share/man/man3/ExtUtils::testlib.3*
+			%{bindir}/instmodsh
+			%{datadir}/perl5/ExtUtils/Command/
+			%{datadir}/perl5/ExtUtils/Liblist/
+			%{datadir}/perl5/ExtUtils/Liblist.pm
+			%{datadir}/perl5/ExtUtils/MakeMaker/
+			%{datadir}/perl5/ExtUtils/MakeMaker.pm
+			%{datadir}/perl5/ExtUtils/MANIFEST.SKIP
+			%{datadir}/perl5/ExtUtils/MM
+			%{datadir}/perl5/ExtUtils/MM*.pm
+			%{datadir}/perl5/ExtUtils/MY.pm
+			%{datadir}/perl5/ExtUtils/Manifest.pm
+			%{datadir}/perl5/ExtUtils/Mkbootstrap.pm
+			%{datadir}/perl5/ExtUtils/Packlist.pm
+			%{datadir}/perl5/ExtUtils/testlib.pm
+			%{mandir}/man1/instmodsh.1*
+			%{mandir}/man3/ExtUtils::Command::MM*
+			%{mandir}/man3/ExtUtils::Liblist.3*
+			%{mandir}/man3/ExtUtils::MM*
+			%{mandir}/man3/ExtUtils::MY.3*
+			%{mandir}/man3/ExtUtils::MakeMaker*
+			%{mandir}/man3/ExtUtils::Manifest.3*
+			%{mandir}/man3/ExtUtils::Mkbootstrap.3*
+			%{mandir}/man3/ExtUtils::Mksymlists.3*
+			%{mandir}/man3/ExtUtils::testlib.3*
 		end
 	end
 
 	package perl-ExtUtils-Manifest
-		epoch = 0
-		version = 1.63
+		version = 1.73
 		arch = noarch
 
 		summary = Utilities to write and check a MANIFEST file.
@@ -1087,7 +1435,8 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(File::Path)
 		end
 
 		files
@@ -1098,8 +1447,7 @@  packages
 	end
 
 	package perl-ExtUtils-Miniperl
-		epoch = 0
-		version = 1.01
+		version = 1.11
 		arch = noarch
 
 		summary = Write the C code for perlmain.c.
@@ -1114,7 +1462,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl-devel
 		end
 
@@ -1124,9 +1472,30 @@  packages
 		end
 	end
 
+	package perl-ExtUtils-MM-Utils
+		version = 7.44
+		arch = noarch
+
+		summary = ExtUtils::MM methods without dependency on ExtUtils::MakeMaker
+		description
+			This is a collection of ExtUtils::MM subroutines that are used by many
+			other modules but that do not need full-featured ExtUtils::MakeMaker. The
+			issue with ExtUtils::MakeMaker is it pulls in Perl header files and that
+			is an overkill for small subroutines.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/ExtUtils/MM/Utils.pm
+			%{mandir}/man3/ExtUtils::MM::Utils.*
+		end
+	end
+
 	package perl-ExtUtils-ParseXS
-		epoch = 0
-		version = 3.24
+		version = 3.45
 		arch = noarch
 
 		summary = Module and a script for converting Perl XS code into C code.
@@ -1137,7 +1506,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl-devel
 		end
 
@@ -1168,1136 +1537,2577 @@  packages
 		end
 	end
 
-	package perl-File-Fetch
-		epoch = 1
-		version = 0.48
+	package perl-Fcntl
+		version = 1.15
 		arch = noarch
 
-		summary = Generic file fetching mechanism.
+		summary = File operation options.
 		description
-			File::Fetch is a generic file fetching mechanism.
+			Fcntl module provides file operation related options.
 		end
 
 		requires
-			%{perl_requires}
-			perl(IPC::Cmd)>=0.36
-			perl(Module::Load::Conditional)>=0.04
-			perl(Params::Check)>=0.07
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/File/Fetch.pm
-			/usr/share/man/man3/File::Fetch.3*
+			%{libdir}/perl5/Fcntl.pm
+			%{libdir}/perl5/auto/Fcntl
+			%{mandir}/man3/Fcntl.3*
 		end
 	end
 
-	package perl-File-Path
-		epoch = 0
-		version = 2.09
+	package perl-fields
+		version = 2.27
 		arch = noarch
 
-		summary = Create or remove directory trees.
+		summary = Compile-time class fields.
 		description
-			This module provides a convenient way to create directories of arbitrary
-			depth and to delete an entire directory subtree from the file system.
+			The "fields" pragma enables compile-time and run-time verified class fields.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(base)
 			perl(Carp)
+			perl(Hash::Util)
 		end
 
 		files
-			%{datadir}/perl5/File/Path.pm
-			%{mandir}/man3/File::Path.3*
+			%{datadir}/perl5/fields.pm
+			%{mandir}/man3/fields.3*
 		end
 	end
 
-	package perl-File-Temp
-		epoch = 0
-		version = 0.23.04
+	package perl-File-Basename
+		version = 2.85
 		arch = noarch
 
-		summary = Return name and handle of a temporary file safely.
+		summary = Parse file paths into directory, file name, and suffix
 		description
-			File::Temp can be used to create and open temporary files in a safe way.
-			There is both a function interface and an object-oriented interface. The
-			File::Temp constructor or the tempfile() function can be used to return the
-			name and the open file handle of a temporary file. The tempdir() function
-			can be used to create a temporary directory.
+			These routines allow you to parse file paths into their directory, file name,
+			and suffix.
 		end
 
 		requires
-			%{perl_requires}
-			perl(File::Path) >= 2.06
-			perl(POSIX)
-		end
-
-		filter_requires
-			VMS::Stdio
+			perl = %{perl_version}
+			perl(Carp)
+			perl(re)
 		end
 
 		files
-			%{datadir}/perl5/File/Temp.pm
-			%{mandir}/man3/File::Temp.3*
+			%{datadir}/perl5/File/Basename.pm
+			%{mandir}/man3/File::Basename.3*
 		end
 	end
 
-	package perl-Filter
-		epoch = 0
-		version = 1.49
+	package perl-File-Compare
+		version = 1.100.700
+		arch = noarch
 
-		summary = Perl source filters.
+		summary = Compare files or file handles
 		description
-			Source filters alter the program text of a module before Perl sees it, much as
-			a C preprocessor alters the source text of a C program before the compiler
-			sees it.
+			A File::Compare Perl module provides functions for comparing a content of two
+			files specified by a file name or a file handle.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{libdir}/perl5/auto/Filter/Util
-			%{libdir}/perl5/Filter/Util
-			%{datadir}/perl5/pod/perlfilter.pod
-			%{mandir}/man1/perlfilter.*
-			%{mandir}/man3/Filter::Util::*
+			%{datadir}/perl5/File/Compare.pm
+			%{mandir}/man3/File::Compare.3*
 		end
 	end
 
-	package perl-Filter-Simple
-		epoch = 0
-		version = 0.91
+	package perl-File-Copy
+		version = 2.39
 		arch = noarch
 
-		summary = Simplified Perl source filtering.
+		summary = Copy files or file handles
 		description
-			The Filter::Simple Perl module provides a simplified interface to
-			Filter::Util::Call; one that is sufficient for most common cases.
+			A File::Copy module provides two basic functions, copy and move, which are
+			useful for getting the contents of a file from one place to another.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Text::Balanced) >= 1.97
+			perl = %{perl_version}
+			perl(Carp)
+			perl(File::Basename)
 		end
 
 		files
-			%{datadir}/perl5/Filter/Simple.pm
-			%{mandir}/man3/Filter::Simple.3*
+			%{datadir}/perl5/File/Copy.pm
+			%{mandir}/man3/File::Copy.3*
 		end
 	end
 
-	package perl-Getopt-Long
-		epoch = 0
-		version = 2.42
-		arch = noarch
+	package perl-File-DosGlob
+		version = 1.12
 
-		summary = Extended processing of command line options.
+		summary = DOS-like globbing
 		description
-			The Getopt::Long module implements an extended getopt function called
-			GetOptions(). It parses the command line from @ARGV, recognizing and removing
-			specified options and their possible values.
+			This Perl module implements DOS-like globbing with a few enhancements. It
+			is largely compatible with perlglob.exe in all but one respect--it understands
+			wild cards in directory components.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Text::ParseWords)
-			perl(Pod::Usage) >= 1.14
 		end
 
 		files
-			%{datadir}/perl5/Getopt/Long.pm
-			%{mandir}/man3/Getopt::Long.3*
+			%{libdir}/perl5/File/DosGlob.pm
+			%{libdir}/perl5/auto/File/DosGlob
+			%{mandir}/man3/File::DosGlob.3*
 		end
 	end
 
-	package perl-HTTP-Tiny
-		epoch = 0
-		version = 0.043
+	package perl-File-Fetch
+		version = 1.04
 		arch = noarch
 
-		summary = A small, simple, correct HTTP/1.1 client.
+		summary = Generic file fetching mechanism.
 		description
-			This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
-			requests without the overhead of a large framework like LWP::UserAgent.
-			It is more correct and more complete than HTTP::Lite. It supports proxies
-			(currently only non-authenticating ones) and redirection. It also correctly
-			resumes after EINTR.
+			File::Fetch is a generic file fetching mechanism.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Carp)
-			perl(IO::Socket)
+			perl = %{perl_version}
+			perl(IPC::Cmd)>=0.36
+			perl(Module::Load::Conditional)>=0.04
+			perl(Params::Check)>=0.07
 		end
 
 		files
-			/usr/share/perl5/HTTP/Tiny.pm
-			/usr/share/man/man5/HTTP::Tiny*
+			%{datadir}/perl5/File/Fetch.pm
+			%{mandir}/man3/File::Fetch.3*
 		end
 	end
 
-	package perl-IO-Compress
-		epoch = 0
-		version = 2.064
+	package perl-File-Find
+		version = 1.40
 		arch = noarch
 
-		summary = IO::Compress wrapper for modules.
+		summary = Travers a directory tree
 		description
-			This module is the base class for all IO::Compress and IO::Uncompress
-			modules. This module is not intended for direct use in application code.
-			Its sole purpose is to to be sub-classed by IO::Compress modules.
+			These are functions for searching through directory trees doing work on each
+			file found similar to the Unix find command.
 		end
 
 		requires
-			%{perl_requires}
-		end
-
-		provides
-			perl(IO::Uncompress::Bunzip2)
+			perl = %{perl_version}
+			perl(Scalar::Util)
 		end
 
 		files
-			/usr/share/perl5/Compress/Zlib.pm
-			%{libdir}/perl5/auto/Compress/Zlib/
-			/usr/share/man/man3/Compress::Zlib*
-			/usr/share/perl5/File/GlobMapper.pm
-			/usr/share/perl5/IO/Compress/Base/
-			/usr/share/perl5/IO/Compress/Base.pm
-			/usr/share/perl5/IO/Uncompress/AnyUncompress.pm
-			/usr/share/perl5/IO/Uncompress/Base.pm
-			/usr/share/man/man3/File::GlobMapper.*
-			/usr/share/man/man3/IO::Compress::Base.*
-			/usr/share/man/man3/IO::Uncompress::AnyUncompress.*
-			/usr/share/man/man3/IO::Uncompress::Base.*
+			%{datadir}/perl5/File/Find.pm
+			%{mandir}/man3/File::Find.3*
 		end
 	end
 
-	package perl-IO-Socket-IP
-		epoch = 0
-		version = 0.29
+	package perl-File-Path
+		version = 2.18
 		arch = noarch
 
-		summary = Drop-in replacement for IO::Socket::INET supporting both IPv4 and IPv6.
+		summary = Create or remove directory trees.
 		description
-			This module provides a protocol-independent way to use IPv4 and IPv6
-			sockets, as a drop-in replacement for IO::Socket::INET. Most constructor
-			arguments and methods are provided in a backward-compatible way.
+			This module provides a convenient way to create directories of arbitrary
+			depth and to delete an entire directory subtree from the file system.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{datadir}/perl5/IO/Socket/IP.pm
-			%{mandir}/man3/IO::Socket::IP.*
+			%{datadir}/perl5/File/Path.pm
+			%{mandir}/man3/File::Path.3*
 		end
 	end
 
-	package perl-IO-Zlib
-		epoch = 0
-		version = 1.10
+	package perl-File-stat
+		version = 1.12
 		arch = noarch
 
-		summary = Perl IO:: style interface to Compress::Zlib.
+		summary = By-Name interface to Perl build-in stat functions
 		description
-			This modules provides an IO:: style interface to the Compress::Zlib
-			package. The main advantage is that you can use an IO::Zlib object in much
-			the same way as an IO::File object so you can have common code that doesn't
-			know which sort of file it is using.
+			This module overrides the core stat() and lstat() functions, replacing them
+			with versions that return File::stat objects. This object has methods that
+			return the similarly named structure field name from the stat(2) function.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Compress::Zlib)
+			perl = %{perl_version}
+			perl(Symbol)
 		end
 
 		files
-			/usr/share/perl5/IO/Zlib.pm
-			/usr/share/man/man3/IO::Zlib.*
+			%{datadir}/perl5/File/stat.pm
+			%{mandir}/man3/File::stat.3*
 		end
 	end
 
-	package perl-IPC-Cmd
-		epoch = 0
-		version = 0.92
+	package perl-File-Temp
+		version = 0.231.100
 		arch = noarch
 
-		summary = Finding and running system commands made easy.
+		summary = Return name and handle of a temporary file safely.
 		description
-			IPC::Cmd allows you to run commands, interactively if desired, in a
-			platform independent way, but have them still work.
+			File::Temp can be used to create and open temporary files in a safe way.
+			There is both a function interface and an object-oriented interface. The
+			File::Temp constructor or the tempfile() function can be used to return the
+			name and the open file handle of a temporary file. The tempdir() function
+			can be used to create a temporary directory.
 		end
 
 		requires
-			%{perl_requires}
-			perl(ExtUtils::MakeMaker)
+			perl = %{perl_version}
+			perl(File::Path) >= 2.06
+			perl(POSIX)
 		end
 
 		files
-			/usr/share/perl5/IPC/Cmd.pm
-			/usr/share/man/man3/IPC::Cmd.3*
+			%{datadir}/perl5/File/Temp.pm
+			%{mandir}/man3/File::Temp.3*
 		end
 	end
 
-	package perl-JSON-PP
-		epoch = 0
-		version = 2.27203
+	package perl-FileCache
+		version = 1.10
 		arch = noarch
 
-		summary = JSON::XS compatible pure-Perl module.
+		summary = Keep more files open than the system permits.
 		description
-			JSON::XS is the fastest and most proper JSON module on CPAN. It is written by
-			Marc Lehmann in C, so must be compiled and installed in the used environment.
-			JSON::PP is a pure-Perl module and is compatible with JSON::XS.
+			The "cacheout" function will make sure that there's a file handle open
+			for reading or writing available as the path name you give it. It
+			automatically closes and re-opens files if you exceed your system
+			maximum number of file descriptors, or the suggested maximum.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/bin/json_pp
-			/usr/share/perl5/JSON/PP
-			/usr/share/perl5/JSON/PP.pm
-			/usr/share/man/man1/json_pp.1*
-			/usr/share/man/man3/JSON::PP.3*
-			/usr/share/man/man3/JSON::PP::Boolean.3pm*
+			%{datadir}/perl5/FileCache.pm
+			%{mandir}/man3/FileCache.3*
 		end
 	end
 
-	package perl-Locale-Codes
-		epoch = 0
-		version = 3.25
+	package perl-FileHandle
+		version = 2.03
 		arch = noarch
 
-		summary = Distribution of modules to handle locale codes.
+		summary = Object methods for file handles.
 		description
-			Locale-Codes is a distribution containing a set of modules. The modules
-			each deal with different types of codes which identify parts of the locale
-			including languages, countries, currency, etc.
+			This is an object-oriented interface for opening files and performing
+			input/output operations on them.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Exporter)
+			perl(Fcntl)
 		end
 
-		filter_requires
-			Locale::Codes::Country_Retired
-			Locale::Codes::LangFam_Retired
-			Locale::Codes::Script_Retired
-			Locale::Codes::LangExt_Codes
-			Locale::Codes::LangFam_Codes
-			Locale::Codes::Script_Codes
-			Locale::Codes::Language_Codes
-			Locale::Codes::LangExt_Retired
-			Locale::Codes::Currency_Codes
-			Locale::Codes::LangVar_Retired
-			Locale::Codes::Language_Retired
-			Locale::Codes::Country_Codes
-			Locale::Codes::LangVar_Codes
-			Locale::Codes::Currency_Retired
+		files
+			%{datadir}/perl5/FileHandle.pm
+			%{mandir}/man3/FileHandle.3*
 		end
+	end
 
-		provides
-			perl(Locale::Codes) = %{version}
+	package perl-filetest
+		version = 1.03
+		arch = noarch
+
+		summary = Perl pragma to control the filetest permission operators.
+		description
+			The default behavior of file test operators (e.g. "-r") is to use the simple
+			mode bits as returned by the stat() family of system calls. However, many
+			operating systems have additional features to define more complex access
+			rights, for example ACLs (Access Control Lists). For such environments, "use
+			filetest" may help the permission operators to return results more consistent
+			with other tools.
+		end
+
+		requires
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/Locale/Codes
-			%{datadir}/perl5/Locale/Codes.*
-			%{datadir}/perl5/Locale/Country.*
-			%{datadir}/perl5/Locale/Currency.*
-			%{datadir}/perl5/Locale/Language.*
-			%{datadir}/perl5/Locale/Script.*
-			%{mandir}/man3/Locale::Codes::*
-			%{mandir}/man3/Locale::Codes.*
-			%{mandir}/man3/Locale::Country.*
-			%{mandir}/man3/Locale::Currency.*
-			%{mandir}/man3/Locale::Language.*
-			%{mandir}/man3/Locale::Script.*
+			%{datadir}/perl5/filetest.pm
+			%{mandir}/man3/filetest.3*
 		end
 	end
 
-	package perl-Locale-Maketext
-		epoch = 0
-		version = 1.25
-		arch = noarch
+	package perl-Filter
+		version = 1.60
 
-		summary = Framework for localization.
+		summary = Perl source filters.
 		description
-			It is a common feature of applications (whether run directly, or via the Web)
-			for them to be "localized" -- i.e., for them to present an English interface
-			to an English-speaker, a German interface to a German-speaker, and so on for
-			all languages it's programmed with. Locale::Maketext is a framework for
-			software localization; it provides you with the tools for organizing and
-			accessing the bits of text and text-processing code that you need for
-			producing localized applications.
+			Source filters alter the program text of a module before Perl sees it, much as
+			a C preprocessor alters the source text of a C program before the compiler
+			sees it.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5//Locale/Maketext.*
-			%{datadir}/perl5/Locale/Maketext/Cookbook.*
-			%{datadir}/perl5/Locale/Maketext/Guts.*
-			%{datadir}/perl5/Locale/Maketext/GutsLoader.*
-			%{datadir}/perl5/Locale/Maketext/TPJ13.*
-			%{mandir}/man3/Locale::Maketext.*
-			%{mandir}/man3/Locale::Maketext::Cookbook.*
-			%{mandir}/man3/Locale::Maketext::Guts.*
-			%{mandir}/man3/Locale::Maketext::GutsLoader.*
-			%{mandir}/man3/Locale::Maketext::TPJ13.*
+			%{libdir}/perl5/auto/Filter/Util
+			%{libdir}/perl5/Filter/Util
+			%{datadir}/perl5/pod/perlfilter.pod
+			%{mandir}/man1/perlfilter.*
+			%{mandir}/man3/Filter::Util::*
 		end
 	end
 
-	package perl-Locale-Maketext-Simple
-		epoch = 0
-		version = 0.21
+	package perl-Filter-Simple
+		version = 0.96
 		arch = noarch
-		license = MIT
 
-		summary = Simple interface to Locale::Maketext::Lexicon.
+		summary = Simplified Perl source filtering.
 		description
-			This module is a simple wrapper around Locale::Maketext::Lexicon, designed
-			to alleviate the need of creating Language Classes for module authors.
+			The Filter::Simple Perl module provides a simplified interface to
+			Filter::Util::Call; one that is sufficient for most common cases.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Text::Balanced) >= 1.97
 		end
 
 		files
-			%{datadir}/perl5/Locale/Maketext/Simple.pm
-			%{mandir}/man3/Locale::Maketext::Simple.*
+			%{datadir}/perl5/Filter/Simple.pm
+			%{mandir}/man3/Filter::Simple.3*
 		end
 	end
 
-	package perl-Module-Build
-		epoch = 0
-		version = 0.42.05
+	package perl-FindBin
+		version = 1.53
 		arch = noarch
 
-		summary = Perl module for building and installing Perl modules.
+		summary = Locate a directory of an original Perl script
 		description
-			Module::Build is a system for building, testing, and installing Perl modules.
-			It is meant to be an alternative to ExtUtils::MakeMaker.  Developers may alter
-			the behavior of the module through subclassing in a much more straightforward
-			way than with MakeMaker. It also does not require a make on your system - most
-			of the Module::Build code is pure-perl and written in a very cross-platform
-			way. In fact, you don't even need a shell, so even platforms like MacOS
-			(traditional) can use it fairly easily. Its only prerequisites are modules that
-			are included with perl 5.6.0, and it works fine on perl 5.005 if you can
-			install a few additional modules.
+			Locates the full path to the script bin directory to allow the use of paths
+			relative to the bin directory.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Archive::Tar)>=1.08
-			perl(CPAN::Meta)>=2.110420
-			perl(ExtUtils::CBuilder)>=0.15
-			perl(ExtUtils::ParseXS)>=1.02
+			perl = %{perl_version}
 		end
 
 		files
-			%{bindir}/config_data
-			%{datadir}/perl5/inc/
-			%{datadir}/perl5/Module/Build*
-			%{mandir}/man1/config_data.1*
-			%{mandir}/man3/Module::Build*
-			%{mandir}/man3/inc::latest.3*
+			%{datadir}/perl5/FindBin.pm
+			%{mandir}/man3/FindBin.*
 		end
 	end
 
-	package perl-Module-CoreList
-		epoch = 0
-		version = 5.20150214
-		arch = noarch
+	package perl-GDBM_File
+		version = 1.23
 
-		summary = Perl core modules indexed by perl versions.
+		summary = Perl5 access to the gdbm library.
 		description
-			Module::CoreList contains the hash of hashes %Module::CoreList::version, this
-			is keyed on perl version as indicated in $].  The second level hash is module
-			=> version pairs.
+			GDBM_File is a module which allows Perl programs to make use of the facilities
+			provided by the GNU gdbm library.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/Module/CoreList
-			%{datadir}/perl5/Module/CoreList.pm
-			%{datadir}/perl5/Module/CoreList.pod
-			%{mandir}/man3/Module::CoreList*
+			%{libdir}/perl5/GDBM_File.pm
+			%{libdir}/perl5/auto/GDBM_File
+			%{mandir}/man3/GDBM_File.3*
 		end
 	end
 
-	package perl-Module-CoreList-tools
-		epoch = 0
-		version = 5.020001
+	package perl-Getopt-Long
+		version = 2.52
 		arch = noarch
 
-		summary = Tool for listing modules shipped with perl.
+		summary = Extended processing of command line options.
 		description
-			This package provides a corelist(1) tool which can be used to query what
-			modules were shipped with given perl version.
+			The Getopt::Long module implements an extended getopt function called
+			GetOptions(). It parses the command line from @ARGV, recognizing and removing
+			specified options and their possible values.
 		end
 
 		requires
-			%{perl_requires}
-			perl-Module-CoreList
+			perl = %{perl_version}
+			perl(Text::ParseWords)
+			perl(Pod::Usage) >= 1.14
 		end
 
 		files
-			%{bindir}/corelist
-			%{mandir}/man1/corelist*
+			%{datadir}/perl5/Getopt/Long.pm
+			%{mandir}/man3/Getopt::Long.3*
 		end
 	end
 
-	package perl-Module-Load
-		epoch = 0
-		version = 0.32
+	package perl-Getopt-Std
+		version = 1.13
 		arch = noarch
 
-		summary = Runtime require of both modules and files.
+		summary = Process single-character switches with switch clustering
 		description
-			Module::Load eliminates the need to know whether you are trying to require
-			either a file or a module.
+			The Getopt::Std module provides functions for processing single-character
+			switches with switch clustering. Pass one argument which is a string
+			containing all switches to be recognized.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/Module/Load.pm
-			%{mandir}/man3/Module::Load.*
+			%{datadir}/perl5/Getopt/Std.pm
+			%{mandir}/man3/Getopt::Std.3*
 		end
 	end
 
-	package perl-Module-Load-Conditional
-		epoch = 0
-		version = 0.62
-		arch = noarch
+	package perl-Hash-Util
+		version = 0.28
 
-		summary = Looking up module information / loading at runtime.
+		summary = General-utility hash subroutines
 		description
-			Module::Load::Conditional provides simple ways to query and possibly load
-			any of the modules you have installed on your system during runtime.
+			Hash::Util contains special functions for manipulating hashes that don't
+			really warrant a keyword.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Hash::Util::FieldHash)
+			perl(XSLoader)
 		end
 
 		files
-			%{datadir}/perl5/Module/Load/
-			%{mandir}/man3/Module::Load::Conditional*
+			%{libdir}/perl5/Hash/Util.pm
+			%{libdir}/perl5/auto/Hash/Util
+			%{libdir}/perl5/auto/Hash/Util/Util.so
+			%{mandir}/man3/Hash::Util.3*
 		end
 	end
 
-	package perl-Module-Loaded
-		epoch = 0
-		version = 0.08
-		arch = noarch
+	package perl-Hash-Util-FieldHash
+		version = 1.26
 
-		summary = Mark modules as loaded or unloaded.
+		summary = Support for inside-out classes
 		description
-			When testing applications, often you find yourself needing to provide
-			functionality in your test environment that would usually be provided by
-			external modules. Rather than munging the %INC by hand to mark these external
-			modules as loaded, so they are not attempted to be loaded by perl, this module
-			offers you a very simple way to mark modules as loaded and/or unloaded.
+			Hash::Util::FieldHash offers a number of functions in support of the
+			inside-out technique of class construction.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(XSLoader)
 		end
 
 		files
-			%{datadir}/perl5/Module/Loaded.pm
-			%{mandir}/man3/Module::Loaded*
+			%{libdir}/perl5/auto/Hash/Util/FieldHash
+			%{libdir}/perl5/Hash/Util/FieldHash.pm
+			%{mandir}/man3/Hash::Util::FieldHash.3*
 		end
 	end
 
-	package perl-Module-Metadata
-		epoch = 0
-		version = 1.000019
+	package perl-HTTP-Tiny
+		version = 0.080
 		arch = noarch
 
-		summary = Gather package and POD information from perl module files.
+		summary = A small, simple, correct HTTP/1.1 client.
 		description
-			Gather package and POD information from perl module files.
+			This is a very simple HTTP/1.1 client, designed primarily for doing simple GET
+			requests without the overhead of a large framework like LWP::UserAgent.
+			It is more correct and more complete than HTTP::Lite. It supports proxies
+			(currently only non-authenticating ones) and redirection. It also correctly
+			resumes after EINTR.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
+			perl(IO::Socket)
+			perl(Time::Local)
 		end
 
 		files
-			/usr/share/perl5/Module/Metadata.pm
-			/usr/share/man/man3/Module::Metadata.3pm*
+			%{datadir}/perl5/HTTP/Tiny.pm
+			%{mandir}/man5/HTTP::Tiny*
 		end
 	end
 
-	package perl-Package-Constants
-		epoch = 0
-		version = 0.04
+	package perl-if
+		version = 0.61.000
 		arch = noarch
 
-		summary = List all constants declared in a package.
+		summary = Use a Perl module if a condition holds
 		description
-			Package::Constants lists all the constants defined in a certain package.  This
-			can be useful for, among others, setting up an autogenerated @EXPORT/@EXPORT_OK
-			for a Constants.pm file.
+			The "if" module is used to conditionally load another module.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/Package/
-			/usr/share/man/man3/Package::Constants*
+			%{datadir}/perl5/if.pm
+			%{mandir}/man3/if.3*
 		end
 	end
 
-	package perl-Params-Check
-		epoch = 0
-		version = 0.38
+	package perl-IO
+		version = 1.50
+
+		summary = Perl input/output modules
+		description
+			This is a collection of Perl input/output modules.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/IO
+			%{datadir}/perl5/IO.pm
+			%{datadir}/perl5/IO/Dir.pm
+			%{datadir}/perl5/IO/File.pm
+			%{datadir}/perl5/IO/Handle.pm
+			%{datadir}/perl5/IO/Pipe.pm
+			%{datadir}/perl5/IO/Poll.pm
+			%{datadir}/perl5/IO/Seekable.pm
+			%{datadir}/perl5/IO/Select.pm
+			%{datadir}/perl5/IO/Socket
+			%{datadir}/perl5/IO/Socket/INET.pm
+			%{datadir}/perl5/IO/Socket/UNIX.pm
+			%{datadir}/perl5/IO/Socket.pm
+			%{datadir}/perl5/auto/IO
+			%{datadir}/perl5/auto/IO/IO.so
+			%{mandir}/man3/IO.*
+			%{mandir}/man3/IO::Dir.*
+			%{mandir}/man3/IO::File.*
+			%{mandir}/man3/IO::Handle.*
+			%{mandir}/man3/IO::Pipe.*
+			%{mandir}/man3/IO::Poll.*
+			%{mandir}/man3/IO::Seekable.*
+			%{mandir}/man3/IO::Select.*
+			%{mandir}/man3/IO::Socket::INET.*
+			%{mandir}/man3/IO::Socket::UNIX.*
+			%{mandir}/man3/IO::Socket.*
+		end
+	end
+
+	package perl-IO-Compress
+		version = 2.106
 		arch = noarch
 
-		summary = Generic input parsing/checking mechanism.
+		summary = IO::Compress wrapper for modules.
 		description
-			Params::Check is a generic input parsing/checking mechanism.
+			This module is the base class for all IO::Compress and IO::Uncompress
+			modules. This module is not intended for direct use in application code.
+			Its sole purpose is to to be sub-classed by IO::Compress modules.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		provides
-			perl(Params::Check)
+			perl(IO::Uncompress::Bunzip2)
 		end
 
 		files
-			/usr/share/perl5/Params/
-			/usr/share/man/man3/Params::Check*
+			%{datadir}/perl5/Compress/Zlib.pm
+			%{libdir}/perl5/auto/Compress/Zlib/
+			%{mandir}/man3/Compress::Zlib*
+			%{datadir}/perl5/File/GlobMapper.pm
+			%{datadir}/perl5/IO/Compress/Base/
+			%{datadir}/perl5/IO/Compress/Base.pm
+			%{datadir}/perl5/IO/Uncompress/AnyUncompress.pm
+			%{datadir}/perl5/IO/Uncompress/Base.pm
+			%{mandir}/man3/File::GlobMapper.*
+			%{mandir}/man3/IO::Compress::Base.*
+			%{mandir}/man3/IO::Uncompress::AnyUncompress.*
+			%{mandir}/man3/IO::Uncompress::Base.*
 		end
 	end
 
-	package perl-Parse-CPAN-Meta
-		epoch = 0
-		version = 1.4414
+	package perl-IO-Socket-IP
+		version = 0.41
 		arch = noarch
 
-		summary = Parse META.yml and other similar CPAN metadata files.
+		summary = Drop-in replacement for IO::Socket::INET supporting both IPv4 and IPv6.
 		description
-			Parse::CPAN::Meta is a parser for META.yml files, based on the parser half of
-			YAML::Tiny.
+			This module provides a protocol-independent way to use IPv4 and IPv6
+			sockets, as a drop-in replacement for IO::Socket::INET. Most constructor
+			arguments and methods are provided in a backward-compatible way.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/Parse/CPAN/Meta.pm
-			/usr/share/man/man3/Parse::CPAN::Meta.3*
+			%{datadir}/perl5/IO/Socket/IP.pm
+			%{mandir}/man3/IO::Socket::IP.*
 		end
 	end
 
-	package perl-Path-Tools
-		epoch = 0
-		version = 3.48
-		license = (GPL+ or Artistic) and BSD
+	package perl-IO-Zlib
+		version = 1.11
+		arch = noarch
 
-		summary = PathTools Perl module (Cwd, File::Spec).
+		summary = Perl IO:: style interface to Compress::Zlib.
 		description
-			PathTools Perl module (Cwd, File::Spec).
+			This modules provides an IO:: style interface to the Compress::Zlib
+			package. The main advantage is that you can use an IO::Zlib object in much
+			the same way as an IO::File object so you can have common code that doesn't
+			know which sort of file it is using.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Compress::Zlib)
+		end
+
+		files
+			%{datadir}/perl5/IO/Zlib.pm
+			%{mandir}/man3/IO::Zlib.*
+		end
+	end
+
+	package perl-IPC-Cmd
+		version = 1.04
+		arch = noarch
+
+		summary = Finding and running system commands made easy.
+		description
+			IPC::Cmd allows you to run commands, interactively if desired, in a
+			platform independent way, but have them still work.
 		end
 
-		filter_requires
-			VMS::Filespec
+		requires
+			perl = %{perl_version}
+			perl(ExtUtils::MakeMaker)
 		end
 
 		files
-			%{libdir}/perl5/Cwd.pm
-			%{libdir}/perl5/File/Spec*
-			/usr/share/man/man3/Cwd*
-			/usr/share/man/man3/File::Spec*
+			%{datadir}/perl5/IPC/Cmd.pm
+			%{mandir}/man3/IPC::Cmd.3*
 		end
 	end
 
-	package perl-Perl-OSType
-		epoch = 0
-		version = 1.007
+	package perl-IPC-Open3
+		version = 1.22
 		arch = noarch
 
-		summary = Map perl operating system names to generic types.
+		summary = Open a process for reading, writing, and error handling.
 		description
-			Modules that provide OS-specific behaviors often need to know if the current
-			operating system matches a more generic type of operating systems. For example,
-			'linux' is a type of 'Unix' operating system and so is 'freebsd'.
-			This module provides a mapping between an operating system name as given by $^O
-			and a more generic type. The initial version is based on the OS type mappings
-			provided in Module::Build and ExtUtils::CBuilder (thus, Microsoft operating
-			systems are given the type 'Windows' rather than 'Win32').
+			These are functions that spawn a given command and connects the standard
+			output of the command for reading, standard output for writing, and standard
+			error output for handling the errors.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Fcntl)
+			perl(IO::Pipe)
+			perl(POSIX)
+			perl(warnings)
 		end
 
 		files
-			/usr/share/perl5/Perl/OSType.pm
-			/usr/share/man/man3/Perl::OSType.3pm*
+			%{datadir}/perl5/IPC/Open2.pm
+			%{datadir}/perl5/IPC/Open3.pm
+			%{mandir}/man3/IPC::Open2.3*
+			%{mandir}/man3/IPC::Open3.3*
 		end
 	end
 
-	package perl-Pod-Checker
-		epoch = 0
-		version = 1.60
+	package perl-IPC-SysV
+		version = 2.08
+
+		summary = Object interface to System V IPC.
+		description
+			This is an object interface for System V messages, semaphores, and
+			inter-process calls.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(DynaLoader)
+		end
+
+		files
+			%{libdir}/perl5/auto/IPC
+			%{libdir}/perl5/IPC
+			%{libdir}/perl5/IPC/Msg.pm
+			%{libdir}/perl5/IPC/Semaphore.pm
+			%{libdir}/perl5/IPC/SharedMem.pm
+			%{libdir}/perl5/IPC/SysV.pm
+			%{mandir}/man3/IPC::Msg.*
+			%{mandir}/man3/IPC::Semaphore.*
+			%{mandir}/man3/IPC::SharedMem.*
+			%{mandir}/man3/IPC::SysV.*
+		end
+	end
+
+	package perl-I18N-Collate
+		version = 1.02
 		arch = noarch
 
-		summary = Check POD documents for syntax errors.
+		summary = Compare 8-bit scalar data according to the current locale
 		description
-			Module and tools to verify POD documentation contents for compliance with the
-			Plain Old Documentation format specifications.
+			This module provides you with objects that will collate according to your
+			national character set. This module is deprecated. See the perllocale manual
+			page for further information.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{bindir}/podchecker
-			%{datadir}/perl5/Pod/Checker.pm
-			%{mandir}/man1/podchecker.*
-			%{mandir}/man3/Pod::Checker.*
+			%{datadir}/perl5/I18N/Collate.pm
+			%{mandir}/man3/I18N::Collate.*
 		end
 	end
 
-	package perl-Pod-Escapes
-		epoch = 0
-		version = 1.06
+	package perl-I18N-Langinfo
+		version = 0.21
 		arch = noarch
 
-		summary = Perl module for resolving POD escape sequences.
+		summary = Query locale information
 		description
-			This module provides things that are useful in decoding Pod E<...> sequences.
-			Presumably, it should be used only by Pod parsers and/or formatters.
+			The langinfo() function queries various locale information that can be used to
+			localize output and user interfaces. It uses the current underlying locale,
+			regardless of whether or not it was called from within the scope of "use
+			locale".
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/Pod/Escapes.pm
-			/usr/share/man/man3/Pod::Escapes.*
+			%{libdir}/perl5/auto/I18N
+			%{libdir}/perl5/I18N
+			%{mandir}/man3/I18N::Langinfo.*
 		end
 	end
 
-	package perl-Pod-Parser
-		epoch = 0
-		version = 1.62
+	package perl-I18N-LangTags
+		version = 0.45
 		arch = noarch
 
-		summary = Basic perl modules for handling Plain Old Documentation (POD).
+		summary = Functions for dealing with RFC 3066 language tags.
 		description
-			This software distribution contains the packages for using Perl5 POD (Plain
-			Old Documentation). See the "perlpod" and "perlsyn" manual pages from your
-			Perl5 distribution for more information about POD.
+			Language tags are a formalism, described in RFC 3066, for declaring what
+			language form (language and possibly dialect) a given chunk of information is
+			in. This library provides functions for common tasks involving language tags
+			as they are needed in a variety of protocols and applications.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(integer)
+			perl(warnings)
 		end
 
 		files
-			%{bindir}/podselect
-			%{datadir}/perl5/Pod/Find.pm
-			%{datadir}/perl5/Pod/InputObjects.pm
-			%{datadir}/perl5/Pod/ParseUtils.pm
-			%{datadir}/perl5/Pod/Parser.pm
-			%{datadir}/perl5/Pod/PlainText.pm
-			%{datadir}/perl5/Pod/Select.pm
-			%{mandir}/man1/podselect.1*
-			%{mandir}/man3/Pod::Find.*
-			%{mandir}/man3/Pod::InputObjects.*
-			%{mandir}/man3/Pod::ParseUtils.*
-			%{mandir}/man3/Pod::Parser.*
-			%{mandir}/man3/Pod::PlainText.*
-			%{mandir}/man3/Pod::Select.*
+			%{datadir}/perl5/I18N/LangTags
+			%{datadir}/perl5/I18N/LangTags.pm
+			%{mandir}/man3/I18N::LangTags.*
+			%{mandir}/man3/I18N::LangTags::*
 		end
 	end
 
-	package perl-Pod-Perldoc
-		epoch = 0
-		version = 3.23
+	package perl-JSON-PP
+		version = 4.07
 		arch = noarch
 
-		summary = Look up Perl documentation in Pod format.
+		summary = JSON::XS compatible pure-Perl module.
 		description
-			perldoc looks up a piece of documentation in .pod format that is embedded
-			in the perl installation tree or in a perl script, and displays it via
-			"groff -man | $PAGER". This is primarily used for the documentation for
-			the perl library modules.
+			JSON::XS is the fastest and most proper JSON module on CPAN. It is written by
+			Marc Lehmann in C, so must be compiled and installed in the used environment.
+			JSON::PP is a pure-Perl module and is compatible with JSON::XS.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Data::Dumper)
+			perl(Encode)
+			perl(Math::BigFloat)
+			perl(Math::BigInt)
+			perl(Scalar::Util)
+			perl(subs)
+		end
+
+		files
+			%{bindir}/json_pp
+			%{datadir}/perl5/JSON/PP
+			%{datadir}/perl5/JSON/PP.pm
+			%{mandir}/man1/json_pp.1*
+			%{mandir}/man3/JSON::PP.3*
+			%{mandir}/man3/JSON::PP::Boolean.3pm*
+		end
+	end
+
+	package perl-libnet
+		version = 3.14
+		arch = noarch
+
+		summary = Perl clients for various network protocols
+		description
+			This is a collection of Perl modules which provides a simple and
+			consistent programming interface (API) to the client side of various
+			protocols used in the internet community.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(File::Basename)
+			perl(IO::Socket) >= 1.05
+			perl(IO::Socket::IP) >= 0.20
+			perl(POSIX)
+			perl(Socket) >= 2.016
+			perl(utf8)
+		end
+
+		files
+			%{datadir}/perl5/Net/Cmd.pm
+			%{datadir}/perl5/Net/Config.pm
+			%{datadir}/perl5/Net/Domain.pm
+			%{datadir}/perl5/Net/FTP
+			%{datadir}/perl5/Net/FTP.pm
+			%{datadir}/perl5/Net/libnetFAQ.pod
+			%{datadir}/perl5/Net/NNTP.pm
+			%{datadir}/perl5/Net/Netrc.pm
+			%{datadir}/perl5/Net/POP3.pm
+			%{datadir}/perl5/Net/SMTP.pm
+			%{datadir}/perl5/Net/Time.pm
+			%{mandir}/man3/Net::Cmd.*
+			%{mandir}/man3/Net::Config.*
+			%{mandir}/man3/Net::Domain.*
+			%{mandir}/man3/Net::FTP.*
+			%{mandir}/man3/Net::libnetFAQ.*
+			%{mandir}/man3/Net::NNTP.*
+			%{mandir}/man3/Net::Netrc.*
+			%{mandir}/man3/Net::POP3.*
+			%{mandir}/man3/Net::SMTP.*
+			%{mandir}/man3/Net::Time.*
+		end
+	end
+
+	package perl-libnetcfg
+		version = %{perl_version}
+		arch = noarch
+
+		summary = Configure libnet
+		description
+			The libnetcfg utility can be used to configure the libnet.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{bindir}/libnetcfg
+			%{mandir}/man1/libnetcfg*
+		end
+	end
+
+	package perl-locale
+		version = 1.10
+		arch = noarch
+
+		summary = Pragma to use or avoid POSIX locales for built-in operations.
+		description
+			This pragma tells the compiler to enable (or disable) the use of POSIX locales
+			for built-in operations (for example, LC_CTYPE for regular expressions,
+			LC_COLLATE for string comparison, and LC_NUMERIC for number formatting). Each
+			"use locale" or "no locale" affects statements to the end of the enclosing
+			block.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(POSIX)
+		end
+
+		files
+			%{datadir}/perl5/locale.pm
+			%{mandir}/man3/locale.*
+		end
+	end
+
+	package perl-Locale-Maketext
+		version = 1.31
+		arch = noarch
+
+		summary = Framework for localization.
+		description
+			It is a common feature of applications (whether run directly, or via the Web)
+			for them to be "localized" -- i.e., for them to present an English interface
+			to an English-speaker, a German interface to a German-speaker, and so on for
+			all languages it's programmed with. Locale::Maketext is a framework for
+			software localization; it provides you with the tools for organizing and
+			accessing the bits of text and text-processing code that you need for
+			producing localized applications.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Locale/Maketext.*
+			%{datadir}/perl5/Locale/Maketext/Cookbook.*
+			%{datadir}/perl5/Locale/Maketext/Guts.*
+			%{datadir}/perl5/Locale/Maketext/GutsLoader.*
+			%{datadir}/perl5/Locale/Maketext/TPJ13.*
+			%{mandir}/man3/Locale::Maketext.*
+			%{mandir}/man3/Locale::Maketext::Cookbook.*
+			%{mandir}/man3/Locale::Maketext::Guts.*
+			%{mandir}/man3/Locale::Maketext::GutsLoader.*
+			%{mandir}/man3/Locale::Maketext::TPJ13.*
+		end
+	end
+
+	package perl-Locale-Maketext-Simple
+		version = 0.21
+		arch = noarch
+		license = MIT
+
+		summary = Simple interface to Locale::Maketext::Lexicon.
+		description
+			This module is a simple wrapper around Locale::Maketext::Lexicon, designed
+			to alleviate the need of creating Language Classes for module authors.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Locale/Maketext/Simple.pm
+			%{mandir}/man3/Locale::Maketext::Simple.*
+		end
+	end
+
+	package perl-Math-BigInt
+		version = 1.9998.30
+		arch = noarch
+
+		summary = Arbitrary-size integer and float mathematics.
+		description
+			This provides Perl modules for arbitrary-size integer and float mathematics.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/Math/BigFloat.pm
+			%{datadir}/perl5/Math/BigInt.pm
+			%{datadir}/perl5/Math/BigInt
+			%{datadir}/perl5/Math/BigInt/Calc.pm
+			%{datadir}/perl5/Math/BigInt/Lib.pm
+			%{mandir}/man3/Math::BigFloat.*
+			%{mandir}/man3/Math::BigInt.*
+			%{mandir}/man3/Math::BigInt::Calc.*
+			%{mandir}/man3/Math::BigInt::Lib.*
+		end
+	end
+
+	package perl-Math-BigInt-FastCalc
+		version = 0.501.200
+
+		summary = Math::BigInt::Calc XS implementation
+		description
+			This package provides support for faster big integer calculations.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/Math
+			%{libdir}/perl5/auto/Math
+			%{mandir}/man3/Math::BigInt::FastCalc.*
+		end
+	end
+
+	package perl-Math-BigRat
+		version = 0.2621
+		arch = noarch
+
+		summary = Arbitrary big rational numbers
+		description
+			Math::BigRat complements Math::BigInt and Math::BigFloat by providing support
+			for arbitrary big rational numbers.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Math::BigInt)
+		end
+
+		files
+			%{datadir}/perl5/Math/BigRat.pm
+			%{mandir}/man3/Math::BigRat.*
+		end
+	end
+
+	package perl-Math-Complex
+		version = 1.59
+		arch = noarch
+
+		summary = Complex numbers and trigonometric functions.
+		description
+			This package lets you create and manipulate complex numbers. By default, Perl
+			limits itself to real numbers, but an extra "use" statement brings full
+			complex support, along with a full set of mathematical functions typically
+			associated with and/or extended to complex numbers.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Math/Complex.pm
+			%{datadir}/perl5/Math/Trig.pm
+			%{mandir}/man3/Math::Complex.*
+			%{mandir}/man3/Math::Trig.*
+		end
+	end
+
+	package perl-Memoize
+		version = 1.03
+		arch = noarch
+
+		summary = Transparently speed up functions by caching return values.
+		description
+			Memoizing a function makes it faster by trading space for time. It does
+			this by caching the return values of the function in a table. If you call
+			the function again with the same arguments, memoize jumps in and gives
+			you the value out of the table, instead of letting the function compute
+			the value all over again.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Memoize
+			%{datadir}/perl5/Memoize.pm
+			%{mandir}/man3/Memoize::*
+			%{mandir}/man3/Memoize.*
+		end
+	end
+
+	package perl-meta-notation
+		version = %{perl_version}
+		arch = noarch
+
+		summary = Change nonprintable characters below 0x100 into printables.
+		description
+			Returns a copy of the input string with the nonprintable characters below
+			0x100 changed into printables. Any ASCII printables or above 0xFF are
+			unchanged.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/meta_notation.pm
+		end
+	end
+
+	package perl-MIME-Base64
+		version = 3.16
+
+		summary = Encoding and decoding of Base64 and quoted-printable strings.
+		description
+			This package contains a Base64 encoder/decoder and a quoted-printable
+			encoder/decoder. These encoding methods are specified in RFC 2045 - MIME
+			(Multipurpose Internet Mail Extensions).
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/auto/MIME
+			%{libdir}/perl5/MIME
+			%{mandir}/man3/MIME::*
+		end
+	end
+
+	package perl-Module-CoreList
+		version = 5.20220520
+		arch = noarch
+
+		summary = Perl core modules indexed by perl versions.
+		description
+			Module::CoreList contains the hash of hashes %Module::CoreList::version, this
+			is keyed on perl version as indicated in $].  The second level hash is module
+			=> version pairs.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Module/CoreList
+			%{datadir}/perl5/Module/CoreList.pm
+			%{datadir}/perl5/Module/CoreList.pod
+			%{mandir}/man3/Module::CoreList*
+		end
+	end
+
+	package perl-Module-CoreList-tools
+		version = 5.20220520
+		arch = noarch
+
+		summary = Tool for listing modules shipped with perl.
+		description
+			This package provides a corelist(1) tool which can be used to query what
+			modules were shipped with given perl version.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl-Module-CoreList
+		end
+
+		files
+			%{bindir}/corelist
+			%{mandir}/man1/corelist*
+		end
+	end
+
+	package perl-Module-Load
+		version = 0.36
+		arch = noarch
+
+		summary = Runtime require of both modules and files.
+		description
+			Module::Load eliminates the need to know whether you are trying to require
+			either a file or a module.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Module/Load.pm
+			%{mandir}/man3/Module::Load.*
+		end
+	end
+
+	package perl-Module-Load-Conditional
+		version = 0.74
+		arch = noarch
+
+		summary = Looking up module information / loading at runtime.
+		description
+			Module::Load::Conditional provides simple ways to query and possibly load
+			any of the modules you have installed on your system during runtime.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Module/Load/
+			%{mandir}/man3/Module::Load::Conditional*
+		end
+	end
+
+	package perl-Module-Loaded
+		version = 0.08
+		arch = noarch
+
+		summary = Mark modules as loaded or unloaded.
+		description
+			When testing applications, often you find yourself needing to provide
+			functionality in your test environment that would usually be provided by
+			external modules. Rather than munging the %INC by hand to mark these external
+			modules as loaded, so they are not attempted to be loaded by perl, this module
+			offers you a very simple way to mark modules as loaded and/or unloaded.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Module/Loaded.pm
+			%{mandir}/man3/Module::Loaded*
+		end
+	end
+
+	package perl-Module-Metadata
+		version = 1.000037
+		arch = noarch
+
+		summary = Gather package and POD information from perl module files.
+		description
+			Gather package and POD information from perl module files.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Module/Metadata.pm
+			%{mandir}/man3/Module::Metadata.3pm*
+		end
+	end
+
+	package perl-mro
+		version = 1.26
+
+		summary = Method resolution order
+		description
+			The "mro" name space provides several utilities for dealing with method
+			resolution order and method caching in general.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/auto/mro
+			%{libdir}/perl5/mro.pm
+			%{mandir}/man3/mro.3*
+		end
+	end
+
+	package perl-NDBM_File
+		version = 1.15
+
+		summary = Tied access to ndbm files.
+		description
+			NDBM_File establishes a connection between a Perl hash variable and a file in
+			ndbm format. You can manipulate the data in the file just as if it were in
+			a Perl hash, but when your program exits, the data will remain in the file, to
+			be used the next time your program runs.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/NDBM_File.pm
+			%{libdir}/perl5/auto/NDBM_File
+			%{mandir}/man3/NDBM_File.3*
+		end
+	end
+
+	package perl-Net
+		version = 1.03
+		arch = noarch
+
+		summary = By-name interface to Perl built-in network resolver.
+		description
+			This package provide object-oriented interface to Perl built-in gethost*(),
+			getnet*(), getproto*(), and getserv*() functions.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Socket)
+		end
+
+		files
+			%{datadir}/perl5/Net/hostent.pm
+			%{datadir}/perl5/Net/netent.pm
+			%{datadir}/perl5/Net/protoent.pm
+			%{datadir}/perl5/Net/servent.pm
+			%{mandir}/man3/Net::hostent.3*
+			%{mandir}/man3/Net::netent.3*
+			%{mandir}/man3/Net::protoent.3*
+			%{mandir}/man3/Net::servent.3*
+		end
+	end
+
+	package perl-Net-Ping
+		version = 2.74
+		arch = noarch
+
+		summary = Check a remote host for reachability.
+		description
+			Net::Ping module contains methods to test the reachability of remote hosts on
+			a network.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(IO::Socket::INET)
+		end
+
+		# Keep Net::Ping::External optional
+		suggests
+			perl(Net::Ping::External)
+		end
+
+		files
+			%{datadir}/perl5/Net/Ping.pm
+			%{mandir}/man3/Net::Ping.*
+		end
+	end
+
+	package perl-NEXT
+		version = 0.69
+		arch = noarch
+
+		summary = Pseudo-class that allows method redispatch.
+		description
+			The NEXT module adds a pseudo-class named "NEXT" to any program that uses it.
+			If a method "m" calls "$self->NEXT::m()", the call to "m" is redispatched as
+			if the calling method had not originally been found.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/NEXT.pm
+			%{mandir}/man3/NEXT.*
+		end
+	end
+
+	package perl-ODBM_File
+		version = 1.17
+
+		summary = Tied access to odbm files
+		description
+			ODBM_File establishes a connection between a Perl hash variable and a file in
+			odbm format. You can manipulate the data in the file just as if it were in
+			a Perl hash, but when your program exits, the data will remain in the file, to
+			be used the next time your program runs.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/ODBM_File.pm
+			%{libdir}/perl5/auto/ODBM_File
+			%{mandir}/man3/ODBM_File.3*
+		end
+	end
+
+	package perl-Opcode
+		version = 1.57
+
+		summary = Disable named opcodes when compiling a perl code.
+		description
+			The Opcode module allows you to define an operator mask to be in effect when
+			perl next compiles any code. Attempting to compile code which contains
+			a masked opcode will cause the compilation to fail with an error. The code
+			will not be executed.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/auto/Opcode
+			%{libdir}/perl5/Opcode.pm
+			%{libdir}/perl5/ops.pm
+			%{mandir}/man3/Opcode.3*
+			%{mandir}/man3/ops.3*
+		end
+	end
+
+	package perl-open
+		version = 1.13
+		arch = noarch
+
+		summary = Perl pragma to set default PerlIO layers for input and output.
+		description
+			The "open" pragma serves as one of the interfaces to declare default "layers"
+			(also known as "disciplines") for all I/O.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(Encode)
+			perl(encoding)
+		end
+
+		files
+			%{datadir}/perl5/open.pm
+			%{mandir}/man3/open.3*
+		end
+	end
+
+	package perl-overload
+		version = 1.35
+		arch = noarch
+
+		summary = Overloading Perl operations.
+		description
+			The "overload" pragma allows overloading of Perl operators for a class. To
+			overload built-in functions, see "Overriding Built-in Functions" in perlsub
+			POD instead.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(mro)
+			perl(Scalar::Util)
+			perl(overloading)
+		end
+
+		files
+			%{datadir}/perl5/overload.pm
+			%{mandir}/man3/overload.3*
+		end
+	end
+
+	package perl-overloading
+		version = 0.02
+		arch = noarch
+
+		summary = Perl pragma to lexically control overloading.
+		description
+			Overloading pragma allows you to lexically disable or enable overloading.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/overload/numbers.pm
+			%{datadir}/perl5/overloading.pm
+			%{mandir}/man3/overloading.3*
+		end
+	end
+
+	package perl-Params-Check
+		version = 0.38
+		arch = noarch
+
+		summary = Generic input parsing/checking mechanism.
+		description
+			Params::Check is a generic input parsing/checking mechanism.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		provides
+			perl(Params::Check)
+		end
+
+		files
+			%{datadir}/perl5/Params/
+			%{mandir}/man3/Params::Check*
+		end
+	end
+
+	package perl-Parse-CPAN-Meta
+		version = 1.4414
+		arch = noarch
+
+		summary = Parse META.yml and other similar CPAN metadata files.
+		description
+			Parse::CPAN::Meta is a parser for META.yml files, based on the parser half of
+			YAML::Tiny.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Parse/CPAN/Meta.pm
+			%{mandir}/man3/Parse::CPAN::Meta.3*
+		end
+	end
+
+	package perl-Path-Tools
+		version = 3.84
+		license = (GPL+ or Artistic) and BSD
+
+		summary = PathTools Perl module (Cwd, File::Spec).
+		description
+			PathTools Perl module (Cwd, File::Spec).
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(Errno)
+			perl(Scalar::Util)
+			perl(XSLoader)
+		end
+
+		files
+			%{libdir}/perl5/Cwd.pm
+			%{libdir}/perl5/File/Spec
+			%{libdir}/perl5/File/Spec*
+			%{libdir}/perl5/auto/Cwd
+			%{mandir}/man3/Cwd*
+			%{mandir}/man3/File::Spec*
+		end
+	end
+
+	package perl-PerlIO-via-QuotedPrint
+		version = 0.09
+		arch = noarch
+
+		summary = PerlIO layer for quoted-printable strings.
+		description
+			This module implements a PerlIO layer that works on files encoded in the
+			quoted-printable format. It will decode from quoted-printable while
+			reading from a handle, and it will encode as quoted-printable while
+			writing to a handle.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/PerlIO/via/
+			%{datadir}/perl5/PerlIO/via/QuotedPrint.pm
+			%{mandir}/man3/PerlIO::via::QuotedPrint.*
+		end
+	end
+
+	package perl-Perl-OSType
+		version = 1.010
+		arch = noarch
+
+		summary = Map perl operating system names to generic types.
+		description
+			Modules that provide OS-specific behaviors often need to know if the current
+			operating system matches a more generic type of operating systems. For example,
+			'linux' is a type of 'Unix' operating system and so is 'freebsd'.
+			This module provides a mapping between an operating system name as given by $^O
+			and a more generic type. The initial version is based on the OS type mappings
+			provided in Module::Build and ExtUtils::CBuilder (thus, Microsoft operating
+			systems are given the type 'Windows' rather than 'Win32').
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Perl/OSType.pm
+			%{mandir}/man3/Perl::OSType.3pm*
+		end
+	end
+
+	package perl-ph
+		version = %{perl_version}
+
+		summary = Selected system header files converted to Perl headers.
+		description
+			Contemporary Perl still refers to some Perl header (ph) files although it does
+			not build them anymore. This is a prebuilt collection of the referred files.
+			If you miss other ones, you can generate them with h2ph tool from perl-utils
+			package.
+		end
+
+		provides
+			perl(sys/ioctl.ph) = %{perl_version}
+			perl(sys/syscall.ph) = %{perl_version}
+			perl(syscall.ph) = %{perl_version}
+		end
+
+		requires
+			perl = %{perl_version}
+			perl-libs = %{perl_version}
+			perl(warnings)
+		end
+
+		files
+			%{libdir}/perl5/asm
+			%{libdir}/perl5/asm-generic
+			%{libdir}/perl5/bits
+			%{libdir}/perl5/features*.ph
+			%{libdir}/perl5/gnu
+			%{libdir}/perl5/_h2ph_pre.ph
+			%{libdir}/perl5/linux
+			%{libdir}/perl5/stdc-predef.ph
+			%{libdir}/perl5/sys
+			%{libdir}/perl5/syscall.ph
+		end
+	end
+
+	package perl-Pod-Checker
+		version = 1.74
+		arch = noarch
+
+		summary = Check POD documents for syntax errors.
+		description
+			Module and tools to verify POD documentation contents for compliance with the
+			Plain Old Documentation format specifications.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{bindir}/podchecker
+			%{datadir}/perl5/Pod/Checker.pm
+			%{mandir}/man1/podchecker.*
+			%{mandir}/man3/Pod::Checker.*
+		end
+	end
+
+	package perl-Pod-Escapes
+		version = 1.07
+		arch = noarch
+
+		summary = Perl module for resolving POD escape sequences.
+		description
+			This module provides things that are useful in decoding Pod E<...> sequences.
+			Presumably, it should be used only by Pod parsers and/or formatters.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Pod/Escapes.pm
+			%{mandir}/man3/Pod::Escapes.*
+		end
+	end
+
+	package perl-Pod-Functions
+		version = 1.14
+		arch = noarch
+
+		summary = Group Perl functions as in perlfunc POD.
+		description
+			This module enumerates the Perl functions that are documented in perlfunc POD.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl-libs = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Pod/Functions.pm
+		end
+	end
+
+	package perl-Pod-HTML
+		version = 1.33
+		arch = noarch
+
+		summary = Convert POD files to HTML.
+		description
+			This package converts files from POD format (see perlpod) to HTML format. It
+			can automatically generate indexes and cross-references, and it keeps a cache
+			of things it knows how to cross-reference.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{bindir}/pod2html
+			%{datadir}/perl5/Pod/Html
+			%{datadir}/perl5/Pod/Html.pm
+			%{mandir}/man1/pod2html.1*
+			%{mandir}/man3/Pod::Html*
+		end
+	end
+
+	package perl-Pod-Perldoc
+		version = 3.28.1
+		arch = noarch
+
+		summary = Look up Perl documentation in Pod format.
+		description
+			perldoc looks up a piece of documentation in .pod format that is embedded
+			in the perl installation tree or in a perl script, and displays it via
+			"groff -man | $PAGER". This is primarily used for the documentation for
+			the perl library modules.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{bindir}/perldoc
+			%{datadir}/perl5/pod/perldoc.pod
+			%{datadir}/perl5/Pod/Perldoc
+			%{datadir}/perl5/Pod/Perldoc.pm
+			%{mandir}/man1/perldoc.1*
+			%{mandir}/man3/Pod::Perldoc*
+		end
+	end
+
+	package perl-Pod-Simple
+		version = 3.43
+		arch = noarch
+
+		summary = Framework for parsing POD documentation.
+		description
+			Pod::Simple is a Perl library for parsing text in the Pod (plain old
+			documentation) markup language that is typically used for writing
+			documentation for Perl and for Perl modules.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Pod/Simple/
+			%{datadir}/perl5/Pod/Simple.pm
+			%{datadir}/perl5/Pod/Simple.pod
+			%{mandir}/man3/Pod::Simple*
+		end
+	end
+
+	package perl-Pod-Usage
+		version = 2.01
+		arch = noarch
+
+		summary = Print a usage message from embedded pod documentation.
+		description
+			pod2usage will print a usage message for the invoking script (using its
+			embedded POD documentation) and then exit the script with the desired exit
+			status. The usage message printed may have any one of three levels of
+			"verboseness": If the verbose level is 0, then only a synopsis is printed.
+			If the verbose level is 1, then the synopsis is printed along with a
+			description (if present) of the command line options and arguments. If the
+			verbose level is 2, then the entire manual page is printed.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Pod::Text)
+		end
+
+		files
+			%{bindir}/pod2usage
+			%{datadir}/perl5/Pod/Usage.pm
+			%{mandir}/man1/pod2usage.*
+			%{mandir}/man3/Pod::Usage.*
+		end
+	end
+
+	package perl-parent
+		version = 0.238
+		arch = noarch
+
+		summary = Establish an ISA relationship with base classes at compile time.
+		description
+			parent allows you to both load one or more modules, while setting up
+			inheritance from those modules at the same time.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/parent.pm
+			%{mandir}/man3/parent.3*
+		end
+	end
+
+	package perl-podlators
+		version = 4.14
+		arch = noarch
+
+		summary = Format POD source into various output formats.
+		description
+			This package contains Pod::Man and Pod::Text modules which convert POD input
+			to *roff source output, suitable for man pages, or plain text.  It also
+			includes several sub-classes of Pod::Text for formatted output to terminals
+			with various capabilities.
+		end
+
+		requires += \
+			perl = %{perl_version} \
+			perl(File::Spec) >= 0.8 \
+			perl(Pod::Simple) >= 3.06
+
+		files
+			%{bindir}/pod2man
+			%{bindir}/pod2text
+			%{datadir}/perl5/pod/perlpodstyle.pod
+			%{datadir}/perl5/Pod/Man.pm
+			%{datadir}/perl5/Pod/ParseLink.pm
+			%{datadir}/perl5/Pod/Text
+			%{datadir}/perl5/Pod/Text.pm
+			%{mandir}/man1/pod2man.1*
+			%{mandir}/man1/pod2text.1*
+			%{mandir}/man1/perlpodstyle.1*
+			%{mandir}/man3/Pod::Man*
+			%{mandir}/man3/Pod::ParseLink*
+			%{mandir}/man3/Pod::Text*
+		end
+	end
+
+	package perl-POSIX
+		version = 2.03
+
+		summary = Perl interface to IEEE Std 1003.1.
+		description
+			The POSIX module permits you to access all (or nearly all) the standard POSIX
+			1003.1 identifiers. Many of these identifiers have been given Perl interfaces.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/auto/POSIX
+			%{libdir}/perl5/POSIX.*
+			%{mandir}/man3/POSIX.*
+		end
+	end
+
+	package perl-Safe
+		version = 2.43
+		arch = noarch
+
+		summary = Compile and execute code in restricted compartments.
+		description
+			The Safe extension module allows the creation of compartments in which Perl
+			code can be evaluated. Please note that the restriction is not suitable for
+			security purposes.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Safe.pm
+			%{mandir}/man3/Safe.*
+		end
+	end
+
+	package perl-Scalar-List-Utils
+		version = 1.62
+
+		summary = A selection of general-utility scalar and list subroutines.
+		description
+			Scalar::Util and List::Util contain a selection of subroutines that people have
+			expressed would be nice to have in the perl core, but the usage would not
+			really be high enough to warrant the use of a keyword, and the size so small
+			such that being individual extensions would be wasteful.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/List
+			%{libdir}/perl5/Scalar
+			%{libdir}/perl5/Sub
+			%{libdir}/perl5/auto/List
+			%{mandir}/man3/List::Util*
+			%{mandir}/man3/Scalar::Util*
+			%{mandir}/man3/Sub::Util*
+		end
+	end
+
+	package perl-Search-Dict
+		version = 1.07
+		arch = noarch
+
+		summary = Search for a key in a dictionary file.
+		description
+			This module sets file position in a file handle to be first line greater than
+			or equal (string-wise) to a key.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Search
+			%{mandir}/man3/Search::*
+		end
+	end
+
+	package perl-SelectSaver
+		version = 1.02
+		arch = noarch
+
+		summary = Save and restore selected file handle.
+		description
+			A "SelectSaver" object contains a reference to the file handle that was
+			selected when it was created. When the object is destroyed, it re-selects the
+			file handle that was selected when it was created.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/SelectSaver.pm
+			%{mandir}/man3/SelectSaver.*
+		end
+	end
+
+	package perl-SelfLoader
+		version = 1.26
+		arch = noarch
+
+		summary = Load functions only on demand.
+		description
+			This Perl module tells its users that functions in a package are to be
+			autoloaded from after the "__DATA__" token. See also "Autoloading" in
+			perlsub.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/SelfLoader.pm
+			%{mandir}/man3/SelfLoader.*
+		end
+	end
+
+	package perl-sigtrap
+		version = 1.10
+		arch = noarch
+
+		summary = Perl pragma to enable simple signal handling.
+		description
+			The sigtrap pragma is a simple interface for installing signal handlers.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Symbol)
+		end
+
+		files
+			%{datadir}/perl5/sigtrap.pm
+			%{mandir}/man3/sigtrap.*
+		end
+	end
+
+	package perl-Socket
+		version = 2.033
+
+		summary = C socket.h defines and structure manipulators.
+		description
+			This module is just a translation of the C socket.h file.  Unlike the old
+			mechanism of requiring a translated socket.ph file, this uses the h2xs program
+			(see the Perl source distribution) and your native C compiler.  This means
+			that it has a far more likely chance of getting the numbers right.  This
+			includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(warnings)
+		end
+
+		files
+			%{libdir}/perl5/auto/Socket/Socket.*
+			%{libdir}/perl5/Socket.pm
+			%{mandir}/man3/Socket.3*
+		end
+	end
+
+	package perl-sort
+		version = 2.05
+		arch = noarch
+
+		summary = Perl pragma to control sort() behavior.
+		description
+			With the "sort" pragma you can control the behavior of the builtin "sort()"
+			function.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(warnings)
+		end
+
+		files
+			%{datadir}/perl5/sort.pm
+			%{mandir}/man3/sort.*
+		end
+	end
+
+	package perl-Storable
+		version = 3.26
+
+		summary = Persistence for Perl data structures.
+		description
+			The Storable package brings persistence to your Perl data structures
+			containing scalar, array, hash or reference objects, i.e. anything that
+			can be conveniently stored to disk and retrieved at a later time.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			perl(Fcntl)
+			perl(IO::File)
+		end
+
+		files
+			%{libdir}/perl5/Storable.pm
+			%{libdir}/perl5/auto/Storable
+			%{mandir}/man3/Storable.*
+		end
+	end
+
+	package perl-subs
+		version = 1.04
+		arch = noarch
+
+		summary = Perl pragma to predeclare subroutine names.
+		description
+			This will predeclare all the subroutines whose names are in the list,
+			allowing you to use them without parentheses (as list operators) even
+			before they're declared.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/subs.pm
+			%{mandir}/man3/subs.*
+		end
+	end
+
+	package perl-Symbol
+		version = 1.09
+		arch = noarch
+
+		summary = Manipulate Perl symbols and their names.
+		description
+			The Symbol module provides functions for manipulating Perl symbols.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Symbol.pm
+			%{mandir}/man3/Symbol.*
+		end
+	end
+
+	package perl-Sys-Hostname
+		version = 1.24
+
+		summary = Try every conceivable way to get a hostname.
+		description
+			It attempts several methods of getting the system hostname and then caches the
+			result.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(POSIX)
+			perl(XSLoader)
+		end
+
+		files
+			%{libdir}/perl5/auto/Sys/Hostname
+			%{libdir}/perl5/Sys/Hostname.pm
+			%{mandir}/man3/Sys::Hostname.*
+		end
+	end
+
+	package perl-Sys-Syslog
+		version = 0.36
+
+		summary = Perl interface to the UNIX syslog(3) calls.
+		description
+			Sys::Syslog is an interface to the UNIX syslog(3) function. Call syslog() with
+			a string priority and a list of printf() arguments just like at syslog(3).
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(XSLoader)
+		end
+
+		files
+			%{libdir}/perl5/Sys/Syslog.pm
+			%{libdir}/perl5/auto/Sys/Syslog
+			%{mandir}/man3/Sys::Syslog.*
+		end
+	end
+
+	package perl-Term-ANSIColor
+		version = 5.01
+		arch = noarch
+
+		summary = Color screen output using ANSI escape sequences.
+		description
+			This module has two interfaces, one through color() and colored() and the
+			other through constants. It also offers the utility functions uncolor(),
+			colorstrip(), colorvalid(), and coloralias(), which have to be explicitly
+			imported to be used.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/Term/ANSIColor.pm
+			%{mandir}/man3/Term::ANSIColor*
+		end
+	end
+
+	package perl-Term-Cap
+		version = 2.27
+		arch = noarch
+
+		summary = Perl termcap interface.
+		description
+			These are low-level functions to extract and use capabilities from a terminal
+			capability (termcap) database.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+			ncurses
+		end
+
+		files
+			%{datadir}/perl5/Term/Cap.pm
+			%{mandir}/man3/Term::Cap.*
+		end
+	end
+
+	package perl-Term-Complete
+		version = 1.403
+		arch = noarch
+
+		summary = Perl word completion.
+		description
+			"Complete" routine provides word completion on a list of words in the array.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/Term/Complete.pm
+			%{mandir}/man3/Term::Complete.*
+		end
+	end
+
+	package perl-Term-ReadLine
+		version = 1.17
+		arch = noarch
+
+		summary = Perl interface to various read-line packages.
+		description
+			This package is just a front end to some other packages. It's a stub to
+			set up a common interface to the various read-line implementations found
+			on CPAN (under the "Term::ReadLine::*" name space).
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Term::Cap)
+		end
+
+		files
+			%{datadir}/perl5/Term/ReadLine.pm
+			%{mandir}/man3/Term::ReadLine.*
+		end
+	end
+
+	package perl-Test
+		version = 1.31
+		arch = noarch
+
+		summary = Simple framework for writing test scripts.
+		description
+			The Test Perl module simplifies the task of writing test files for Perl modules,
+			such that their output is in the format that Test::Harness expects to see.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(File::Temp)
 		end
 
 		files
-			%{bindir}/perldoc
-			%{datadir}/perl5/pod/perldoc.pod
-			%{datadir}/perl5/Pod/Perldoc
-			%{datadir}/perl5/Pod/Perldoc.pm
-			%{mandir}/man1/perldoc.1*
-			%{mandir}/man3/Pod::Perldoc*
+			%{datadir}/perl5/Test.pm
+			%{mandir}/man3/Test.*
 		end
 	end
 
-	package perl-Pod-Simple
-		epoch = 0
-		version = 3.28
+	package perl-Test-Harness
+		version = 3.44
 		arch = noarch
 
-		summary = Framework for parsing POD documentation.
+		summary = Run Perl standard test scripts with statistics.
 		description
-			Pod::Simple is a Perl library for parsing text in the Pod (plain old
-			documentation) markup language that is typically used for writing
-			documentation for Perl and for Perl modules.
+			Run Perl standard test scripts with statistics.
+			Use TAP::Parser, Test::Harness package was whole rewritten.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/Pod/Simple/
-			/usr/share/perl5/Pod/Simple.pm
-			/usr/share/perl5/Pod/Simple.pod
-			/usr/share/man/man3/Pod::Simple*
+			%{bindir}/prove
+			%{datadir}/perl5/App/Prove
+			%{datadir}/perl5/App/Prove*
+			%{datadir}/perl5/TAP
+			%{datadir}/perl5/TAP*
+			%{datadir}/perl5/Test/Harness*
+			%{mandir}/man1/prove.1*
+			%{mandir}/man3/App::Prove*
+			%{mandir}/man3/TAP*
+			%{mandir}/man3/Test::Harness*
 		end
 	end
 
-	package perl-Pod-Usage
-		epoch = 0
-		version = 1.63
+	package perl-Test-Simple
+		version = 1.302190
 		arch = noarch
 
-		summary = Print a usage message from embedded pod documentation.
+		summary = Basic utilities for writing tests.
 		description
-			pod2usage will print a usage message for the invoking script (using its
-			embedded POD documentation) and then exit the script with the desired exit
-			status. The usage message printed may have any one of three levels of
-			"verboseness": If the verbose level is 0, then only a synopsis is printed.
-			If the verbose level is 1, then the synopsis is printed along with a
-			description (if present) of the command line options and arguments. If the
-			verbose level is 2, then the entire manual page is printed.
+			Basic utilities for writing tests.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Pod::Text)
+			perl = %{perl_version}
+			perl(Data::Dumper)
 		end
 
 		files
-			%{bindir}/pod2usage
-			%{datadir}/perl5/Pod/Usage.pm
-			%{mandir}/man1/pod2usage.*
-			%{mandir}/man3/Pod::Usage.*
+			!%{datadir}/perl5/Test/Harness*
+			!%{mandir}/man3/Test::Harness*
+			%{datadir}/perl5/ok*
+			%{datadir}/perl5/Test
+			%{datadir}/perl5/Test2*
+			%{datadir}/perl5/Test2
+			%{mandir}/man3/ok*
+			%{mandir}/man3/Test::*
+			%{mandir}/man3/Test2*
 		end
 	end
 
-	package perl-parent
-		epoch = 0
-		version = 0.228
+	package perl-Text-Abbrev
+		version = 1.02
 		arch = noarch
 
-		summary = Establish an ISA relationship with base classes at compile time.
+		summary = Create an abbreviation table from a list.
 		description
-			parent allows you to both load one or more modules, while setting up
-			inheritance from those modules at the same time.
+			It stores all unambiguous truncations of each element of a list as keys in
+			an associative array. The values are the original list elements.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/parent.pm
-			%{mandir}/man3/parent.3*
+			%{datadir}/perl5/Text/Abbrev.pm
+			%{mandir}/man3/Text::Abbrev.*
 		end
 	end
 
-	package perl-podlators
-		epoch = 0
-		version = 2.5.1
+	package perl-Text-Balanced
+		version = 2.04
 		arch = noarch
 
-		summary = Format POD source into various output formats.
+		summary = Extract delimited text sequences from strings.
 		description
-			This package contains Pod::Man and Pod::Text modules which convert POD input
-			to *roff source output, suitable for man pages, or plain text.  It also
-			includes several sub-classes of Pod::Text for formatted output to terminals
-			with various capabilities.
+			These Perl subroutines may be used to extract a delimited substring, possibly
+			after skipping a specified prefix string.
 		end
 
 		requires
-			%{perl_requires}
-			perl(File::Spec) >= 0.8
-			perl(Pod::Simple) >= 3.06
+			perl = %{perl_version}
 		end
 
 		files
-			%{bindir}/pod2man
-			%{bindir}/pod2text
-			%{datadir}/perl5/pod/perlpodstyle.pod
-			%{datadir}/perl5/Pod/Man.pm
-			%{datadir}/perl5/Pod/ParseLink.pm
-			%{datadir}/perl5/Pod/Text
-			%{datadir}/perl5/Pod/Text.pm
-			%{mandir}/man1/pod2man.1*
-			%{mandir}/man1/pod2text.1*
-			%{mandir}/man1/perlpodstyle.1*
-			%{mandir}/man3/Pod::Man*
-			%{mandir}/man3/Pod::ParseLink*
-			%{mandir}/man3/Pod::Text*
+			%{datadir}/perl5/Text/Balanced.pm
+			%{mandir}/man3/Text::Balanced.*
 		end
 	end
 
-	package perl-Scalar-List-Utils
-		epoch = 0
-		version = 1.28
+	package perl-Text-ParseWords
+		version = 3.31
+		arch = noarch
 
-		summary = A selection of general-utility scalar and list subroutines.
+		summary = Parse text into an array of tokens or array of arrays.
 		description
-			Scalar::Util and List::Util contain a selection of subroutines that people have
-			expressed would be nice to have in the perl core, but the usage would not
-			really be high enough to warrant the use of a keyword, and the size so small
-			such that being individual extensions would be wasteful.
+			Parse text into an array of tokens or array of arrays.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{libdir}/perl5/List
-			%{libdir}/perl5/Scalar
-			%{libdir}/perl5/auto/List
-			/usr/share/man/man3/List::Util*
-			/usr/share/man/man3/Scalar::Util*
+			%{datadir}/perl5/Text/ParseWords.pm
+			%{mandir}/man3/Text::ParseWords.*
 		end
 	end
 
-	package perl-Socket
-		epoch = 0
-		version = 2.013
+	package perl-Text-Tabs+Wrap
+		version = 2021.0814
+		arch = noarch
 
-		summary = C socket.h defines and structure manipulators.
+		summary = Expand tabs and do simple line wrapping.
 		description
-			This module is just a translation of the C socket.h file.  Unlike the old
-			mechanism of requiring a translated socket.ph file, this uses the h2xs program
-			(see the Perl source distribution) and your native C compiler.  This means
-			that it has a far more likely chance of getting the numbers right.  This
-			includes all of the commonly used pound-defines like AF_INET, SOCK_STREAM, etc.
+			Text::Tabs performs the same job that the UNIX expand(1) and unexpand(1)
+			commands do: adding or removing tabs from a document.
+
+			Text::Wrap::wrap() will reformat lines into paragraphs. All it does is break
+			up long lines, it will not join short lines together.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{libdir}/perl5/auto/Socket/Socket.*
-			%{libdir}/perl5/Socket.pm
-			%{mandir}/man3/Socket.3*
+			%{datadir}/perl5/Text/Tabs.pm
+			%{datadir}/perl5/Text/Wrap.pm
+			%{mandir}/man3/Text::Tabs.*
+			%{mandir}/man3/Text::Wrap.*
 		end
 	end
 
-	package perl-Storable
-		epoch = 0
-		version = 2.49
+	package perl-Thread
+		version = 3.05
+		arch = noarch
 
-		summary = Persistence for Perl data structures.
+		summary = Manipulate threads in Perl (for old code only).
 		description
-			The Storable package brings persistence to your Perl data structures
-			containing scalar, array, hash or reference objects, i.e. anything that
-			can be conveniently stored to disk and retrieved at a later time.
+			This Thread module served as the front end to the old-style thread model,
+			called 5005threads, that has been removed in version 5.10.
+
+			For old code and interim backwards compatibility, the Thread module has been
+			reworked to function as a front end for the new interpreter threads (ithreads)
+			model.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Carp)
-			perl(Fcntl)
-			perl(IO::File)
+			perl = %{perl_version}
 		end
 
 		files
-			%{libdir}/perl5/Storable.pm
-			%{libdir}/perl5/auto/Storable
-			%{mandir}/man3/Storable.*
+			%{datadir}/perl5/Thread.pm
+			%{mandir}/man3/Thread.*
 		end
 	end
 
-	package perl-Sys-Syslog
-		epoch = 0
-		version = 0.33
+	package perl-Thread-Queue
+		version = 3.14
+		arch = noarch
 
-		summary = Perl interface to the UNIX syslog(3) calls.
+		summary = Thread-safe queues.
 		description
-			Sys::Syslog is an interface to the UNIX syslog(3) function. Call syslog() with
-			a string priority and a list of printf() arguments just like at syslog(3).
+			This module provides thread-safe FIFO queues that can be accessed safely by
+			any number of threads.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
+			perl(Carp)
 		end
 
 		files
-			%{libdir}/perl5/Sys/Syslog.pm
-			%{libdir}/perl5/auto/Sys/Syslog
-			%{mandir}/man3/Sys::Syslog.*
+			%{datadir}/perl5/Thread/Queue.pm
+			%{mandir}/man3/Thread::Queue.*
 		end
 	end
 
-	package perl-Term-ANSIColor
-		epoch = 0
-		version = 4.02
+	package perl-Tie
+		version = 4.6
 		arch = noarch
 
-		summary = Color screen output using ANSI escape sequences.
+		summary = Base classes for tying variables.
 		description
-			This module has two interfaces, one through color() and colored() and the
-			other through constants. It also offers the utility functions uncolor(),
-			colorstrip(), colorvalid(), and coloralias(), which have to be explicitly
-			imported to be used.
+			These are Perl modules that helps connecting classes with arrays, hashes,
+			handles, and scalars.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/Term/ANSIColor.pm
-			%{mandir}/man3/Term::ANSIColor*
+			%{datadir}/perl5/Tie/Array.pm
+			%{datadir}/perl5/Tie/Handle.pm
+			%{datadir}/perl5/Tie/Scalar.pm
+			%{datadir}/perl5/Tie/StdHandle.pm
+			%{datadir}/perl5/Tie/SubstrHash.pm
+			%{mandir}/man3/Tie::Array.*
+			%{mandir}/man3/Tie::Handle.*
+			%{mandir}/man3/Tie::Scalar.*
+			%{mandir}/man3/Tie::StdHandle.*
+			%{mandir}/man3/Tie::SubstrHash.*
 		end
 	end
 
-	package perl-Test-Harness
-		epoch = 0
-		version = 3.30
+	package perl-Tie-File
+		version = 1.06
 		arch = noarch
 
-		summary = Run Perl standard test scripts with statistics.
+		summary = Access the lines of a disk file via a Perl array.
 		description
-			Run Perl standard test scripts with statistics.
-			Use TAP::Parser, Test::Harness package was whole rewritten.
+			Tie::File represents a regular text file as a Perl array. Each element in the
+			array corresponds to a record in the file. The first line of the file is
+			element 0 of the array; the second line is element 1, and so on.  The file is
+			not loaded into memory, so this will work even for gigantic files.  Changes to
+			the array are reflected in the file immediately.
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/bin/prove
-			/usr/share/perl5/App*
-			/usr/share/perl5/TAP*
-			/usr/share/perl5/Test/Harness*
-			/usr/share/man/man1/prove.1*
-			/usr/share/man/man3/App*
-			/usr/share/man/man3/TAP*
-			/usr/share/man/man3/Test::Harness*
+			%{datadir}/perl5/Tie/File.pm
+			%{mandir}/man3/Tie::File.*
 		end
 	end
 
-	package perl-Test-Simple
-		epoch = 0
-		version = 1.001002
+	package perl-Tie-Memoize
+		version = 1.1
 		arch = noarch
 
-		summary = Basic utilities for writing tests.
+		summary = Add data to a hash when needed.
 		description
-			Basic utilities for writing tests.
+			This package allows a tied hash to load its values automatically on the first
+			access, and to use the cached value on the following accesses.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Data::Dumper)
+			perl = %{perl_version}
+			perl(Carp)
+			perl(Tie::ExtraHash)
 		end
 
 		files
-			/usr/share/perl5/Test/More*
-			/usr/share/perl5/Test/Builder*
-			/usr/share/perl5/Test/Simple*
-			/usr/share/perl5/Test/Tutorial*
-			/usr/share/man/man3/Test::More*
-			/usr/share/man/man3/Test::Builder*
-			/usr/share/man/man3/Test::Simple*
-			/usr/share/man/man3/Test::Tutorial*
+			%{datadir}/perl5/Tie/Memoize.pm
+			%{mandir}/man3/Tie::Memoize.*
 		end
 	end
 
-	package perl-Text-ParseWords
-		epoch = 0
-		version = 3.29
+	package perl-Tie-RefHash
+		version = 1.40
 		arch = noarch
 
-		summary = Parse text into an array of tokens or array of arrays.
+		summary = Use references as hash keys.
 		description
-			Parse text into an array of tokens or array of arrays.
+			This module provides the ability to use references as hash keys if you first
+			"tie" the hash variable to this module. Normally, only the keys of the tied
+			hash itself are preserved as references; to use references as keys in
+			hashes-of-hashes, use Tie::RefHash::Nestable, included as part of
+			Tie::RefHash.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Carp)
+			perl = %{perl_version}
+			perl(overload)
+			perl(Scalar::Util)
 		end
 
 		files
-			%{datadir}/perl5/Text/ParseWords.pm
-			%{mandir}/man3/Text::ParseWords.*
+			%{datadir}/perl5/Tie/RefHash.pm
+			%{mandir}/man3/Tie::RefHash.*
 		end
 	end
 
-	package perl-Thread-Queue
-		epoch = 0
-		version = 3.05
+	package perl-Time
+		version = 1.03
 		arch = noarch
 
-		summary = Thread-safe queues.
+		summary = By-name interface to Perl built-in time functions.
 		description
-			This module provides thread-safe FIFO queues that can be accessed safely by
-			any number of threads.
+			This package provides an object-oriented interface to Perl built-in gmtime()
+			and localtime () functions.
 		end
 
 		requires
-			%{perl_requires}
-			perl(Carp)
+			perl = %{perl_version}
 		end
 
 		files
-			%{datadir}/perl5/Thread/Queue.pm
-			%{mandir}/man3/Thread::Queue.*
+			%{datadir}/perl5/Time/gmtime.pm
+			%{datadir}/perl5/Time/localtime.pm
+			%{datadir}/perl5/Time/tm.pm
+			%{mandir}/man3/Time::gmtime.*
+			%{mandir}/man3/Time::localtime.*
+			%{mandir}/man3/Time::tm.*
 		end
 	end
 
 	package perl-Time-HiRes
-		epoch = 0
-		version = 1.9726
+		version = 1.9770
 
 		summary = High resolution alarm, sleep, gettimeofday, interval timers.
 		description
@@ -2307,7 +4117,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl(Carp)
 		end
 
@@ -2319,8 +4129,7 @@  packages
 	end
 
 	package perl-Time-Local
-		epoch = 0
-		version = 1.2300
+		version = 1.300
 		arch = noarch
 
 		summary = Efficiently compute time from local and GMT time.
@@ -2334,7 +4143,7 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
@@ -2344,8 +4153,7 @@  packages
 	end
 
 	package perl-Time-Piece
-		epoch = 0
-		version = 1.27
+		version = 1.3401
 
 		summary = Time objects from localtime and gmtime.
 		description
@@ -2356,21 +4164,20 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
 			%{libdir}/perl5/Time/Piece.pm
 			%{libdir}/perl5/Time/Seconds.pm
 			%{libdir}/perl5/auto/Time/Piece/
-			/usr/share/man/man3/Time::Piece.3*
-			/usr/share/man/man3/Time::Seconds.3*
+			%{mandir}/man3/Time::Piece.3*
+			%{mandir}/man3/Time::Seconds.3*
 		end
 	end
 
 	package perl-threads
-		epoch = 0
-		version = 1.93
+		version = 2.27
 
 		summary = Perl interpreter-based threads.
 		description
@@ -2384,19 +4191,18 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
 			%{libdir}/perl5/auto/threads/threads*
 			%{libdir}/perl5/threads.pm
-			/usr/share/man/man3/threads.3*
+			%{mandir}/man3/threads.3*
 		end
 	end
 
 	package perl-threads-shared
-		epoch = 0
-		version = 1.46
+		version = 1.64
 
 		summary = Perl extension for sharing data structures between threads.
 		description
@@ -2409,19 +4215,156 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			%{libdir}/perl5/auto/threads/shared*
+			%{libdir}/perl5/auto/threads/shared
 			%{libdir}/perl5/threads/shared*
-			/usr/share/man/man3/threads::shared*
+			%{mandir}/man3/threads::shared*
+		end
+	end
+
+	package perl-Thread-Semaphore
+		version = 2.13
+		arch = noarch
+
+		summary = Thread-safe semaphores.
+		description
+			Semaphores provide a mechanism to regulate access to resources. Unlike locks,
+			semaphores aren't tied to particular scalars, and so may be used to control
+			access to anything you care to use them for. Semaphores don't limit their
+			values to zero and one, so they can be used to control access to some resource
+			that there may be more than one of (e.g., file handles). Increment and
+			decrement amounts aren't fixed at one either, so threads can reserve or return
+			multiple resources at once.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/Thread/Semaphore.pm
+			%{mandir}/man3/Thread::Semaphore.*
+		end
+	end
+
+	package perl-Unicode-Collate
+		version = 1.31
+
+		summary = Unicode Collation Algorithm.
+		description
+			This package is Perl implementation of Unicode Technical Standard #10 (Unicode
+			Collation Algorithm).
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Unicode::Normalize)
+		end
+
+		files
+			%{libdir}/perl5/auto/Unicode/Collate
+			%{libdir}/perl5/Unicode/Collate
+			%{libdir}/perl5/Unicode/Collate.pm
+			%{datadir}/perl5/Unicode/Collate
+			%{mandir}/man3/Unicode::Collate.*
+			%{mandir}/man3/Unicode::Collate::*
+		end
+	end
+
+	package perl-Unicode-Normalize
+		version = 1.31
+
+		summary = Unicode Normalization Forms.
+		description
+			This package provides Perl functions that can convert strings into various
+			Unicode normalization forms as defined in Unicode Standard Annex #15.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{libdir}/perl5/auto/Unicode/Normalize
+			%{libdir}/perl5/Unicode/Normalize.pm
+			%{mandir}/man3/Unicode::Normalize.*
+		end
+	end
+
+	package perl-Unicode-UCD
+		version = 0.78
+		arch = noarch
+
+		summary = Unicode character database.
+		description
+			The Unicode::UCD module offers a series of functions that provide a simple
+			interface to the Unicode Character Database.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Storable)
+		end
+
+		files
+			%{datadir}/perl5/Unicode/UCD.pm
+			%{mandir}/man3/Unicode::UCD.*
+		end
+	end
+
+	package perl-User-pwent
+		version = 1.03
+		arch = noarch
+
+		summary = By-name interface to Perl built-in user name resolver.
+		description
+			This package provides an object-oriented interface to Perl build-in getgr*()
+			and getpw*() functions.
+		end
+
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/User
+			%{mandir}/man3/User::*
+		end
+	end
+
+	package perl-vars
+		version = 1.05
+		arch = noarch
+
+		summary = Perl pragma to predeclare global variable names.
+		description
+			This pragma will predeclare all the variables whose names are in the
+			list, allowing you to use them under "use strict", and disabling any
+			typo warnings for them.
+
+			For use with variables in the current package for a single scope, the
+			functionality provided by this pragma has been superseded by "our"
+			declarations, available in Perl v5.6.0 or later, and use of this pragma is
+			discouraged.
+		end
+
+		requires
+			perl = %{perl_version}
+			perl(Carp)
+		end
+
+		files
+			%{datadir}/perl5/vars.pm
+			%{mandir}/man3/vars.*
 		end
 	end
 
 	package perl-version
-		epoch = 0
-		version = 0.99.09
+		version = 0.99.29
 		arch = noarch
 
 		summary = Perl extension for Version Objects.
@@ -2430,21 +4373,39 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 		end
 
 		files
-			/usr/share/perl5/version.pm
-			/usr/share/perl5/version.pod
-			/usr/share/perl5/version/
-			/usr/share/man/man3/version.3*
-			/usr/share/man/man3/version::Internals.3*
+			%{datadir}/perl5/version.pm
+			%{datadir}/perl5/version.pod
+			%{datadir}/perl5/version/
+			%{mandir}/man3/version.3*
+			%{mandir}/man3/version::Internals.3*
 		end
 	end
 
-	package perl-core
-		epoch = 0
+	package perl-vmsish
+		version = 1.04
+		arch = noarch
+
+		summary = Perl pragma to control VMS-specific language features.
+		description
+			The "vmsish" pragma control VMS-specific features of the Perl language. If
+			you're not running VMS, this module does nothing.
+		end
 
+		requires
+			perl = %{perl_version}
+		end
+
+		files
+			%{datadir}/perl5/vmsish.pm
+			%{mandir}/man3/vmsish.*
+		end
+	end
+
+	package perl-core
 		summary = Base perl metapackage.
 		description
 			A metapackage which requires all of the perl bits and modules in the upstream
@@ -2452,94 +4413,183 @@  packages
 		end
 
 		requires
-			%{perl_requires}
+			perl = %{perl_version}
 			perl-libs
 			perl-devel
-			perl-App-a2p
-			perl-App-find2perl
-			perl-App-s2p
 			perl-Archive-Tar
-			perl-autodie
+			perl-Attribute-Handlers
+			perl-autodie,
+			perl-AutoLoader
+			perl-AutoSplit
+			perl-autouse,
+			perl-B
+			perl-base
+			perl-Benchmark
+			perl-bignum
+			perl-blib,
+			perl-Carp
+			perl-Class-Struct
 			perl-Compress-Raw-Bzip2
-			perl-Compress-Raw-Zlib
-			perl-CGI
+			perl-Compress-Raw-Zlib,
+			perl-constant
 			perl-CPAN
 			perl-CPAN-Meta
-			perl-CPAN-Meta-YAML
 			perl-CPAN-Meta-Requirements
-			perl-Carp
-			perl-constant
+			perl-CPAN-Meta-YAML
 			perl-Data-Dumper
 			perl-DB_File
+			perl-DBM_Filter
+			perl-Devel-Peek
 			perl-Devel-PPPort
+			perl-Devel-SelfStubber
 			perl-Digest
 			perl-Digest-MD5
 			perl-Digest-SHA
+			perl-doc
+			perl-Dumpvalue
+			perl-DynaLoader
 			perl-Encode
+			perl-encoding
+			perl-encoding-warnings
+			perl-English
 			perl-Env
+			perl-experimental
 			perl-Exporter
 			perl-ExtUtils-CBuilder
+			perl-ExtUtils-Constant
 			perl-ExtUtils-Command
 			perl-ExtUtils-Embed
 			perl-ExtUtils-Install
 			perl-ExtUtils-MakeMaker
 			perl-ExtUtils-Manifest
 			perl-ExtUtils-Miniperl
+			perl-ExtUtils-MM-Utils
 			perl-ExtUtils-ParseXS
-			perl-experimental
+			perl-Fcntl
+			perl-fields
+			perl-File-Basename
+			perl-File-Compare
+			perl-File-Copy
+			perl-File-DosGlob
 			perl-File-Fetch
+			perl-File-Find
 			perl-File-Path
+			perl-File-stat
 			perl-File-Temp
+			perl-FileCache
+			perl-FileHandle
+			perl-filetest
 			perl-Filter
 			perl-Filter-Simple
+			perl-FindBin
+			perl-GDBM_File
 			perl-Getopt-Long
+			perl-Getopt-Std
+			perl-Hash-Util
+			perl-Hash-Util-FieldHash
 			perl-HTTP-Tiny
+			perl-if
+			perl-IO
 			perl-IO-Compress
 			perl-IO-Socket-IP
 			perl-IO-Zlib
 			perl-IPC-Cmd
+			perl-IPC-Open3
+			perl-IPC-SysV
+			perl-I18N-Collate
+			perl-I18N-Langinfo
+			perl-I18N-LangTags
 			perl-JSON-PP
-			perl-Locale-Codes
+			perl-libnet
+			perl-libnetcfg
+			perl-locale
 			perl-Locale-Maketext
 			perl-Locale-Maketext-Simple
-			perl-Module-Build
+			perl-Math-BigInt
+			perl-Math-BigInt-FastCalc
+			perl-Math-BigRat
+			perl-Math-Complex
+			perl-Memoize
+			perl-MIME-Base64
 			perl-Module-CoreList
 			perl-Module-CoreList-tools
 			perl-Module-Load
 			perl-Module-Load-Conditional
 			perl-Module-Loaded
 			perl-Module-Metadata
-			perl-Package-Constants
+			perl-mro
+			perl-NDBM_File
+			perl-Net
+			perl-Net-Ping
+			perl-NEXT
+			perl-ODBM_File
+			perl-Opcode
+			perl-open
+			perl-overload
+			perl-overloading
+			perl-parent
+			perl-Path-Tools
 			perl-Params-Check
-			perl-Parse-CPAN-Meta
+			perl-PerlIO-via-QuotedPrint
 			perl-Perl-OSType
-			perl-Path-Tools
+			perl-ph
 			perl-Pod-Checker
-			perl-Pod-Parser
+			perl-Pod-Escapes
+			perl-Pod-Functions
+			perl-Pod-HTML
 			perl-Pod-Perldoc
 			perl-Pod-Simple
 			perl-Pod-Usage
-			perl-parent
 			perl-podlators
+			perl-POSIX
+			perl-Safe
 			perl-Scalar-List-Utils
+			perl-Search-Dict
+			perl-SelectSaver
+			perl-SelfLoader
+			perl-sigtrap
 			perl-Socket
+			perl-sort
 			perl-Storable
+			perl-subs
+			perl-Symbol
+			perl-Sys-Hostname
 			perl-Sys-Syslog
 			perl-Term-ANSIColor
+			perl-Term-Cap
+			perl-Term-Complete
+			perl-Term-ReadLine
+			perl-Test
 			perl-Test-Harness
 			perl-Test-Simple
+			perl-Text-Abbrev
+			perl-Text-Balanced
 			perl-Text-ParseWords
+			perl-Text-Tabs+Wrap
+			perl-Thread
 			perl-Thread-Queue
+			perl-Thread-Semaphore
+			perl-threads
+			perl-threads-shared
+			perl-Tie
+			perl-Tie-File
+			perl-Tie-Memoize
+			perl-Tie-RefHash
+			perl-Time
 			perl-Time-HiRes
 			perl-Time-Local
 			perl-Time-Piece
-			perl-threads
-			perl-threads-shared
+			perl-Unicode-Collate
+			perl-Unicode-Normalize
+			perl-Unicode-UCD
+			perl-User-pwent
+			perl-vars
 			perl-version
+			perl-vmsish
 		end
 
-		# Nothing. Nada. Zilch. Zarro. Uh uh. Nope. Sorry.
 		files
+			# Nothing. Nada. Zilch. Zarro. Uh uh. Nope. Sorry.
 		end
 	end