%bcond_without tests # do not perform "make test"
%bcond_without threads # build without support for threads
%bcond_without gdbm # build without the GDBM_File module
+%bcond_without microperl # don't build microperl
#
# TODO:
-# - Think about unicore. If uf8*.pm, encode.pm, charnames.pm (and
-# probably others) are in the perl-base package, unicore should also
-# be there. But it's 5MB...
# - fix "FIXME"s, review "XXX"s
-# - fix perl.prov's handling in rpm -- it should use the __perl macro
# - add the {O,N}DBM_File modules
# - review the perldiag.pod issue
# - consider disabling ithreads by default
#
# TODO for perl-dependent packages:
# - change all "R/BR: perl" to one of perl-{base,modules,devel}
-# - use the requires_eq(perl-base) for all packages strictly depending
-# on the perl version used for building (files in perl_vendorarch
-# directories; dependency on libperl.so.* often doesn't exist)
-# (should this be done on Ra-branch, too?)
#
%define _abi 5.8.0
Summary(tr): Kabuk yorumlama dili
Summary(zh_CN): Perl ±à³ÌÓïÑÔ¡£
Name: perl
-Version: 5.8.3
-Release: 0.1%{!?with_threads:_nothr}
+Version: 5.8.4
+Release: 4%{!?with_threads:_nothr}
Epoch: 1
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
-Source0: http://www.cpan.org/src/%{name}-%{version}.tar.gz
-# Source0-md5: 6d2b389f8c6424b7af303f417947714f
+Source0: http://www.cpan.org/src/%{name}-%{version}.tar.bz2
+# Source0-md5: 3eb135afd0114f4e1acdd4ad6b8fd947
Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
# Source1-md5: de47d7893f49ad7f41ba69c78511c0db
Patch0: %{name}_581-noroot_install.patch
Patch4: %{name}_580-use-LD_PRELOAD-for-libperl.so.patch
Patch5: %{name}_581-soname.patch
Patch6: %{name}-test-noproc.patch
-#Patch8: %{name}_580-microperl_uconfig.patch
+Patch8: %{name}_584-microperl_uconfig.patch
URL: http://www.perl.com/
# required for proper Provides generation (older are not supported by spec)
BuildRequires: rpm-build >= 4.3-0.20040107.4
Provides: perl-File-Temp = 0.14
Provides: perl-IO = 1.21
Provides: perl-Safe = 2.10
-Provides: perl-Socket = 1.76
+Provides: perl-Socket = 1.77
Provides: perl-Tie-File = 0.97
Provides: perl(largefiles)
-# broken, unsupported module
+# broken, unsupported modules
Obsoletes: perl-SOAP
+Obsoletes: perl-Sort-PolySort
%description base
Base components, files, core modules, etc. -- a minimal usable perl
Summary(pl): Modu³y z podstawowej dystrybucji perla
Group: Libraries
Requires: %{name}-base = %{epoch}:%{version}
-Provides: perl-Attribute-Handlers = 0.78
-Provides: perl-CGI = 3.01
+Provides: perl-Attribute-Handlers = 0.78_01
+Provides: perl-CGI = 3.04
Provides: perl-Class-ISA = 0.32
-Provides: perl-Digest = 1.05
+Provides: perl-Digest = 1.06
Provides: perl-Digest-MD5 = 2.33
Provides: perl-Filter-Simple = 0.78
Provides: perl-FindBin = 1.44
Provides: perl-I18N-LangTags = 0.29
Provides: perl-IPC-SysV = 1.04
Provides: perl-Locale-Codes = 2.06
-Provides: perl-Locale-Maketext = 1.06
-Provides: perl-MIME-Base64 = 2.21
-Provides: perl-Math-BigInt = 1.68
-Provides: perl-Math-BigRat = 0.10
+Provides: perl-Locale-Maketext = 1.08
+Provides: perl-MIME-Base64 = 3.01
+Provides: perl-Math-BigInt = 1.70
+Provides: perl-Math-BigRat = 0.12
Provides: perl-Math-Trig = 1.02
Provides: perl-Memoize = 1.01
Provides: perl-NEXT = 0.60
Provides: perl-Pod-LaTeX = 0.55
Provides: perl-Pod-Parser = 1.14
Provides: perl-Scalar-List-Utils = 1.13
-Provides: perl-Storable = 2.09
-Provides: perl-Term-ANSIColor = 1.07
+Provides: perl-Storable = 2.12
+Provides: perl-Term-ANSIColor = 1.08
Provides: perl-Term-Cap = 1.08
Provides: perl-Test = 1.24
Provides: perl-Test-Harness = 2.40
Provides: perl-Text-Soundex = 1.01
# XXX: I'm not sure what to do with this one...
#Provides: perl-Text-Tabs+Wrap = 2001.09291
-Provides: perl-Time-HiRes = 1.52
+Provides: perl-Time-HiRes = 1.59
Provides: perl-UNIVERSAL = 1.01
Provides: perl-Unicode-Collate = 0.33
Provides: perl-Unicode-Normalize = 0.28
Provides: perl-libnet = 1.1.1
+Obsoletes: perl-Encode-compat
Obsoletes: perl-lib
%description modules
%package perldoc
Summary: perldoc - Look up Perl documentation in pod format
Summary(pl): perldoc - przeszukiwanie dokumentacji Perla w formacie pod
-Provides: perldoc = 3.11@%{version}
+Provides: perldoc = 3.12@%{version}
Requires: %{name}-modules
+Requires: %{name}-tools-pod
Group: Development/Tools
%description perldoc
%patch4 -p1
%patch5 -p1
%patch6 -p1
-#%patch8 -p1
+%patch8 -p1
%build
sh Configure \
-Dvendorman1=%{_mandir}/man1 -Dvendorman1ext=1p \
-Dvendorman3=%{_mandir}/man3 -Dvendorman3ext=3pm \
-Dsiteman1=%{_usr}/local/share/man/man1 -Dsiteman1ext=1p \
- -Dsiteman3=%{_usr}/local/share/man/man3p -Dsiteman3ext=3pm \
+ -Dsiteman3=%{_usr}/local/share/man/man3 -Dsiteman3ext=3pm \
-Dprefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dsiteprefix=%{_usr}/local \
-Dlibpth="%{_libdir} /%{_lib}" \
-Dprivlib=%{perl_privlib} -Darchlib=%{perl_archlib} \
LIBPERL_SONAME=libperl.so.%{_abi}
## microperl
+%if %{with microperl}
rm -f uconfig.h
+#chmod u+w uconfig.sh
+#echo "usemallocwrap='define'" >> uconfig.sh
%{__make} -f Makefile.micro \
archlib=%{perl_archlib} \
archlibexp=%{perl_archlib} \
bin=%{_bindir} \
scriptdir=%{_bindir} \
scriptdirexp=%{_bindir} \
+ usemallocwrap='define' \
OPTIMIZE="%{rpmcflags}"
+%endif
%{?with_tests:%{__make} test}
#%{?with_tests:%{__make} minitest}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install microperl $RPM_BUILD_ROOT%{_bindir}
+%{?with_microperl:install microperl $RPM_BUILD_ROOT%{_bindir}}
## use symlinks instead of hardlinks
-%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/perl
-%{__ln_s} -f sperl%{version} $RPM_BUILD_ROOT%{_bindir}/suidperl
-%{__ln_s} -f c2ph $RPM_BUILD_ROOT%{_bindir}/pstruct
-%{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p
+%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/perl
+%{__ln_s} -f perl%{version} $RPM_BUILD_ROOT%{_bindir}/suidperl
+%{__ln_s} -f c2ph $RPM_BUILD_ROOT%{_bindir}/pstruct
+%{__ln_s} -f psed $RPM_BUILD_ROOT%{_bindir}/s2p
## Fix lib
rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so
Lingua/{EN,Stem/Snowball} List Locale LockFile Log MIME Mail \
Math/{BigInt,Fractal} Modem Module Net/SMTP NetServer Netscape \
News Number Object OLE Parse Pod PostScript Proc RADIUS RPC \
- RPM Regexp SOAP/Transport SQL Schedule Set Sort Speech \
+ RPM RTF Regexp SOAP/Transport SQL Schedule Set Sort Speech \
Spreadsheet Statistics String Sub Sys Template TeX Test \
Text/Query Tie Time Tree UNIVERSAL Unicode WWW \
XML/{Filter,Handler,Parser,XPath} \
%defattr(644,root,root,755)
%doc README AUTHORS
-
%files base
%defattr(644,root,root,755)
%doc doc-base/*
%{perl_archlib}/auto/Digest/MD5/*.bs
%{_mandir}/man3/Digest*
+# FIXME: Changes file
+%{perl_privlib}/DBM_Filter*
+%{_mandir}/man3/DBM_Filter*
+
# FIXME: *.h to devel(?), check out the use for *.e2x files
%{perl_privlib}/Encode
%{perl_archlib}/Encode*
%files -n sperl
%defattr(644,root,root,755)
%attr(4755,root,root) %{_bindir}/sperl%{version}
-%attr(4755,root,root) %{_bindir}/suidperl
+%attr(755,root,root) %{_bindir}/suidperl
%files tools
%defattr(644,root,root,755)
%{_mandir}/man1/cpan.*
%attr(755,root,root) %{_bindir}/find2perl
%{_mandir}/man1/find2perl.*
+%attr(755,root,root) %{_bindir}/instmodsh
%attr(755,root,root) %{_bindir}/libnetcfg
%{_mandir}/man1/libnetcfg.*
%attr(755,root,root) %{_bindir}/piconv
%attr(755,root,root) %{_bindir}/pod*
%{_mandir}/man1/pod*
+%if %{with microperl}
%files -n microperl
%defattr(644,root,root,755)
%doc README.micro Todo.micro
%attr(755,root,root) %{_bindir}/microperl
+%endif