%bcond_without microperl # build microperl (needs fixing)
#
# TODO:
+# - Perl 5.10.0 is out http://www.nntp.perl.org/group/perl.perl5.porters/2007/12/msg131636.html
# - fix "FIXME"s, review "XXX"s
# - add the {O,N}DBM_File modules
# - review the perldiag.pod issue
# - change all "R/BR: perl" to one of perl-{base,modules,devel}
#
-%define _abi 5.8.0
+%define _abi 5.10.0
%define perlthread %{?with_threads:-thread-multi}
%define perl_vendorlib %{_datadir}/perl5/vendor_perl
%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{_abi}/%{_target_platform}%{perlthread}
-%define _rel 11
+%define _rel 0.1
Summary: Practical Extraction and Report Language (Perl)
Summary(cs.UTF-8): Programovací jazyk Perl
Summary(da.UTF-8): Programmeringssproget Perl
Summary(tr.UTF-8): Kabuk yorumlama dili
Summary(zh_CN.UTF-8): Perl 编程语言。
Name: perl
-Version: 5.8.8
+Version: 5.10.0
Release: %{_rel}%{!?with_threads:_nothr}
Epoch: 1
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
-Source0: http://www.cpan.org/src/%{name}-%{version}.tar.bz2
-# Source0-md5: a377c0c67ab43fd96eeec29ce19e8382
+Source0: http://www.cpan.org/src/%{name}-%{version}.tar.gz
+# Source0-md5: d2c39b002ebfd2c3c5dba589365c5a71
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: de47d7893f49ad7f41ba69c78511c0db
Source2: %{name}.prov
Patch8: %{name}_588-27368.patch
Patch9: %{name}-getgrent.patch
Patch10: %{name}-5.8.7-172396.patch
-Patch11: %{name}-5.8.7-CAN-2004-0976.patch
Patch12: %{name}_588-27203.patch
Patch13: %{name}-write-permissions.patch
-Patch14: %{name}-makedepend.patch
Patch15: %{name}-timer-test.patch
+Patch16: %{name}-regexp-CVE-2007-5116.patch
URL: http://dev.perl.org/perl5/
%ifarch ppc
# gcc 3.3.x miscompiles pp_hot.c
%patch1 -p1
%patch3 -p1
%patch4 -p1
-%patch5 -p1
+#%patch5 -p1
%patch6 -p1
%patch7 -p1
-%patch8 -p0
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p0
+# obsolete?
+#%patch8 -p0
+# wtf?
+#%patch9 -p1
+# ?
+#%patch10 -p1
+# ?
+#%patch12 -p0
%patch13 -p1
-%patch14 -p1
%patch15 -p1
+# ? probably obsolete
+#%patch16 -p1
%build
unset LD_SYMBOLIC_FUNCTIONS || :
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
+# LD_PRELOAD in runperl fails so we use this as workaround
+LD_LIBRARY_PATH=$(pwd); export LD_LIBRARY_PATH
+
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
%{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}}
doc-devel/ExtUtils \
doc-modules/{Attribute/Handlers,Filter/Simple,I18N/LangTags,Locale/{Codes,Maketext},Memoize,NEXT,Net/Ping,Term/ANSIColor,Test/Simple,Text/{Balanced,TabsWrap},Unicode/Collate,unicore}
-mv -f $RPM_BUILD_ROOT%{perl_privlib}/ExtUtils/{NOTES,PATCHING} \
- doc-devel/ExtUtils
-
# needed only for tests
rm -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt
mv -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/ReadMe.txt \
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlko.* $RPM_BUILD_ROOT%{_mandir}/ko/man1
mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perltw.* $RPM_BUILD_ROOT%{_mandir}/zh_TW/man1
-## examples and demos
-install -d $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}
-mv $RPM_BUILD_ROOT%{perl_privlib}/CGI/eg \
- $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/CGI
-
-# XXX: bug bug bug...
-mv $RPM_BUILD_ROOT%{perl_privlib}/auto/POSIX/SigAction \
- $RPM_BUILD_ROOT%{perl_archlib}/auto/POSIX
-
sed -i -e 's#^\(ld.*=.*\)-Wl,--as-needed\(.*\)#\1 \2#g' $RPM_BUILD_ROOT%{perl_archlib}/Config*.pl
%clean
%dir %{_libdir}/perl5/%{version}
%dir %{perl_archlib}
%dir %{perl_archlib}/CORE
-%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{_abi}
+#%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{_abi}
%files base
%defattr(644,root,root,755)
%{perl_archlib}/Cwd.*
%dir %{perl_archlib}/auto/Cwd
%attr(755,root,root) %{perl_archlib}/auto/Cwd/*.so
-%{perl_archlib}/auto/Cwd/*.bs
+#%{perl_archlib}/auto/Cwd/*.bs
%{_mandir}/man3/Cwd.*
%{perl_archlib}/Fcntl.*
%dir %{perl_archlib}/auto/Fcntl
%attr(755,root,root) %{perl_archlib}/auto/Fcntl/*.so
-%{perl_archlib}/auto/Fcntl/*.bs
+#%{perl_archlib}/auto/Fcntl/*.bs
%{_mandir}/man3/Fcntl.*
%{perl_privlib}/File*
%dir %{perl_archlib}/auto/File
%dir %{perl_archlib}/auto/File/*/
%attr(755,root,root) %{perl_archlib}/auto/File/*/*.so
-%{perl_archlib}/auto/File/*/*.bs
+#%{perl_archlib}/auto/File/*/*.bs
%{_mandir}/man3/File*
%{perl_privlib}/IO
%{perl_archlib}/IO*
%dir %{perl_archlib}/auto/IO
%attr(755,root,root) %{perl_archlib}/auto/IO/*.so
-%{perl_archlib}/auto/IO/*.bs
+#%{perl_archlib}/auto/IO/*.bs
%{_mandir}/man3/IO*
%{perl_archlib}/Opcode.*
%dir %{perl_archlib}/auto/Opcode
%attr(755,root,root) %{perl_archlib}/auto/Opcode/*.so
-%{perl_archlib}/auto/Opcode/*.bs
+#%{perl_archlib}/auto/Opcode/*.bs
%{_mandir}/man3/Opcode.*
%{perl_privlib}/PerlIO.*
%dir %{perl_archlib}/auto/PerlIO
%dir %{perl_archlib}/auto/PerlIO/*/
%attr(755,root,root) %{perl_archlib}/auto/PerlIO/*/*.so
-%{perl_archlib}/auto/PerlIO/*/*.bs
+#%{perl_archlib}/auto/PerlIO/*/*.bs
%{_mandir}/man3/PerlIO.*
%{_mandir}/man3/PerlIO::[es]*
%{_mandir}/man3/PerlIO::via.*
%dir %{perl_archlib}/auto/POSIX
%attr(755,root,root) %{perl_archlib}/auto/POSIX/*.so
%{perl_archlib}/auto/POSIX/*.al
-%{perl_archlib}/auto/POSIX/*.bs
+#%{perl_archlib}/auto/POSIX/*.bs
%{perl_archlib}/auto/POSIX/*.ix
%{perl_archlib}/auto/POSIX/SigAction
%{_mandir}/man3/POSIX.*
%{perl_archlib}/Socket.*
%dir %{perl_archlib}/auto/Socket
%attr(755,root,root) %{perl_archlib}/auto/Socket/*.so
-%{perl_archlib}/auto/Socket/*.bs
+#%{perl_archlib}/auto/Socket/*.bs
%{_mandir}/man3/Socket.*
%{perl_archlib}/GDBM_File.*
%dir %{perl_archlib}/auto/GDBM_File
%attr(755,root,root) %{perl_archlib}/auto/GDBM_File/*.so
-%{perl_archlib}/auto/GDBM_File/*.bs
+#%{perl_archlib}/auto/GDBM_File/*.bs
%{_mandir}/man3/GDBM_File.*
%endif
%doc doc-devel/*
%attr(755,root,root) %{_libdir}/libperl.so
%{perl_archlib}/CORE/*.h
-%{perl_archlib}/CORE/reentr.inc
+#%{perl_archlib}/CORE/reentr.inc
# FIXME: Changes file to _docdir (and rm MANIFEST.SKIP?)
%{perl_privlib}/ExtUtils
%{perl_archlib}/O.*
%{_mandir}/man3/O.*
-%{perl_privlib}/B
+#%{perl_privlib}/B
%{perl_archlib}/B
%{perl_archlib}/B.pm
-%dir %{perl_archlib}/auto/B
-%dir %{perl_archlib}/auto/B/C
-%attr(755,root,root) %{perl_archlib}/auto/B/*.so
-%attr(755,root,root) %{perl_archlib}/auto/B/C/*.so
-%{perl_archlib}/auto/B/*.bs
-%{perl_archlib}/auto/B/C/*.bs
+#%dir %{perl_archlib}/auto/B
+#%dir %{perl_archlib}/auto/B/C
+#%attr(755,root,root) %{perl_archlib}/auto/B/*.so
+#%attr(755,root,root) %{perl_archlib}/auto/B/C/*.so
+#%{perl_archlib}/auto/B/*.bs
+#%{perl_archlib}/auto/B/C/*.bs
%{_mandir}/man3/B[.:]*
-%{perl_archlib}/ByteLoader.*
-%dir %{perl_archlib}/auto/ByteLoader
-%attr(755,root,root) %{perl_archlib}/auto/ByteLoader/*.so
-%{perl_archlib}/auto/ByteLoader/*.bs
-%{_mandir}/man3/ByteLoader.*
+#%{perl_archlib}/ByteLoader.*
+#%dir %{perl_archlib}/auto/ByteLoader
+#%attr(755,root,root) %{perl_archlib}/auto/ByteLoader/*.so
+#%{perl_archlib}/auto/ByteLoader/*.bs
+#%{_mandir}/man3/ByteLoader.*
%{perl_privlib}/Devel
%{perl_archlib}/Devel
%dir %{perl_archlib}/auto/Devel
%dir %{perl_archlib}/auto/Devel/*/
%attr(755,root,root) %{perl_archlib}/auto/Devel/*/*.so
-%{perl_archlib}/auto/Devel/*/*.bs
+#%{perl_archlib}/auto/Devel/*/*.bs
%{_mandir}/man3/Devel::*
-%{perl_archlib}/XS
-%dir %{perl_archlib}/auto/XS
-%dir %{perl_archlib}/auto/XS/*/
-%attr(755,root,root) %{perl_archlib}/auto/XS/*/*.so
-%{perl_archlib}/auto/XS/*/*.bs
-%{_mandir}/man3/XS::*
+#%{perl_archlib}/XS
+#%dir %{perl_archlib}/auto/XS
+#%dir %{perl_archlib}/auto/XS/*/
+#%attr(755,root,root) %{perl_archlib}/auto/XS/*/*.so
+#%{perl_archlib}/auto/XS/*/*.bs
+#%{_mandir}/man3/XS::*
%files doc-pod
%files modules
%defattr(644,root,root,755)
%doc doc-modules/*
-%{_examplesdir}/%{name}-modules-%{version}
%{perl_privlib}/unicore
%{perl_archlib}/attrs.pm
%dir %{perl_archlib}/auto/attrs
-%{perl_archlib}/auto/attrs/*.bs
+#%{perl_archlib}/auto/attrs/*.bs
%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so
%{_mandir}/man3/attrs.*
%{perl_archlib}/re.pm
%dir %{perl_archlib}/auto/re
-%{perl_archlib}/auto/re/*.bs
+#%{perl_archlib}/auto/re/*.bs
%attr(755,root,root) %{perl_archlib}/auto/re/*.so
%{_mandir}/man3/re.*
%{perl_archlib}/encoding.pm
%{perl_archlib}/threads*
%dir %{perl_archlib}/auto/threads
%dir %{perl_archlib}/auto/threads/shared
-%{perl_archlib}/auto/threads/*.bs
-%{perl_archlib}/auto/threads/shared/*.bs
+#%{perl_archlib}/auto/threads/*.bs
+#%{perl_archlib}/auto/threads/shared/*.bs
%attr(755,root,root) %{perl_archlib}/auto/threads/*.so
%attr(755,root,root) %{perl_archlib}/auto/threads/shared/*.so
%{_mandir}/man3/t*
%dir %{perl_archlib}/auto/Data
%dir %{perl_archlib}/auto/Data/Dumper
%attr(755,root,root) %{perl_archlib}/auto/Data/Dumper/*.so
-%{perl_archlib}/auto/Data/Dumper/*.bs
+#%{perl_archlib}/auto/Data/Dumper/*.bs
%{_mandir}/man3/Data*
%{perl_privlib}/Digest.pm
%dir %{perl_archlib}/auto/Digest
%dir %{perl_archlib}/auto/Digest/MD5
%attr(755,root,root) %{perl_archlib}/auto/Digest/MD5/*.so
-%{perl_archlib}/auto/Digest/MD5/*.bs
+#%{perl_archlib}/auto/Digest/MD5/*.bs
%{_mandir}/man3/Digest*
# FIXME: Changes file
%dir %{perl_archlib}/auto/Encode
%dir %{perl_archlib}/auto/Encode/*/
%attr(755,root,root) %{perl_archlib}/auto/Encode/*/*.so
-%{perl_archlib}/auto/Encode/*/*.bs
+#%{perl_archlib}/auto/Encode/*/*.bs
%{_mandir}/man3/Encode*
# FIXME: README and Changes files
%dir %{perl_archlib}/auto/Filter/Util
%dir %{perl_archlib}/auto/Filter/Util/Call
%attr(755,root,root) %{perl_archlib}/auto/Filter/Util/Call/*.so
-%{perl_archlib}/auto/Filter/Util/Call/*.bs
+#%{perl_archlib}/auto/Filter/Util/Call/*.bs
%{_mandir}/man3/Filter*
%{perl_privlib}/I18N
%dir %{perl_archlib}/auto/I18N
%dir %{perl_archlib}/auto/I18N/*/
%attr(755,root,root) %{perl_archlib}/auto/I18N/*/*.so
-%{perl_archlib}/auto/I18N/*/*.bs
+#%{perl_archlib}/auto/I18N/*/*.bs
%{perl_archlib}/auto/I18N/*/*.ix
%{_mandir}/man3/I18N::*
%dir %{perl_archlib}/auto/IPC
%dir %{perl_archlib}/auto/IPC/*/
%attr(755,root,root) %{perl_archlib}/auto/IPC/*/*.so
-%{perl_archlib}/auto/IPC/*/*.bs
+#%{perl_archlib}/auto/IPC/*/*.bs
%{_mandir}/man3/IPC::[MS]*
%{perl_archlib}/List
%dir %{perl_archlib}/auto/List
%dir %{perl_archlib}/auto/List/*/
%attr(755,root,root) %{perl_archlib}/auto/List/*/*.so
-%{perl_archlib}/auto/List/*/*.bs
+#%{perl_archlib}/auto/List/*/*.bs
%{_mandir}/man3/List::*
%{perl_archlib}/MIME
%dir %{perl_archlib}/auto/MIME
%dir %{perl_archlib}/auto/MIME/Base64
%attr(755,root,root) %{perl_archlib}/auto/MIME/Base64/*.so
-%{perl_archlib}/auto/MIME/Base64/*.bs
+#%{perl_archlib}/auto/MIME/Base64/*.bs
%{_mandir}/man3/MIME::*
%{perl_archlib}/SDBM_File.*
%dir %{perl_archlib}/auto/SDBM_File
%attr(755,root,root) %{perl_archlib}/auto/SDBM_File/*.so
-%{perl_archlib}/auto/SDBM_File/*.bs
+#%{perl_archlib}/auto/SDBM_File/*.bs
%{_mandir}/man3/SDBM_File.*
%{perl_archlib}/Storable.*
%dir %{perl_archlib}/auto/Storable
%attr(755,root,root) %{perl_archlib}/auto/Storable/*.so
%{perl_archlib}/auto/Storable/*.al
-%{perl_archlib}/auto/Storable/*.bs
+#%{perl_archlib}/auto/Storable/*.bs
%{perl_archlib}/auto/Storable/*.ix
%{_mandir}/man3/Storable.*
%dir %{perl_archlib}/auto/Sys
%dir %{perl_archlib}/auto/Sys/*/
%attr(755,root,root) %{perl_archlib}/auto/Sys/*/*.so
-%{perl_archlib}/auto/Sys/*/*.bs
+#%{perl_archlib}/auto/Sys/*/*.bs
%{perl_archlib}/auto/Sys/*/*.ix
%{_mandir}/man3/Sys::*
%dir %{perl_archlib}/auto/Time
%dir %{perl_archlib}/auto/Time/HiRes
%attr(755,root,root) %{perl_archlib}/auto/Time/HiRes/*.so
-%{perl_archlib}/auto/Time/HiRes/*.bs
+#%{perl_archlib}/auto/Time/HiRes/*.bs
%{_mandir}/man3/Time::HiRes*
%dir %{perl_privlib}/Unicode
%dir %{perl_archlib}/auto/Unicode
%dir %{perl_archlib}/auto/Unicode/*
%attr(755,root,root) %{perl_archlib}/auto/Unicode/*/*.so
-%{perl_archlib}/auto/Unicode/*/*.bs
+#%{perl_archlib}/auto/Unicode/*/*.bs
%{_mandir}/man3/Unicode::*
%{perl_privlib}/AnyDBM*
%{_mandir}/man3/Fatal.*
%{perl_privlib}/FindBin.*
%{_mandir}/man3/FindBin.*
-%{perl_privlib}/Hash
+#%{perl_privlib}/Hash
%{_mandir}/man3/Hash::*
# FIXME: README and Changes files
%{perl_privlib}/Locale
%{_mandir}/man3/PerlIO::via::*
%{perl_privlib}/Pod
%{_mandir}/man3/Pod::*
-%{perl_privlib}/Scalar
+#%{perl_privlib}/Scalar
%{_mandir}/man3/Scalar::*
%{perl_privlib}/Search
%{_mandir}/man3/Search::*
%{_mandir}/man1/h2ph.*
%attr(755,root,root) %{_bindir}/h2xs
%{_mandir}/man1/h2xs.*
-%attr(755,root,root) %{_bindir}/perlcc
-%{_mandir}/man1/perlcc.*
+#%attr(755,root,root) %{_bindir}/perlcc
+#%{_mandir}/man1/perlcc.*
%attr(755,root,root) %{_bindir}/perlivp
%{_mandir}/man1/perlivp.*
%attr(755,root,root) %{_bindir}/pl2pm