#
# Conditional build:
-# _without_tests - do not perform "make test"
-# _without_threads - build without support for threads
-# _without_largefiles - build without large file support
+%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, charnamess.pm (and
-# probably others) are in the perl-base package, unicore should also
-# be there. But it's 5MB...
-# - Think about the package separation. Split between perl, perl-base
-# and perl-modules is far from obvius.
-# - find out why *.so and *.bs files for some pragmas are ,,listed twice''
-# - merge some fixes from 5.6.1 on HEAD
# - fix "FIXME"s, review "XXX"s
-# - fix perl.prov's handling in rpm -- it should use the __perl macro
-# - include gdbm-dependent modules, they aren't distributed standalone
-# anymore
-# - *TESTING*
+# - add the {O,N}DBM_File modules
+# - review the perldiag.pod issue
+# - consider disabling ithreads by default
+# - consider introducing perl-dirs
+# - what about "prove" (binary+manual)? (conflicts with standalone Test-Harness)
#
+# TODO for perl-dependent packages:
+# - change all "R/BR: perl" to one of perl-{base,modules,devel}
+#
+
+%define _abi 5.8.0
-%define __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides.sh
-%define perlthread %{?!_without_threads:-thread-multi}
+%define perlthread %{?with_threads:-thread-multi}
%define perl_privlib %{_datadir}/perl5/%{version}
%define perl_archlib %{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
%define perl_sitelib %{_usr}/local/share/perl5
-%define perl_sitearch %{_usr}/local/lib/perl5/%{version}/%{_target_platform}%{perlthread}
+%define perl_sitearch %{_usr}/local/lib/perl5/%{_abi}/%{_target_platform}%{perlthread}
%define perl_vendorlib %{_datadir}/perl5/vendor_perl
-%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{version}/%{_target_platform}%{perlthread}
+%define perl_vendorarch %{_libdir}/perl5/vendor_perl/%{_abi}/%{_target_platform}%{perlthread}
Summary: Practical Extraction and Report Language (Perl)
Summary(cs): Programovací jazyk Perl
Summary(it): Perl: linguaggio di programmazione
Summary(ja): Perl ¥×¥í¥°¥é¥ß¥ó¥°¸À¸ì
Summary(ko): ÆÞ ÇÁ·Î±×·¡¹Ö ¾ð¾î
-Summary(no): Programmeringsspråket Perl
+Summary(nb): Programmeringsspråket Perl
Summary(pl): Interpreter jêzyka Perl (Practical Extraction and Report Language)
Summary(pt): A linguagem de programação Perl
Summary(pt_BR): Linguagem prática de extração e relatório
Summary(tr): Kabuk yorumlama dili
Summary(zh_CN): Perl ±à³ÌÓïÑÔ¡£
Name: perl
-Version: 5.8.0
-Release: 0.20%{?_without_threads:_nothr}%{?_without_largefiles:_nolfs}
+Version: 5.8.4
+Release: 9%{!?with_threads:_nothr}
Epoch: 1
License: GPL v1+ or Artistic
Group: Development/Languages/Perl
-Source0: ftp://ftp.cpan.org/pub/CPAN/src/%{name}-%{version}.tar.gz
-Source1: %{name}-non-english-man-pages.tar.bz2
-Source2: %{name}.prov
-Source3: find-perl-provides.sh
-Patch0: %{name}_580-noroot_install.patch
-Patch2: %{name}_580-MakeMaker.patch
-# failed
-#Patch5: %{name}-syslog.patch
-# failed
-#Patch6: %{name}-CGI-upload-tmpdir.patch
-# what is this f* one for?!
-#Patch7: %{name}-LD_RUN_PATH.patch
-Patch8: %{name}_580-errno_h-parsing.patch
-Patch9: %{name}_580-use-LD_PRELOAD-for-libperl.so.patch
-# *weird*
-#Patch10: %{name}-sitearch.patch
-Patch11: %{name}_580-soname.patch
-# failed; is it still necessary?
-#Patch13: %{name}-gcc3.patch
-Patch14: %{name}_580-perluniintro.patch
-Patch15: %{name}_580-Safe.patch
+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
+Patch1: %{name}_581-INC.patch
+Patch3: %{name}_580-errno_h-parsing.patch
+Patch4: %{name}_580-use-LD_PRELOAD-for-libperl.so.patch
+Patch5: %{name}_581-soname.patch
+Patch6: %{name}-test-noproc.patch
+Patch7: %{name}_584-microperl_uconfig.patch
URL: http://www.perl.com/
-%{?!_without_largefiles:Provides: perl(largefiles)}
-Requires: %{name}-base = %{version}
-Requires: %{name}-modules = %{version}
+# required for proper Provides generation (older are not supported by spec)
+BuildRequires: rpm-build >= 4.3-0.20040107.4
+BuildRequires: rpm-perlprov
+%{?with_gdbm:BuildRequires: gdbm-devel}
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
+Requires: %{name}-doc-reference = %{epoch}:%{version}-%{release}
Requires: perldoc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define __perl %{_builddir}/%{name}-%{version}/runperl
+%define __perl_provides %{__perl} /usr/lib/rpm/perl.prov
+
+# gcc 3.3.x miscompiles pp_hot.c
+# (in PUSHSUB in entersub two SvREFCNT_inc()s are working as one)
+# -fno-strict-aliasing is already used to build perl and doesn't help
+%define specflags_ppc -O1
+
%description
Perl is an interpreted language optimized for scanning arbitrary text
files, extracting information from those text files, and printing
são escritos em Perl. Você precisa do pacote perl instalado no seu
sistema de maneira a que este possa tratar de 'scripts' de Perl.
-%description -l no
-
%description -l pt_BR
Perl é uma linguagem interpretada, otimizada para tratar arquivos
texto, extraindo informação desses arquivos e mostrando relatórios
%package base
Summary: Base perl components for a minimal installation
Summary(pl): Podstawowe sk³adniki potrzebne do minimalnej instalacji perla
-Group: Text/Applications
+Group: Development/Languages/Perl
Provides: perl-File-Compare = 1.1003
-Provides: perl-File-Spec = 0.83
-Provides: perl-File-Temp = 0.13
-Provides: perl-Safe = 2.09
+Provides: perl-File-Spec = 0.87
+Provides: perl-File-Temp = 0.14
+Provides: perl-IO = 1.21
+Provides: perl-Safe = 2.10
+Provides: perl-Socket = 1.77
+Provides: perl-Tie-File = 0.97
+Provides: perl(largefiles)
+# broken, unsupported modules
+Obsoletes: perl-SOAP
+Obsoletes: perl-Sort-PolySort
+# for older modules, now included
+#Obsoletes: perl-File-Compare <= 1.1003
+#Obsoletes: perl-File-Spec <= 0.87
+#Obsoletes: perl-File-Temp <= 0.14
+#Obsoletes: perl-IO <= 1.21
+#Obsoletes: perl-Safe <= 2.10
+#Obsoletes: perl-Socket <= 1.77
+#Obsoletes: perl-Tie-File <= 0.97
%description base
Base components, files, core modules, etc. -- a minimal usable perl
installation. You are encouraged to install a full perl (the perl
package) whenever possible.
+%description base -l pl
+Podstawowe sk³adniki, pliki, g³ówne modu³y itp. - minimalna instalacja
+perla, nadaj±ca siê do u¿ytku. Zaleca siê instalacjê pe³nego perla
+(pakietu perl), je¶li to tylko mo¿liwe.
+
+%package GDBM_File
+Summary: GDBM_File - Perl5 access to the gdbm library
+Summary(pl): GDBM_File - dostêp do biblioteki gdbm w Perlu
+Group: Libraries
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+# FIXME: Set Version: 1.06 and Release: 1 instead of inheriting
+# values from the main package. Why this causes setting
+# version and release macros up to the end of this spec?
+
+%description GDBM_File
+GDBM_File is a module which allows Perl programs to make use of the
+facilities provided by the GNU gdbm library.
+
+%description GDBM_File -l pl
+GDBM_File jest modu³em, który umo¿liwia programom w Perlu korzystanie
+z biblioteki GNU gdbm.
+
%package devel
Summary: Perl development files
Summary(pl): Pliki potrzebne przy tworzeniu w³asnych aplikacji w perlu
Summary(pt_BR): Arquivos de desenvolvimento e cabeçalhos para o perl
Group: Development/Libraries
-Requires: %{name}-base = %{version}
-Requires: %{name}-modules = %{version}
-Requires: %{name}-tools-pod
-Provides: perl-CPAN = 1.61
-Provides: perl-Devel-DProf = 20000000.00_01
-Provides: perl-Devel-PPPort = 2.0002
-Provides: perl-Devel-Peek = 1.00_03
-Provides: perl-ExtUtils-MakeMaker = 6.03
-Provides: perl-ExtUtils-Embed = 1.250601
+Requires: %{name}-base = %{epoch}:%{version}
+Requires: %{name}-modules = %{epoch}:%{version}
+Requires: %{name}-tools-pod = %{epoch}:%{version}
+Provides: perl-CPAN = 1.76_01
+Provides: perl-Devel-DProf = 20030813.00
+Provides: perl-Devel-PPPort = 2.011
+Provides: perl-Devel-Peek = 1.01
+Provides: perl-ExtUtils-Embed = 1.2506_01
+Provides: perl-ExtUtils-MakeMaker = 6.17
Obsoletes: perl-lib-devel
%description devel
-Components, required for developing applications which embed a Perl
+Components required for developing applications which embed a Perl
interpreter and compiling perl modules.
+%description devel -l pl
+Sk³adniki potrzebne do tworzenia aplikacji osadzaj±cych interpreter
+Perla oraz kompilowania modu³ów Perla.
+
%package doc-pod
Summary: Perl documentation in POD format
Summary(pl): Dokumentacja Perla w formacie POD
Group: Documentation
+Requires: perldoc
Obsoletes: perl-pod
%description doc-pod
Practical Extraction and Report Language - POD docs.
%description doc-pod -l pl
-Practical Extraction and Report Language - dokumentacja w formacie POD.
+Practical Extraction and Report Language - dokumentacja w formacie
+POD.
%package doc-reference
Summary: Perl reference documentation
Summary(pl): Dokumentacja Perla
Group: Documentation
-Requires: man
%description doc-reference
Reference documentation for the Practical Extraction and Report Language
%package modules
Summary: Modules from the core perl distribution
Summary(pl): Modu³y z podstawowej dystrybucji perla
-Group: Development/Libraries
-Requires: %{name}-base = %{version}
-Provides: perl-Attribute-Handlers = 0.77
-Provides: perl-CGI = 2.81
+Group: Libraries
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Provides: perl-Attribute-Handlers = 0.78_01
+Provides: perl-CGI = 3.04
Provides: perl-Class-ISA = 0.32
-Provides: perl-Digest = 1.00
-Provides: perl-Digest-MD5 = 2.20
+Provides: perl-Digest = 1.06
+Provides: perl-Digest-MD5 = 2.33
Provides: perl-Filter-Simple = 0.78
-Provides: perl-FindBin = 1.43
-#Provides: perl-Hash-Utils = 0.04 Data::Util is missing
-Provides: perl-IO = 1.20
-Provides: perl-IPC-SysV = 1.03_00
-Provides: perl-Locale-Maketext = 1.03
-Provides: perl-MIME-Base64 = 2.12
-Provides: perl-Math-BigInt = 1.60
-Provides: perl-Math-BigRat = 0.07
-Provides: perl-Math-Trig = 1.01
+Provides: perl-FindBin = 1.44
+#Provides: perl-Hash-Utils = 0.05 Data::Util is missing
+Provides: perl-I18N-LangTags = 0.29
+Provides: perl-IPC-SysV = 1.04
+Provides: perl-Locale-Codes = 2.06
+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.50
-Provides: perl-PerlIO-via-QuotedPrint = 0.04
-Provides: perl-Pod-LaTeX = 0.54
-Provides: perl-Pod-Parser = 1.13
-Provides: perl-Scalar-List-Utils = 1.07_00
-Provides: perl-Socket = 1.75
-Provides: perl-Storable = 2.04
-Provides: perl-Term-ANSIColor = 1.05
-Provides: perl-Term-Cap = 1.07
-Provides: perl-Test = 1.20
-Provides: perl-Test-Harness = 2.26
-Provides: perl-Test-Simple = 0.45
-Provides: perl-Text-Balanced = 1.89
+Provides: perl-NEXT = 0.60
+Provides: perl-PerlIO-via-QuotedPrint = 0.06
+Provides: perl-Pod-LaTeX = 0.55
+Provides: perl-Pod-Parser = 1.14
+Provides: perl-Scalar-List-Utils = 1.13
+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-Test-Simple = 0.47
+Provides: perl-Text-Balanced = 1.95
Provides: perl-Text-ParseWords = 3.21
Provides: perl-Text-Soundex = 1.01
-Provides: perl-Text-Tabs+Wrap = 2001.0929
-Provides: perl-Tie-File = 0.93
-Provides: perl-Time-HiRes = 1.20_00
-Provides: perl-UNIVERSAL = 1.00
-Provides: perl-Unicode-Collate = 0.12
-Provides: perl-Unicode-Normalize = 0.17
+# XXX: I'm not sure what to do with this one...
+#Provides: perl-Text-Tabs+Wrap = 2001.09291
+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
+# for older modules included into perl
+#Obsoletes: perl-Attribute-Handlers <= 0.78_01
+#Obsoletes: perl-CGI <= 3.04
+#Obsoletes: perl-Class-ISA <= 0.32
+#Obsoletes: perl-Digest <= 1.06
+#Obsoletes: perl-Digest-MD5 <= 2.33
+#Obsoletes: perl-Filter-Simple <= 0.78
+#Obsoletes: perl-FindBin <= 1.44
+#Obsoletes: perl-I18N-LangTags <= 0.29
+#Obsoletes: perl-IPC-SysV <= 1.04
+#Obsoletes: perl-Locale-Codes <= 2.06
+#Obsoletes: perl-Locale-Maketext <= 1.08
+#Obsoletes: perl-MIME-Base64 <= 3.01
+#Obsoletes: perl-Math-BigInt <= 1.70
+#Obsoletes: perl-Math-BigRat <= 0.12
+#Obsoletes: perl-Math-Trig <= 1.02
+#Obsoletes: perl-Memoize <= 1.01
+#Obsoletes: perl-NEXT <= 0.60
+#Obsoletes: perl-PerlIO-via-QuotedPrint <= 0.06
+#Obsoletes: perl-Pod-LaTeX <= 0.55
+#Obsoletes: perl-Pod-Parser <= 1.14
+#Obsoletes: perl-Scalar-List-Utils <= 1.13
+#Obsoletes: perl-Storable <= 2.12
+#Obsoletes: perl-Term-ANSIColor <= 1.08
+#Obsoletes: perl-Term-Cap <= 1.08
+#Obsoletes: perl-Test <= 1.24
+#Obsoletes: perl-Test-Harness <= 2.40
+#Obsoletes: perl-Test-Simple <= 0.47
+#Obsoletes: perl-Text-Balanced <= 1.95
+#Obsoletes: perl-Text-ParseWords <= 3.21
+#Obsoletes: perl-Text-Soundex <= 1.01
+#Obsoletes: perl-Time-HiRes <= 1.59
+#Obsoletes: perl-UNIVERSAL <= 1.01
+#Obsoletes: perl-Unicode-Collate <= 0.33
+#Obsoletes: perl-Unicode-Normalize <= 0.28
+#Obsoletes: perl-libnet <= 1.1.1
%description modules
Practical Extraction and Report Language - modules from the core
%package perldoc
Summary: perldoc - Look up Perl documentation in pod format
-Provides: perldoc = 2.03@%{version}
-Requires: %{name}-base
+Summary(pl): perldoc - przeszukiwanie dokumentacji Perla w formacie pod
Group: Development/Tools
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
+Requires: %{name}-tools-pod = %{epoch}:%{version}-%{release}
+Provides: perldoc = 3.12@%{version}
%description perldoc
-perldoc 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 "pod2man | nroff -man | $PAGER". (In addition, if
-running under HP-UX, "col -x" will be used.) This is primarily used for
-the documentation for the perl library modules.
+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 "pod2man | nroff -man | $PAGER". This is primarily
+used for the documentation for the perl library modules.
+
+%description perldoc -l pl
+perldoc wyszukuje fragment dokumentacji w formacie .pod osadzony w
+drzewie instalacji perla lub w skypcie perlowym i wy¶wietla go przez
+"pod2man | nroff -man | $PAGER". Program ten u¿ywany jest g³ównie do
+dokumentacji modu³ów z bibliotek perla.
%package -n sperl
Summary: Perl setuid root binaries for use with setuid Perl scripts
Summary(it): sperl, da usare con gli script di Perl setuid
Summary(ja): Setuid Perl scripts ¤È°ì½ï¤Ë»ÈÍѤ¹¤ë¤¿¤á¤Î suidperl
Summary(ko): Setuid ÆÞ ½ºÅ©¸³Æ®¿Í ÇÔ²² »ç¿ëµÇ´Â suidperl
-Summary(pl): Binaria setuid root Perla dla setuid-owych skryptów Perla
+Summary(pl): Binaria setuid root perla dla setuid-owych skryptów perla
Summary(pt): O suidperl, para usar com os programas de Perl 'setuid'
Summary(ru): SUID ×ÅÒÓÉÑ ÑÚÙËÁ Perl
Summary(sv): sperl, att användas med setuid perlskript
Summary(uk): SUID-×ÅÒÓ¦Ñ ÍÏ×É Perl
Summary(zh_CN): sperl£¬ÓÃÀ´Óë setuid perl ½Å±¾Ò»ÆðʹÓÃ
Group: Development/Languages/Perl
-Requires: %{name}-base = %{version}
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
Obsoletes: perl-suidperl
%description -n sperl
%description -n sperl -l pl
sperl jest to kopia setuid root programu binarnego perl umo¿liwiaj±ca
bezpieczniejsze (miejmy nadziejê) uruchamianie setuidowych skryptów
-Perla.
+perla.
%description -n sperl -l pt
O suidperl é uma cópia do perl com 'setuid' que permite uma execução
Summary: Various tools from the core perl distribution
Summary(pl): Ró¿ne narzêdzia z podstawowej dystrybucji perla
Group: Applications
-Requires: %{name}-base = %{version}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description tools
Various tools from the core perl distribution:
a2p - Awk to Perl translator
+ cpan - easily interact with CPAN from the command line
find2perl - translate find command lines to Perl code
piconv - iconv(1), reinvented in perl
psed, s2p - a stream editor
-%description modules -l pl
+%description tools -l pl
Ró¿ne narzêdzia z podstawowej dystrybucji perla:
- a2p - Awk to Perl translator
- find2perl - translate find command lines to Perl code
- piconv - iconv(1), reinvented in perl
- psed, s2p - a stream editor
+ a2p - translator skryptów Awka do Perla
+ cpan - easily interact with CPAN from the command line
+ find2perl - t³umaczenie linii poleceñ programu find na kod w Perlu
+ piconv - iconv(1) napisany w Perlu
+ psed, s2p - edytor strumieniowy
%package tools-devel
Summary: Developer's tools from the core perl distribution
Summary(pl): Narzêdzia z podstawowej dystrybucji perla, przeznaczone dla programistów
Group: Development/Tools
-Requires: %{name}-base = %{version}
-Requires: %{name}-devel = %{version}
+Requires: %{name}-base = %{epoch}:%{version}-%{release}
+Requires: %{name}-devel = %{epoch}:%{version}-%{release}
%description tools-devel
Various tools from the core perl distribution:
pl2pm - Rough tool to translate Perl4 .pl files to Perl5 .pm modules.
splain - force verbose warning diagnostics
+%description tools-devel -l pl
+Ró¿ne narzêdzia z podstawowej dystrybucji perla:
+
+ c2ph, pstruct - zrzucanie struktur C w postaci generowanej z tablic
+ symboli z cc -g -S
+ dprofpp - wy¶wietlanie perlowych danych profiluj±cych
+ enc2xs - generator modu³ów koduj±cych w Perlu
+ h2ph - konwerter plików nag³ówkowych .h z C na perlowe pliki
+ nag³ówkowe .ph
+ h2xs - konwerter plików nag³ówkowych .h z C na rozszerzenia
+ Perla
+ perlcc - generator binarek z programów w Perlu
+ perlivp - procedura weryfikacji instalacji perla
+ pl2pm - zgrubne narzêdzie do t³umaczenia plików pl Perla 4 na
+ modu³y .pm Perla 5
+ splain - wymuszenie obszernych ostrze¿eñ diagnostycznych
+
%package tools-pod
Summary: Tools for manipulating files in the POD format
Summary(pl): Narzêdzia do przetwarzania plików w formacie POD
Group: Applications
-Requires: %{name}-base = %{version}
+Requires: %{name}-modules = %{epoch}:%{version}-%{release}
%description tools-pod
-Tools for manipulating files in the POD (Plain Old Documentation) format:
+Tools for manipulating files in the POD (Plain Old Documentation)
+format:
pod2html - convert .pod files to .html files
- pod2latex - convert pod documentation to latex format
- pod2man - Convert POD data to formatted *roff input
- pod2text - Convert POD data to formatted ASCII text
+ pod2latex - convert pod documentation to LaTeX format
+ pod2man - convert POD data to formatted *roff input
+ pod2text - convert POD data to formatted ASCII text
pod2usage - print usage messages from embedded pod docs in files
podchecker - check the syntax of POD format documentation files
- podselect - print selected sections of pod documentation on standard output
+ podselect - print selected sections of pod documentation
+
+%description tools-pod -l pl
+Narzêdzia do przetwarzania plików w formacie POD (Plain Old
+Documentation):
+
+ pod2html - konwerter plików .pod do plików .html
+ pod2latex - konwerter dokumentacji pod do formatu LaTeX
+ pod2man - konwerter danych POD na wej¶cie sformatowane dla *roffa
+ pod2text - konwerter danych POD na sformatowany tekst ASCII
+ pod2usage - wypisanie informacji o u¿ywaniu programu z dokumentacji
+ osadzonej w plikach
+ podchecker - kontrola sk³adni dokumentacji w formacie POD
+ podselect - wypisanie wybranych sekcji z dokumentacji POD
%package -n microperl
Summary: A really minimal perl, even more minimal than miniperl
+Summary(pl): Naprawdê minimalny Perl, nawet bardziej minimalny ni¿ miniperl
# XXX: is there a more appropiate group?
Group: Applications
%description -n microperl
-microperl is supposed to be able a really minimal perl, even more minimal
-than miniperl. No Configure is needed to build microperl, on the other
-hand this means that interfaces between Perl and your operating system
-are left very -- minimal.
+microperl is supposed to be able a really minimal perl, even more
+minimal than miniperl. No Configure is needed to build microperl, on
+the other hand this means that interfaces between Perl and your
+operating system are left very -- minimal.
All this is experimental. If you don't know what to do with microperl
you probably shouldn't. Do not report bugs in microperl; fix the bugs.
+%description -n microperl -l pl
+microperl ma byæ naprawdê minimalnym Perlem, nawet bardziej minimalnym
+od miniperla. Uruchamianie Configure nie jest potrzebne do zbudowania
+microperla, z drugiej strony oznacza to, ¿e interfejs miêdzy Perlem a
+systemem operacyjnym pozostaje bardzo minimalny.
+
+Ca³o¶æ jest eksperymentalna. Je¶li nie wiesz co zrobiæ z microperlem,
+prawdopodobnie nie powiniene¶ tego robiæ. Nie zg³aszaj b³êdów w
+microperlu - popraw je.
%prep
%setup -q
%patch0 -p1
-%patch2 -p0
-%patch8 -p1
-%patch9 -p1
-%patch11 -p1
-%patch14 -p0
-%patch15 -p1
-
-install -m 0755 %{SOURCE2} $PWD/find-perl.prov
-install -m 0755 %{SOURCE3} $PWD/find-perl-provides.sh
+%patch1 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
%build
sh Configure \
-des \
- -Dcc=%{__cc} \
+ -Dcc="%{__cc}" \
-Darchname=%{_target_platform} \
-Dcccdlflags='-fPIC' \
-Dccdlflags='-rdynamic' \
+ -Dldlibpthname=none \
-Doptimize="%{rpmcflags}" \
+ %{?debug:-DDEBUGGING} \
-Duseshrplib \
-Dd_dosuid \
-Dman1dir=%{_mandir}/man1 -Dman1ext=1 \
-Dman3dir=%{_mandir}/man3 -Dman3ext=3perl \
-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 \
+ -Dsiteman1=%{_usr}/local/man/man1 -Dsiteman1ext=1p \
+ -Dsiteman3=%{_usr}/local/man/man3 -Dsiteman3ext=3pm \
-Dprefix=%{_prefix} -Dvendorprefix=%{_prefix} -Dsiteprefix=%{_usr}/local \
+ -Dlibpth="%{_libdir} /%{_lib}" \
-Dprivlib=%{perl_privlib} -Darchlib=%{perl_archlib} \
-Dsitelib=%{perl_sitelib} -Dsitearch=%{perl_sitearch} \
-Dvendorlib=%{perl_vendorlib} -Dvendorarch=%{perl_vendorarch} \
- -Dinstallprefix=$RPM_BUILD_ROOT%{_prefix} \
- -Ui_dbm -Ui_gdbm -Ui_ndbm -Ui_db \
- -Dlibswanted="nsl dl m c crypt util" \
- -%{?_without_threads:U}%{?!_without_threads:D}usethreads \
- -%{?_without_largefiles:U}%{?!_without_largefiles:D}uselargefiles
+ -Ui_db \
+ %{!?with_gdbm: -Ui_dbm -Ui_gdbm -Ui_ndbm} \
+ %{?with_gdbm: -Ui_dbm -Di_gdbm -Ui_ndbm} \
+ -Dlibswanted="dl m c crypt %{?with_gdbm:gdbm}" \
+ -%{?with_threads:D}%{!?with_threads:U}usethreads \
+ -Duselargefiles
## why were these three undefined?
# -Ud_setresgid \
# -Ud_longdbl
# %endif
-%{__make}
-%{__make} -f Makefile.micro
-
-%{?!_without_tests:%{__make} test}
-#%{?!_without_tests:%{__make} minitest}
+## {Scalar,List}::Util should be in perl_archlib (it's a bit tricky and should
+## probably be done in %%prep, but then Configure would complain (->MANIFEST))
+mv ext/List/Util/lib/List/Util.pm ext/List/Util
+rm -f ext/List/Util/Makefile.PL
+cat <<EOF > ext/List/Util/Makefile.PL
+use ExtUtils::MakeMaker;
+WriteMakefile(NAME=>"List::Util", VERSION_FROM=>"Util.pm", DEFINE=>"-DPERL_EXT");
+EOF
+
+%{__make} \
+ 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} \
+ privlib=%{perl_privlib} \
+ privlibexp=%{perl_privlib} \
+ archname=%{_target_platform}%{perlthread} \
+ osname=%{_host} \
+ bin=%{_bindir} \
+ scriptdir=%{_bindir} \
+ scriptdirexp=%{_bindir} \
+ usemallocwrap='define' \
+ OPTIMIZE="%{rpmcflags}"
+%endif
+
+%{?with_tests:%{__make} test}
+#%{?with_tests:%{__make} minitest}
+
+cat > runperl <<EOF
+#!/bin/sh
+LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" \
+ PERL5LIB="%{buildroot}%{perl_privlib}:%{buildroot}%{perl_archlib}" \
+ exec %{buildroot}%{_bindir}/perl \$*
+EOF
+chmod a+x runperl
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_mandir}/{ja,ko,zh_CN,zh_TW}/man1
-%{__make} install
-install miniperl $RPM_BUILD_ROOT%{_bindir}
-install microperl $RPM_BUILD_ROOT%{_bindir}
+%{__make} install \
+ DESTDIR=$RPM_BUILD_ROOT
+%{?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*
-install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}
-%{__ln_s} -f libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
-
-
-%define __perl LD_LIBRARY_PATH="%{_builddir}/%{name}-%{version}" PERL5LIB="%{buildroot}/%{perl_privlib}:%{buildroot}/%{perl_archlib}" %{buildroot}/%{_bindir}/perl
+rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/libperl.so
+%{__ln_s} `%{__perl} -e '$_="'%{perl_archlib}/CORE/libperl.so.%{_abi}'";s|^'%{_libdir}'/*||;print'` \
+ $RPM_BUILD_ROOT%{_libdir}/libperl.so.%{_abi}
+%{__ln_s} libperl.so.%{_abi} $RPM_BUILD_ROOT%{_libdir}/libperl.so
## Fix Config.pm: remove buildroot path and change man pages extensions
%{__perl} -pi -e 's,%{buildroot}/*,/,g' $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
%{__perl} -pi -e "s,^man1ext='1',man1ext='1p'," $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
%{__perl} -pi -e "s,^man3ext='3perl',man3ext='3pm'," $RPM_BUILD_ROOT%{perl_archlib}/Config.pm
-## prepare scripts for finding provides
-%{__perl} -pi -e 's,\@perl_build_dir\@,%{_builddir}/%{name}-%{version},g' find-perl-provides.sh
-%{__perl} -pi -e 's,\@perl\@,%{__perl},g' find-perl-provides.sh
-
## Generate the *.ph files
-(
+owd="`pwd`"
cd /usr/include
H2PH=$RPM_BUILD_ROOT%{_bindir}/h2ph
PHDIR=$RPM_BUILD_ROOT%{perl_archlib}
sys/socket.h
sys/syscall.h
sys/time.h
+ linux/posix_types.h
+ linux/stddef.h
'
-%{__perl} $H2PH -a -d $PHDIR $WANTED
-)
+# why it returns non-zero???
+%{__perl} $H2PH -a -d $PHDIR $WANTED || :
+cd "$owd"
## remove man pages for other operating systems
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/perl{aix,amiga,apollo,beos,bs2000,ce,cygwin,dgux,dos}* \
rm -f $RPM_BUILD_ROOT%{perl_privlib}/*.pod
rm -f $RPM_BUILD_ROOT%{perl_archlib}/*.pod
-
-## directories for modules installed using CPAN.pm
-install -d $RPM_BUILD_ROOT{%{perl_sitelib},%{perl_sitearch}/auto}
+## this object file looks unused; why is it there?
+rm -f $RPM_BUILD_ROOT%{perl_archlib}/CORE/sperl.o
+
+install -d doc-base/{Getopt/Long,Switch} \
+ 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}/Getopt/Long/{CHANGES,README} doc-base/Getopt/Long
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Switch/{Changes,README} doc-base/Switch
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/ExtUtils/{Changes,NOTES,PATCHING,README,TODO} \
+ doc-devel/ExtUtils
+
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Attribute/Handlers/{Changes,README} \
+ doc-modules/Attribute/Handlers
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Filter/Simple/{Changes,README} \
+ doc-modules/Filter/Simple
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/I18N/LangTags/{ChangeLog,README} \
+ doc-modules/I18N/LangTags
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Locale/Codes/{ChangeLog,README} \
+ doc-modules/Locale/Codes
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Locale/Maketext/{ChangeLog,README} \
+ doc-modules/Locale/Maketext
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Memoize/{README,TODO} \
+ doc-modules/Memoize
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/NEXT/{Changes,README} \
+ doc-modules/NEXT
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Net/{ChangeLog.libnet,README.libnet} \
+ doc-modules/Net
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Net/Ping/Changes \
+ doc-modules/Net/Ping
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Term/ANSIColor/{ChangeLog,README} \
+ doc-modules/Term/ANSIColor
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Test/Simple/{Changes,README} \
+ doc-modules/Test/Simple
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Text/Balanced/{Changes,README} \
+ doc-modules/Text/Balanced
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Text/TabsWrap/CHANGELOG \
+ doc-modules/Text/TabsWrap
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/README \
+ doc-modules/Unicode
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/{Changes,README} \
+ doc-modules/Unicode/Collate
+# needed only for tests
+rm -f $RPM_BUILD_ROOT%{perl_privlib}/Unicode/Collate/keys.txt
+mv -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/{README.perl,ReadMe.txt} \
+ doc-modules/unicore
+# source for *.pl
+rm -f $RPM_BUILD_ROOT%{perl_privlib}/unicore/{*.txt,mktables}
## dir tree for other perl modules
install -d $RPM_BUILD_ROOT{%{perl_vendorlib},%{perl_vendorarch},%{perl_vendorarch}/auto}
-(
+owd="`pwd`"
+
cd $RPM_BUILD_ROOT%{perl_vendorlib}
install -d AI/NeuralNet Algorithm Apache Archive Array Astro Attribute \
Audio Authen B Bundle Business CGI Cache Chart Class Config \
- Convert Crypt DBD Data Date Devel Digest Error ExtUtils File \
- Filesys Font Games Getopt GnuPG Graph HTML HTTP I18N IO/Socket IPC \
- Image Inline Language Lingua/EN List Locale Log MIME Mail Math \
- Module Net/SMTP NetServer Netscape News Number OLE Parse Pod \
- PostScript Proc RADIUS RPC RPM Regexp SOAP/Transport SQL Schedule \
- Set Sort Speech Spreadsheet Statistics String Sub Sys TeX Test \
- Text/Query Tie Time Tree Unicode WWW XML/{Filter,Handler,Parser} \
- auto/{AI,Array,Crypt,Data,Mail,Net,Schedule,Statistics,Text,WWW}
+ Convert Crypt DBD Data Date Devel Device Digest Email Error \
+ Exporter ExtUtils File Filesys Font Games Getopt GnuPG Graph \
+ Graphics HTML HTTP I18N IO/Socket IPC Image Inline Jabber Language \
+ 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 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} \
+ auto/{AI,Array,Config,Crypt,Data,Mail,Net,Schedule,Statistics,Text,WWW}
cd $RPM_BUILD_ROOT%{perl_vendorarch}
-install -d Astro Audio Authen B BSD Bit Compress Crypt/OpenSSL Data Devel \
- Digest File IPC Inline Locale Math Net Speech/Recognizer String Term \
- Text Unicode XML \
- auto/{Astro,Audio,Authen,BSD,Bit,Compress,Crypt/OpenSSL,Data,Devel} \
- auto/{Digest,File,IPC,Inline,Locale,Math,Net,Speech/Recognizer,String} \
- auto/{Term,Text,Unicode,XML}
-)
+install -d Algorithm Astro Audio Authen B BSD Bit Compress Convert \
+ Crypt/OpenSSL Data Devel Digest File IPC Inline Locale Math/BigInt \
+ Net Speech/Recognizer String Sys Template Term Text Unicode XML \
+ auto/{Astro,Audio,Authen,BSD,Bit,Clone,Compress,Convert} \
+ auto/{Crypt/OpenSSL,Data,Devel,Digest,File,IPC,Inline,Locale} \
+ auto/{Math/BigInt,Net,Regexp,Speech/Recognizer,String,Sys,Term,Text} \
+ auto/{Unicode,XML}
+
+cd "$owd"
## non-english man pages
%{__bzip2} -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perlcn.* $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
+mv -f $RPM_BUILD_ROOT%{_mandir}/man1/perljp.* $RPM_BUILD_ROOT%{_mandir}/ja/man1
+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
+mv $RPM_BUILD_ROOT%{perl_privlib}/Attribute/Handlers/demo \
+ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/Attribute-Handlers
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/Attribute::Handlers::demo*
+#rm -f $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA/test.pl
+#rmdir $RPM_BUILD_ROOT%{perl_privlib}/Class/ISA
+mv $RPM_BUILD_ROOT%{perl_privlib}/Net/demos \
+ $RPM_BUILD_ROOT%{_examplesdir}/%{name}-modules-%{version}/Net
+# XXX: bug bug bug...
+mv $RPM_BUILD_ROOT%{perl_privlib}/auto/POSIX/SigAction \
+ $RPM_BUILD_ROOT%{perl_archlib}/auto/POSIX
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
-
+%post base -p /sbin/ldconfig
+%postun base -p /sbin/ldconfig
%files
%defattr(644,root,root,755)
%doc README AUTHORS
-%lang(cn) %doc README.cn
-%lang(jp) %doc README.jp
-%lang(ko) %doc README.ko
-%lang(tw) %doc README.tw
-
-%dir %{perl_sitelib}
-%dir %{_usr}/local/lib/perl5
-%dir %{_usr}/local/lib/perl5/%{version}
-%dir %{perl_sitearch}
-%dir %{perl_sitearch}/auto
-%dir %{perl_vendorlib}
-%dir %{_libdir}/perl5/vendor_perl
-%dir %{_libdir}/perl5/vendor_perl/%{version}
-%dir %{perl_vendorarch}
-%dir %{perl_vendorarch}/auto
-
%files base
%defattr(644,root,root,755)
+%doc doc-base/*
%attr(755,root,root) %{_bindir}/perl
%attr(755,root,root) %{_bindir}/perl%{version}
%{_mandir}/man1/perl.*
%dir %{perl_archlib}
%dir %{perl_archlib}/auto
-# pragmas
-%{perl_privlib}/[a-z]*.pm
-%{perl_privlib}/[a-z]*.pl
-%{perl_privlib}/warnings
-%{perl_archlib}/[a-z]*.pm
-%{perl_archlib}/threads
-%dir %{perl_archlib}/auto/attrs
-%dir %{perl_archlib}/auto/re
-%dir %{perl_archlib}/auto/threads
-%dir %{perl_archlib}/auto/threads/shared
-%attr(755,root,root) %{perl_archlib}/auto/attrs/*.so
-%attr(755,root,root) %{perl_archlib}/auto/re/*.so
-%attr(755,root,root) %{perl_archlib}/auto/threads/*.so
-%attr(755,root,root) %{perl_archlib}/auto/threads/shared/*.so
-%{perl_archlib}/auto/attrs/*.bs
-%{perl_archlib}/auto/re/*.bs
-%{perl_archlib}/auto/threads/*.bs
-%{perl_archlib}/auto/threads/shared/*.bs
-%{_mandir}/man3/[a-z]*
+%dir %{perl_archlib}/CORE
+%attr(755,root,root) %{perl_archlib}/CORE/libperl.so.%{_abi}
+%attr(755,root,root) %{_libdir}/libperl.so.*
-# arch-_IN_dependent modules
+%dir %{_libdir}/perl5/vendor_perl
+%dir %{_libdir}/perl5/vendor_perl/%{_abi}
+%{perl_vendorarch}
+%{perl_vendorlib}
+
+## pragmas
+%{perl_privlib}/base.pm
+%{_mandir}/man3/base.*
+%{perl_privlib}/constant.pm
+%{_mandir}/man3/constant.*
+%{perl_privlib}/diagnostics.pm
+%{_mandir}/man3/diagnostics.*
+%{perl_privlib}/fields.pm
+%{_mandir}/man3/fields.*
+%{perl_privlib}/integer.pm
+%{_mandir}/man3/integer.*
+%{perl_privlib}/overload.pm
+%{_mandir}/man3/overload.*
+%{perl_privlib}/sort.pm
+%{_mandir}/man3/sort.*
+%{perl_privlib}/strict.pm
+%{_mandir}/man3/strict.*
+%{perl_privlib}/subs.pm
+%{_mandir}/man3/subs.*
+%{perl_privlib}/vars.pm
+%{_mandir}/man3/vars.*
+%{perl_privlib}/warnings*
+%{_mandir}/man3/warnings*
+
+%{perl_archlib}/lib.pm
+%{_mandir}/man3/lib.*
+
+## arch-_IN_dependent modules
%{perl_privlib}/Auto*
%{_mandir}/man3/Auto*
%{perl_privlib}/Carp*
%{_mandir}/man3/Carp*
+%dir %{perl_privlib}/Class
+%{perl_privlib}/Class/Struct*
+%{_mandir}/man3/Class::Struct*
%{perl_privlib}/Exporter*
%{_mandir}/man3/Exporter*
%{perl_privlib}/English*
%{_mandir}/man3/Getopt*
%{perl_privlib}/IPC
%{_mandir}/man3/IPC::Open*
+%{perl_privlib}/SelectSaver.pm
+%{_mandir}/man3/SelectSaver.*
+%{perl_privlib}/Symbol.pm
+%{_mandir}/man3/Symbol.*
+%{perl_privlib}/Tie
+%{_mandir}/man3/Tie::*
-# arch-dependent modules
+## arch-dependent modules
%{perl_archlib}/Config*
%{_mandir}/man3/Config*
%{perl_archlib}/DynaLoader*
%{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
+%{_mandir}/man3/IO*
+
%{perl_archlib}/Opcode.*
%dir %{perl_archlib}/auto/Opcode
%attr(755,root,root) %{perl_archlib}/auto/Opcode/*.so
%dir %{perl_archlib}/auto/PerlIO/*/
%attr(755,root,root) %{perl_archlib}/auto/PerlIO/*/*.so
%{perl_archlib}/auto/PerlIO/*/*.bs
-%{_mandir}/man3/PerlIO*
+%{_mandir}/man3/PerlIO.*
+%{_mandir}/man3/PerlIO::[es]*
+%{_mandir}/man3/PerlIO::via.*
%{perl_archlib}/POSIX*
%dir %{perl_archlib}/auto/POSIX
%{perl_archlib}/auto/POSIX/*.al
%{perl_archlib}/auto/POSIX/*.bs
%{perl_archlib}/auto/POSIX/*.ix
+%{perl_archlib}/auto/POSIX/SigAction
%{_mandir}/man3/POSIX.*
-%attr(755,root,root) %{_libdir}/lib*.so.%{version}
+%{perl_archlib}/Socket.*
+%dir %{perl_archlib}/auto/Socket
+%attr(755,root,root) %{perl_archlib}/auto/Socket/*.so
+%{perl_archlib}/auto/Socket/*.bs
+%{_mandir}/man3/Socket.*
-%files devel
+%if %{with gdbm}
+%files GDBM_File
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/[acdefh]*
-%attr(755,root,root) %{_bindir}/perlcc
-%attr(755,root,root) %{_bindir}/pl2pm
-%attr(755,root,root) %{_bindir}/pstruct
-%attr(755,root,root) %{_bindir}/[sx]*
-%{_mandir}/man1/[acdefh]*
-%{_mandir}/man1/perlcc.*
-%{_mandir}/man1/perldebguts.*
-%{_mandir}/man1/pl2pm.*
-%{_mandir}/man1/pstruct.*
-%{_mandir}/man1/[sx]*
+%{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
+%{_mandir}/man3/GDBM_File.*
+%endif
-%attr(755,root,root) %{_libdir}/lib*.so
-%{perl_archlib}/CORE
+
+%files devel
+%defattr(644,root,root,755)
+%doc doc-devel/*
+%attr(755,root,root) %{_libdir}/libperl.so
+%{perl_archlib}/CORE/*.h
+%{perl_archlib}/CORE/reentr.inc
# FIXME: Changes file to _docdir (and rm MANIFEST.SKIP?)
%{perl_privlib}/ExtUtils
%defattr(644,root,root,755)
%{perl_privlib}/pod/perl.pod
%{perl_privlib}/pod/perl[5abceghijklmnopqrstuvwx]*.pod
-%{perl_privlib}/pod/perld[^i]*.pod
-%{perl_privlib}/pod/perlf[^au]*.pod
+%{perl_privlib}/pod/perld[!i]*.pod
+%{perl_privlib}/pod/perlf[!au]*.pod
%files doc-reference
%defattr(644,root,root,755)
-%{_mandir}/man1/perl[5adefghilmnoprstuvwx]*
+%{_mandir}/man1/perl[5aefghlmnoprstuvwx]*
%{_mandir}/man1/perlbo*
%{_mandir}/man1/perlcall.*
+%{_mandir}/man1/perlcheat.*
%{_mandir}/man1/perlclib.*
%{_mandir}/man1/perlcompile.*
-%lang(cn) %{_mandir}/man1/perlcn.*
-%lang(jp) %{_mandir}/man1/perljp.*
-%lang(ko) %{_mandir}/man1/perlko.*
+%{_mandir}/man1/perld[!o]*
+%{_mandir}/man1/perli[!v]*
+
+%lang(zh_CN) %{_mandir}/zh_CN/man1/perlcn.*
+%lang(ja) %{_mandir}/ja/man1/perljp.*
+%lang(ko) %{_mandir}/ko/man1/perlko.*
+%lang(zh_TW) %{_mandir}/zh_TW/man1/perltw.*
%files modules
%defattr(644,root,root,755)
-# XXX: should it really be in this package?
+%doc doc-modules/*
+%{_examplesdir}/%{name}-modules-%{version}
+
%{perl_privlib}/unicore
-# *.ph files (could be made a separate package, but an autohelper's support is needed)
+## pragmas
+%{perl_privlib}/attributes.pm
+%{_mandir}/man3/attributes.*
+%{perl_privlib}/autouse.pm
+%{_mandir}/man3/autouse.*
+%{perl_privlib}/big*.pm
+%{_mandir}/man3/big*
+%{perl_privlib}/blib.pm
+%{_mandir}/man3/blib.*
+%{perl_privlib}/bytes.pm
+%{_mandir}/man3/bytes.*
+%{perl_privlib}/charnames.pm
+%{_mandir}/man3/charnames.*
+%{perl_privlib}/filetest.pm
+%{_mandir}/man3/filetest.*
+%{perl_privlib}/if.pm
+%{_mandir}/man3/if.*
+%{perl_privlib}/less.pm
+%{_mandir}/man3/less.*
+%{perl_privlib}/locale.pm
+%{_mandir}/man3/locale.*
+%{perl_privlib}/open.pm
+%{_mandir}/man3/open.*
+%{perl_privlib}/sigtrap.pm
+%{_mandir}/man3/sigtrap.*
+%{perl_privlib}/utf8.pm
+%{_mandir}/man3/utf8.*
+
+%{perl_archlib}/attrs.pm
+%dir %{perl_archlib}/auto/attrs
+%{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
+%attr(755,root,root) %{perl_archlib}/auto/re/*.so
+%{_mandir}/man3/re.*
+%{perl_archlib}/encoding.pm
+%{_mandir}/man3/encoding.*
+%{perl_archlib}/ops.pm
+%{_mandir}/man3/ops.*
+
+%if %{with threads}
+%{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
+%attr(755,root,root) %{perl_archlib}/auto/threads/*.so
+%attr(755,root,root) %{perl_archlib}/auto/threads/shared/*.so
+%{_mandir}/man3/t*
+%endif
+
+## old *.pl files
+%{perl_privlib}/*.pl
+
+## *.ph files (could be made a separate package, but an autohelper's support is needed)
%{perl_archlib}/*.ph
%{perl_archlib}/asm
%{perl_archlib}/bits
%{_mandir}/man3/Data*
%{perl_privlib}/Digest.pm
+%{perl_privlib}/Digest
%{perl_archlib}/Digest
%dir %{perl_archlib}/auto/Digest
%dir %{perl_archlib}/auto/Digest/MD5
%{perl_archlib}/auto/Digest/MD5/*.bs
%{_mandir}/man3/Digest*
-## FIXME: *.h to devel(?), check out the use for *.e2x files
+# 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*
%dir %{perl_archlib}/auto/Encode
%{perl_archlib}/auto/I18N/*/*.ix
%{_mandir}/man3/I18N::*
-%{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
-%{_mandir}/man3/IO*
-
%{perl_archlib}/IPC
%dir %{perl_archlib}/auto/IPC
%dir %{perl_archlib}/auto/IPC/*/
%{perl_archlib}/auto/IPC/*/*.bs
%{_mandir}/man3/IPC::[MS]*
-# FIXME: List/Util.pm should be archlib; patch needed
-%{perl_privlib}/List
+%{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/SDBM_File/*.bs
%{_mandir}/man3/SDBM_File.*
-%{perl_archlib}/Socket.*
-%dir %{perl_archlib}/auto/Socket
-%attr(755,root,root) %{perl_archlib}/auto/Socket/*.so
-%{perl_archlib}/auto/Socket/*.bs
-%{_mandir}/man3/Socket.*
-
%{perl_archlib}/Storable.*
%dir %{perl_archlib}/auto/Storable
%attr(755,root,root) %{perl_archlib}/auto/Storable/*.so
%{perl_archlib}/auto/Time/HiRes/*.bs
%{_mandir}/man3/Time::HiRes*
-%{perl_privlib}/Unicode
+%dir %{perl_privlib}/Unicode
+%{perl_privlib}/Unicode/*.pm
%{perl_archlib}/Unicode
%dir %{perl_archlib}/auto/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/*/*.ix
%{_mandir}/man3/Unicode::*
%{perl_privlib}/AnyDBM*
%{_mandir}/man3/AnyDBM*
-# FIXME: move */demo to %_exapmlesdir or /dev/null
%{perl_privlib}/Attribute
%{_mandir}/man3/Attribute*
%{perl_privlib}/Benchmark*
%{_mandir}/man3/Benchmark*
-# FIXME: move */eg to %_examplesdir or /dev/null
%{perl_privlib}/CGI*
%{_mandir}/man3/CGI*
-# FIXME: move test.pl to %_examplesdir or /dev/null
-%{perl_privlib}/Class
-%{_mandir}/man3/Class::*
+%{perl_privlib}/Class/ISA*
+%{_mandir}/man3/Class::ISA*
%{perl_privlib}/DirHandle*
%{_mandir}/man3/DirHandle*
%{perl_privlib}/Dumpvalue.*
%{_mandir}/man3/Math::*
%{perl_privlib}/Memoize*
%{_mandir}/man3/Memoize*
-%{perl_privlib}/NEXT*
+%{perl_privlib}/NEXT.pm
%{_mandir}/man3/NEXT*
-# FIXME: README and Changes files, */demos to %_examplesdir or /dev/null
-%{perl_privlib}/Net
+# FIXME: README and Changes files
+%dir %{perl_privlib}/Net
+%{perl_privlib}/Net/*.eg
+%{perl_privlib}/Net/*.pm
+%{perl_privlib}/Net/FTP
%{_mandir}/man3/Net::*
%{perl_privlib}/PerlIO
%{_mandir}/man3/PerlIO::via::*
%{_mandir}/man3/Scalar::*
%{perl_privlib}/Search
%{_mandir}/man3/Search::*
-%{perl_privlib}/SelectSaver.*
-%{_mandir}/man3/SelectSaver.*
%{perl_privlib}/SelfLoader.*
%{_mandir}/man3/SelfLoader.*
%{perl_privlib}/Shell.*
# FIXME: README and Changes files
%{perl_privlib}/Switch.*
%{_mandir}/man3/Switch.*
-%{perl_privlib}/Symbol.*
-%{_mandir}/man3/Symbol.*
# FIXME: README and Changes files
%{perl_privlib}/Term
%{_mandir}/man3/Term::*
%{_mandir}/man3/Test*
%{perl_privlib}/Text
%{_mandir}/man3/Text::*
-# XXX: to perl-base?
+%if %{with threads}
%{perl_privlib}/Thread*
%{_mandir}/man3/Thread*
-%{perl_privlib}/Tie
-%{_mandir}/man3/Tie::*
+%endif
%{perl_privlib}/Time
%{_mandir}/man3/Time::[La-z]*
# XXX: to perl-base?
%files perldoc
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/perldoc
+%dir %{perl_privlib}/pod
%{perl_privlib}/pod/perldiag.pod
%{perl_privlib}/pod/perlfaq*.pod
%{perl_privlib}/pod/perlfunc.pod
%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)
%attr(755,root,root) %{_bindir}/a2p
%{_mandir}/man1/a2p.*
+%attr(755,root,root) %{_bindir}/cpan
+%{_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
%{_mandir}/man1/pl2pm.*
%attr(755,root,root) %{_bindir}/splain
%{_mandir}/man1/splain.*
+%attr(755,root,root) %{_bindir}/xsubpp
+%{_mandir}/man1/xsubpp.*
%files tools-pod
%defattr(644,root,root,755)
%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