]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
- release 15,
[packages/perl.git] / perl.spec
1 %define         perlver 5.005
2 %define         perlrel 03
3 %define         perlthread -thread
4 %define         __find_provides %{_builddir}/%{name}%{version}/find-perl-provides
5 Summary:        Practical Extraction and Report Language
6 Summary(de):    Praktische Extraktions- und Berichtsprache 
7 Summary(fr):    Practical Extraction and Report Language (Perl)
8 Summary(pl):    Practical Extraction and Report Language (Perl)
9 Summary(tr):    Kabuk yorumlama dili
10 Name:           perl
11 Version:        %{perlver}_%{perlrel}
12 Release:        15
13 Copyright:      GPL
14 Group:          Utilities/Text
15 Group(pl):      Narzêdzia/Tekst
16 Epoch:          1
17 Source:         ftp://ftp.perl.org/pub/perl/CPAN/src/5.0/%{name}%{version}.tar.gz
18 Patch0:         perl-noroot_install.patch
19 Patch1:         perl-DESTDIR.patch
20 Patch2:         perl-File-Spec-0.7.patch
21 Patch3:         perl-CPAN-1.50.patch
22 Patch4:         perl-find-provides.patch
23 URL:            http://www.perl.org/
24 Requires:       csh
25 Buildroot:      /tmp/%{name}-%{version}-root
26
27 %description
28 Perl is an interpreted language optimized for scanning arbitrary text
29 files, extracting information from those text files, and printing reports
30 based on that information.  It's also a good language for many system
31 management tasks.  The language is intended to be practical (easy to use,
32 efficient, complete) rather than beautiful (tiny, elegant, minimal).
33
34 This version has support for threads compiled in.
35
36 %description -l de
37 Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger Text-
38 dateien, Extrahieren von Informationen aus diesen Dateien und Drucken von
39 auf diesen Informationen basierenden Berichten optimiert ist. Die Sprache
40 eignet sich außerdem für viele Systemverwaltungsaufgaben. Sie ist eher 
41 praktisch (einfache Anwendung,effizient, vollständig) als schön (winzig,
42 elegant, minimal).
43
44 %description -l fr
45 Perl est un langage interprété, optimisé pour filtrer des fichiers texte,
46 extraire des informations de ces fichiers, et imprimer des rapports basés
47 sur ces informations. C'est aussi un bon langage pour de nombreuses procédures
48 de gestion système. Ce langage se veut pratique (simple à utiliser, efficace,
49 complet) autant qu'agréable (conscrit, élégant, minimal).
50
51 %description -l pl
52 Perl jest jêzykiem przeznaczonym do skanowania plików tekstowych, wyci±gania
53 z nich informacji i drukowania raportu bazuj±cego na tych informacjach. Jest
54 równie¿ doskona³ym jêzykiem dla wielu narzêdzi do nadzoru systemu. Jêzyk ten
55 jest w zamierzeniu praktycznym (³atwym w u¿yciu, efektywnym, kompletnym) 
56 bardziej ni¿ piêkny ;) (skromny, elegancki, minimalny).
57
58 %description -l tr
59 Perl, metin dosyalarýný taramak, bu metin dosyalarýndan bilgi çýkarmak ve
60 bu bilgiye dayalý raporlar hazýrlamak icin geliþtirilmiþ bir yorumlamalý
61 dildir. Ayrýca pek çok sistem yönetimi görevleri için de yararlý yetenekleri
62 vardýr. Perl, güzel (ufak, zarif, minimum) olmaktan çok, pratik olmaya
63 yönelik (kullanýmý kolay, verimli, eksiksiz) olarak tasarlanmýþtýr.
64
65 %package -n sperl
66 Summary:        Practical Extraction and Report Language (SUID root binary)
67 Summary(pl):    Practical Extraction and Report Language (SUID root binaria)
68 Group:          Utilities/Text
69 Group(pl):      Narzêdzia/Tekst
70 Requires:       %{name} = %{version}
71
72 %description -n sperl
73 Practical Extraction and Report Language (SUID root binary).
74
75 %description -n sperl -l pl
76 Practical Extraction and Report Language (SUID root binaria).
77
78 %prep
79 %setup  -q -n %{name}%{version}
80 %patch0 -p1
81 %patch1 -p1
82 %patch2 -p1
83 %patch3 -p1
84 %patch4 -p1
85
86 for i in find-* ; do
87         mv $i $i.old
88         sed "s|FPPATH|%{_builddir}/%{name}%{version}|g" < $i.old > $i
89         chmod 755 $i; rm -f $i.old
90 done
91
92 %build
93 # this is gross
94 cat > config.over <<EOF
95 installprefix=$RPM_BUILD_ROOT%{_prefix}
96 test -d \$installprefix || mkdir -p \$installprefix
97 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
98 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
99 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
100 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
101 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
102 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
103 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
104 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
105 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
106 EOF
107
108 sh Configure \
109         -des \
110         -Dcc=gcc \
111         -Darchname=%{_target_platform} \
112         -Dprefix=%{_prefix} \
113         -Dscriptdir=%{_bindir} \
114         -Dman1dir=%{_mandir}/man1 \
115         -Dman3dir=%{_mandir}/man3 \
116         -Dman3ext=3pm \
117         -Doptimize="$RPM_OPT_FLAGS" \
118         -Duseshrplib \
119         -Dusethreads \
120         -Dd_dosuid \
121         -Ud_setresuid \
122         -Ud_setresgid 
123
124 make
125
126 # Strip binaries (done now rather than at install)
127
128 strip {perl,suidperl,x2p/a2p}
129
130 %install
131 rm -rf $RPM_BUILD_ROOT
132 install -d $RPM_BUILD_ROOT
133
134 make install
135 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
136
137 ## Generate *.ph files with a trick (based on RH).
138 # Everybody else is using it so why can't we? ;)
139 make all -f - <<EOF
140 PKGS    = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
141         libpng-devel libtiff-devel ncurses-devel popt-devel \
142         zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
143         rpm-devel
144 STDH    = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
145 STDH    += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
146 GCCDIR  = \$(shell gcc --print-file-name include)
147 GCCH    = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
148
149 LIBPATH = %{_builddir}/%{name}%{perlver}_%{perlrel}
150 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver}%{perlrel}
151 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
152 PERL    = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
153 PHDIR   = \$(PERLLIB)/%{_target_platform}%{perlthread}
154 PHBIN   = $RPM_BUILD_ROOT%{_bindir}/h2ph
155 H2PH    = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
156
157 all: std-headers gcc-headers
158
159 std-headers: \$(STDH)
160         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
161
162 gcc-headers: \$(GCCH)
163         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
164
165 EOF
166
167 ( cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{perlver}%{perlrel}/%{_target_platform}%{perlthread}/
168
169 ## Fix permissions
170 find . -name \*.ph -exec chmod 644 {} \;
171 find . -type d -exec chmod 755 {} \;
172
173 ## Fix paths
174 mv .packlist .packlist.old
175 sed "s|$RPM_BUILD_ROOT||g" < .packlist.old > .packlist
176 rm -f .packlist.old
177
178 mv Config.pm Config.pm.old
179 sed "s|$RPM_BUILD_ROOT||g" < Config.pm.old > Config.pm
180 rm -f Config.pm.old )
181
182 gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man*/* \
183         README Change*
184
185 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.so -exec strip --strip-unneeded {} \;
186
187 %clean
188 rm -rf $RPM_BUILD_ROOT
189
190 %files
191 %defattr(644,root,root,755)
192 %doc README.gz Change*
193
194 %attr(755,root,root) %{_bindir}/a2p
195 %attr(755,root,root) %{_bindir}/c2ph
196 %attr(755,root,root) %{_bindir}/find2perl
197 %attr(755,root,root) %{_bindir}/h2ph
198 %attr(755,root,root) %{_bindir}/h2xs
199 %attr(755,root,root) %{_bindir}/perl
200 %attr(755,root,root) %{_bindir}/perl%{perlver}%{perlrel}
201 %attr(755,root,root) %{_bindir}/perlbug
202 %attr(755,root,root) %{_bindir}/perlcc
203 %attr(755,root,root) %{_bindir}/perldoc
204 %attr(755,root,root) %{_bindir}/pl2pm
205 %attr(755,root,root) %{_bindir}/pod2html
206 %attr(755,root,root) %{_bindir}/pod2latex
207 %attr(755,root,root) %{_bindir}/pod2man
208 %attr(755,root,root) %{_bindir}/pod2text
209 %attr(755,root,root) %{_bindir}/pstruct
210 %attr(755,root,root) %{_bindir}/s2p
211 %attr(755,root,root) %{_bindir}/splain
212
213 %dir %{_libdir}/perl5
214 %attr( - ,root,root) %{_libdir}/perl5/*
215 #%dir %{_libdir}/site_perl
216 #%attr( - ,root,root) %{_libdir}/site_perl/*
217 %{_mandir}/man[13]/*
218
219 %files -n sperl
220 %attr(4755,root,root) %{_bindir}/sperl%{perlver}%{perlrel}
221 %attr(4755,root,root) %{_bindir}/suidperl
This page took 0.130852 seconds and 3 git commands to generate.