# - change all "R/BR: perl" to one of perl-{base,modules,devel}
#
# NOTE
-# - modules in 5.18.0: http://search.cpan.org/~rjbs/perl-5.18.0/
+# - modules in 5.20.0: http://search.cpan.org/~rjbs/perl-5.20.0/
-%define abi 5.18.0
+%define abi 5.20.0
%define perlthread %{?with_threads:-thread-multi}
%define perl_privlib %{_datadir}/perl5/%{ver}
%define perl_mod2verrel() %([ -f %{SOURCE4} ] && awk -vp=%1 -vr=%2 '$1 == p { print $4"-"r }' %{SOURCE4} || echo ERROR)
%define perl_mod2version() %([ -f %{SOURCE4} ] && awk -vp=%1 '$1 == p { m=$2; printf("perl-%s = %s\\n", p, $4)}END{if (!m) printf("# Error looking up [%s]\\n", p) }' %{SOURCE4} || echo ERROR)
-%define ver 5.18.0
-%define rel 11
+%define ver 5.20.0
+%define rel 0.1
Summary: Practical Extraction and Report Language (Perl)
Summary(cs.UTF-8): Programovací jazyk Perl
Summary(da.UTF-8): Programmeringssproget Perl
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
Source0: http://www.cpan.org/src/5.0/%{name}-%{ver}.tar.gz
-# Source0-md5: 197ce31e84936bc0a83b03b2ee714cff
+# Source0-md5: 406ec049ebe3afcc80d9c76ec78ca4f8
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: de47d7893f49ad7f41ba69c78511c0db
Source2: %{name}.prov
Patch5: %{name}_585-microperl_uconfig.patch
Patch6: %{name}-write-permissions.patch
Patch7: %{name}-t-syslog.patch
-Patch8: %{name}-fix-pointer-arithmetic.patch
+
Patch9: %{name}-switch.patch
Patch10: %{name}-invalid-void-use.patch
URL: http://dev.perl.org/perl5/
Provides: %perl_modversion Module::Load
Provides: %perl_modversion Module::Load::Conditional
Provides: %perl_modversion Module::Metadata
-Provides: %perl_modversion Module::Pluggable
Provides: %perl_modversion NEXT
Provides: %perl_modversion Package::Constants
Provides: %perl_modversion Params::Check
Provides: %perl_modversion Parse::CPAN::Meta
Provides: %perl_modversion Perl::OSType
Provides: %perl_modversion Pod::Escapes
-Provides: %perl_modversion Pod::LaTeX
Provides: %perl_modversion Pod::Parser
Provides: %perl_modversion Pod::Simple
Provides: %perl_modversion Safe
Provides: %perl_modversion Test::Simple
Provides: %perl_modversion Text::Balanced
Provides: %perl_modversion Text::ParseWords
-Provides: %perl_modversion Text::Soundex
Provides: %perl_modversion Time::HiRes
Provides: %perl_modversion Time::Piece
Provides: %perl_modversion UNIVERSAL
Obsoletes: perl-Module-Load < %perl_modverrel Module::Load 99
Obsoletes: perl-Module-Load-Conditional < %perl_modverrel Module::Load::Conditional 99
Obsoletes: perl-Module-Metadata < %perl_modverrel Module::Metadata 99
-Obsoletes: perl-Module-Pluggable < %perl_modverrel Module::Pluggable 99
Obsoletes: perl-NEXT < %perl_modverrel NEXT 99
Obsoletes: perl-Package-Constants < %perl_modverrel Package::Constants 99
Obsoletes: perl-Params::Check < %perl_modverrel Params::Check 99
Obsoletes: perl-Parse-CPAN-Meta < %perl_modverrel Parse::CPAN::Meta 99
Obsoletes: perl-Perl-OSType < %perl_modverrel Perl::OSType 99
Obsoletes: perl-Pod-Escapes < %perl_modverrel Pod::Escapes 99
-Obsoletes: perl-Pod-LaTeX < %perl_modverrel Pod::LaTeX 99
Obsoletes: perl-Pod-Parser < %perl_modverrel Pod::Parser 99
Obsoletes: perl-Pod-Simple < %perl_modverrel Pod::Simple 99
Obsoletes: perl-Safe < %perl_modverrel Safe 99
Obsoletes: perl-Test-Simple < %perl_modverrel Test::Simple 99
Obsoletes: perl-Text-Balanced < %perl_modverrel Text::Balanced 99
Obsoletes: perl-Text-ParseWords < %perl_modverrel Text::ParseWords 99
-Obsoletes: perl-Text-Soundex < %perl_modverrel Text::Soundex 99
Obsoletes: perl-Time-HiRes < %perl_modverrel Time::HiRes 99
Obsoletes: perl-Time-Piece < %perl_modverrel Time::Piece 99
Obsoletes: perl-UNIVERSAL < %perl_modverrel UNIVERSAL 99
Summary(pl.UTF-8): Narzędzia do przetwarzania plików w formacie POD
Group: Applications
Requires: %{name}-modules = %{epoch}:%{ver}-%{release}
+Requires: perl-Encode >= 2:2.49-%{ver}.%{rel}
%description tools-pod
Tools for manipulating files in the POD (Plain Old Documentation)
Summary: Encode - character encodings
Summary(pl.UTF-8): Encode - kodowania znaków
Version: %perl_modver Encode
+Release: %{ver}.%{rel}
+Epoch: 2
Group: Libraries
-Requires: %{name}-base = %{epoch}:%{ver}-%{release}
+Requires: %{name}-base = 1:%{ver}-%{rel}
Obsoletes: perl-Encode-compat
%description Encode
%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p1
+
%patch9 -p1
%patch10 -p1
cd "$owd"
## remove man pages for other operating systems
-%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,bs2000,ce,cygwin,dgux,dos}* \
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,bs2000,ce,cygwin,dos}* \
$RPM_BUILD_ROOT%{_mandir}/man1/perl{freebsd,hpux,macos,os2,os390}* \
$RPM_BUILD_ROOT%{_mandir}/man1/perl{qnx,solaris,vms,vos,win32}*
for m in $(awk '!/^#/ && !/^$/{print $1}' %{SOURCE3}); do
case $m in
libnet)
- v=$(awk '/^libnet /{print $2; exit}' cpan/libnet/Changes)
+ v=$(awk '/VERSION/ {print $3; exit}' cpan/libnet/Makefile.PL | tr -d \',)
+ ;;
+ # special cased since do eval on VERSION
+ ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib)
+ v=$(%{__perl} -M$m -e "print version->parse(\$$m::VERSION)->numify")
;;
*)
- v=$(%{__perl} -M$m -e "print $m->VERSION" )
+ v=$(%{__perl} -M$m -e "print \$$m::VERSION")
;;
esac
echo "$m = $v"
for m in $(awk '!/^#/ && !/^$/{print $1"!"$2}' %{SOURCE4}); do
mn="${m##*!}"
mp="${m%%!*}"
- v=$(%{__perl} -M$mn -e "print $mn->VERSION" )
+ case $m in
+ # special cased since do eval on VERSION
+ ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib)
+ v=$(%{__perl} -M$mn -e "print version->parse(\$$mn::VERSION)->numify")
+ ;;
+ *)
+ v=$(%{__perl} -M$mn -e "print \$$mn::VERSION")
+ ;;
+ esac
echo "$mp $mn = $v"
done | LC_ALL=C sort >> perl-modules2
-# ExtUtils::CBuilder Compress::Raw::Bzip2 Compress::Raw::Zlib ignored due to VERSION from the loop above
-# is missing ending '0'
-grep -Ev '^([ ]*$|[;#])' %{SOURCE3} | grep -Ev 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods1
-grep -Ev '^([ ]*$|[;#])' perl-modules | grep -Ev 'ExtUtils::CBuilder|Compress::Raw::Bzip2|Compress::Raw::Zlib' > .mods2
-if ! cmp -s .mods1 .mods2; then
+if ! cmp -s %{SOURCE3} perl-modules; then
: %{SOURCE3} outdated with $(pwd)/perl-modules
exit 1
fi
fi
# remove empty .bs files
-find $RPM_BUILD_ROOT -name \*.bs -size 0 -print0 | xargs -0 %{__rm}
+#find $RPM_BUILD_ROOT -name \*.bs -size 0 -print0 | xargs -0 %{__rm}
%clean
rm -rf $RPM_BUILD_ROOT
%{_mandir}/man3/constant.*
%{perl_privlib}/diagnostics.pm
%{_mandir}/man3/diagnostics.*
+%{perl_privlib}/experimental.pm
+%{_mandir}/man3/experimental.*
%{perl_privlib}/feature.pm
%{_mandir}/man3/feature.*
%{perl_privlib}/fields.pm
%{perl_privlib}/utf8.pm
%{_mandir}/man3/utf8.*
%{perl_privlib}/version.pm
+%dir %{perl_privlib}/version
+%{perl_privlib}/version/regex.pm
+%{perl_privlib}/version/vpp.pm
%{_mandir}/man3/version*
%{perl_archlib}/attributes.pm
%dir %{perl_archlib}/auto/Compress/Raw
%dir %{perl_archlib}/auto/Compress/Raw/*/
%attr(755,root,root) %{perl_archlib}/auto/Compress/Raw/*/*.so
-%{perl_archlib}/auto/Compress/Raw/*/*.ix
%{_mandir}/man3/Compress*
%{perl_archlib}/Data
%attr(755,root,root) %{perl_archlib}/auto/Sys/*/*.so
%{_mandir}/man3/Sys::*
-%{perl_archlib}/Text
-%dir %{perl_archlib}/auto/Text
-%dir %{perl_archlib}/auto/Text/Soundex
-%attr(755,root,root) %{perl_archlib}/auto/Text/Soundex/*.so
-#%{_mandir}/man3/Text::Soundex* # listed later
-
%{perl_privlib}/Time
%{perl_archlib}/Time
%dir %{perl_archlib}/auto/Time
%{_mandir}/man3/FindBin.*
%{perl_privlib}/JSON
%{_mandir}/man3/JSON*
-%{perl_privlib}/Log
-%{_mandir}/man3/Log::*
%{perl_privlib}/Locale
%{_mandir}/man3/Locale::*
%{perl_privlib}/Memoize*
%{perl_privlib}/Net/*.pm
%{perl_privlib}/Net/FTP
%{_mandir}/man3/Net::*
-%{perl_privlib}/Object
-%{_mandir}/man3/Object::*
%{perl_privlib}/Package
%{_mandir}/man3/Package::*
%{perl_privlib}/Params