]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
fixed my typos (in summaries), added next subpackage with NDBM, beware this
[packages/perl.git] / perl.spec
1 %define         __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides
2 %define         perlthread %{!?bcond_off_perl_threads:-thread-multi}
3 Summary:        Practical Extraction and Report Language
4 Summary(de):    Praktische Extraktions- und Berichtsprache 
5 Summary(fr):    Practical Extraction and Report Language (Perl)
6 Summary(pl):    Practical Extraction and Report Language (Perl)
7 Summary(tr):    Kabuk yorumlama dili
8 Name:           perl
9 Version:        5.6.0
10 Release:        14
11 Epoch:          1
12 License:        GPL
13 Group:          Applications/Text
14 Group(de):      Applikationen/Text
15 Group(fr):      Utilitaires/Texte
16 Group(pl):      Aplikacje/Tekst
17 Source0:        ftp://ftp.perl.org/pub/perl/CPAN/src/%{name}-%{version}.tar.gz
18 Patch0:         %{name}-noroot_install.patch
19 Patch1:         %{name}-nodb.patch
20 Patch2:         %{name}-DESTDIR.patch
21 Patch3:         %{name}-CPAN-1.58.patch
22 Patch4:         %{name}-find-provides.patch
23 Patch5:         %{name}-prereq.patch
24 Patch6:         %{name}-syslog.patch
25 Patch7:         %{name}-CGI-upload-tmpdir.patch
26 Patch8:         %{name}-LD_RUN_PATH.patch
27 Patch9:         %{name}-errno_h-parsing.patch
28 Patch10:        %{name}-use-LD_PRELOAD-for-libperl.so.patch
29 Patch11:        %{name}-fix-typo-in-syslog.patch
30 Patch12:        %{name}-fix-for-coredump-bug-20000607.003.patch
31 URL:            http://www.perl.org/
32 #Requires:      csh
33 Provides:       perl-ANSIColor
34 Provides:       perl-Devel-Peek
35 Provides:       perl-DProf
36 Provides:       perl-PodParser
37 Obsoletes:      perl-ANSIColor
38 Obsoletes:      perl-Devel-Peek
39 Obsoletes:      perl-DProf
40 Obsoletes:      perl-PodParser
41 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
42
43 %description
44 Perl is an interpreted language optimized for scanning arbitrary text
45 files, extracting information from those text files, and printing
46 reports based on that information. It's also a good language for many
47 system management tasks. The language is intended to be practical
48 (easy to use, efficient, complete) rather than beautiful (tiny,
49 elegant, minimal).
50
51 This version has support for threads compiled in.
52
53 %description -l de
54 Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger
55 Text- dateien, Extrahieren von Informationen aus diesen Dateien und
56 Drucken von auf diesen Informationen basierenden Berichten optimiert
57 ist. Die Sprache eignet sich außerdem für viele
58 Systemverwaltungsaufgaben. Sie ist eher praktisch (einfache
59 Anwendung,effizient, vollständig) als schön (winzig, elegant,
60 minimal).
61
62 %description -l fr
63 Perl est un langage interprété, optimisé pour filtrer des fichiers
64 texte, extraire des informations de ces fichiers, et imprimer des
65 rapports basés sur ces informations. C'est aussi un bon langage pour
66 de nombreuses procédures de gestion système. Ce langage se veut
67 pratique (simple à utiliser, efficace, complet) autant qu'agréable
68 (conscrit, élégant, minimal).
69
70 %description -l pl
71 Perl jest jêzykiem przeznaczonym do skanowania plików tekstowych,
72 wyci±gania z nich informacji i drukowania raportu bazuj±cego na tych
73 informacjach. Jest równie¿ doskona³ym jêzykiem dla wielu narzêdzi do
74 nadzoru systemu. Jêzyk ten jest w zamierzeniu praktycznym (³atwym w
75 u¿yciu, efektywnym, kompletnym) bardziej ni¿ piêkny ;) (skromny,
76 elegancki, minimalny).
77
78 %description -l tr
79 Perl, metin dosyalarýný taramak, bu metin dosyalarýndan bilgi çýkarmak
80 ve bu bilgiye dayalý raporlar hazýrlamak icin geliþtirilmiþ bir
81 yorumlamalý dildir. Ayrýca pek çok sistem yönetimi görevleri için de
82 yararlý yetenekleri vardýr. Perl, güzel (ufak, zarif, minimum)
83 olmaktan çok, pratik olmaya yönelik (kullanýmý kolay, verimli,
84 eksiksiz) olarak tasarlanmýþtýr.
85
86 %package -n sperl
87 Summary:        Practical Extraction and Report Language (SUID root binary)
88 Summary(pl):    Practical Extraction and Report Language (SUID root binaria)
89 Group:          Applications/Text
90 Group(de):      Applikationen/Text
91 Group(fr):      Utilitaires/Texte
92 Group(pl):      Aplikacje/Tekst
93 Requires:       %{name} = %{version}
94
95 %description -n sperl
96 Practical Extraction and Report Language (SUID root binary).
97
98 %description -n sperl -l pl
99 Practical Extraction and Report Language (SUID root binaria).
100
101 %package -n perl-GDBM_File
102 Summary:        Practical Extraction and Report Language
103 Summary(pl):    Practical Extraction and Report Language
104 Group:          Applications/Text
105 Group(de):      Applikationen/Text
106 Group(fr):      Utilitaires/Texte
107 Group(pl):      Aplikacje/Tekst
108 Requires:       %{name} = %{version}
109
110 %description -n perl-GDBM_File
111 Practical Extraction and Report Language GDBM_File module.
112
113 %description -n perl-GDBM_File -l pl
114 Practical Extraction and Report Language modu³ GDBM_File.
115
116 %package -n perl-NDBM_File
117 Summary:        Practical Extraction and Report Language
118 Summary(pl):    Practical Extraction and Report Language
119 Group:          Applications/Text
120 Group(de):      Applikationen/Text
121 Group(fr):      Utilitaires/Texte
122 Group(pl):      Aplikacje/Tekst
123 Requires:       %{name} = %{version}
124
125 %description -n perl-NDBM_File
126 Practical Extraction and Report Language NDBM_File module.
127
128 %description -n perl-NDBM_File -l pl
129 Practical Extraction and Report Language modu³ NDBM_File.
130
131
132
133 %prep
134 %setup  -q
135 %patch0 -p1
136 %patch1 -p1
137 %patch2 -p1
138 %patch3 -p1
139 %patch4 -p1
140 %patch5 -p1
141 %patch6 -p1
142 %patch7 -p1
143 %patch8 -p1
144 %patch9 -p1
145 %patch10 -p1
146 %patch11 -p1
147 %patch12 -p1
148
149 for i in find-* ; do
150         mv -f $i $i.old
151         sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
152         chmod 755 $i; rm -f $i.old
153 done
154
155 %build
156 # this is gross
157 cat > config.over <<EOF
158 installprefix=$RPM_BUILD_ROOT%{_prefix}
159 test -d \$installprefix || mkdir -p \$installprefix
160 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
161 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
162 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
163 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
164 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
165 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
166 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
167 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
168 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
169 EOF
170
171 USETHREADS=%{?bcond_off_perl_threads:-U}%{!?bcond_off_perl_threads:-D}
172 sh Configure \
173         -des \
174         -Dcc=%{__cc} \
175         -Darchname=%{_target_platform} \
176         -Dcccdlflags='-fPIC' \
177         -Dprefix=%{_prefix} \
178         -Dscriptdir=%{_bindir} \
179         -Dman1dir=%{_mandir}/man1 \
180         -Dman3dir=%{_mandir}/man3 \
181         -Dman3ext=3pm \
182         -Doptimize="$RPM_OPT_FLAGS" \
183         ${USETHREADS}usethreads \
184         -Uuselargefiles \
185 %ifarch sparc sparc64
186         -Ud_longdbl \
187 %endif
188 %ifnarch sparc sparc64
189         -Duseshrplib \
190 %endif 
191         -Dd_dosuid \
192         -Ud_setresuid \
193         -Ud_setresgid
194         
195 %{__make}
196
197 (
198 cd ext/GDBM_File
199 ../../perl Makefile.PL
200 )
201 (
202 cd ext/NDBM_File
203 ../../perl Makefile.PL
204 )
205 %{__make} -C ext/GDBM_File
206 %{__make} -C ext/NDBM_File
207
208
209 %install
210 rm -rf $RPM_BUILD_ROOT
211 install -d $RPM_BUILD_ROOT
212
213 %{__make} install
214 %{__make} -C ext/GDBM_File install DESTDIR=$RPM_BUILD_ROOT
215 %{__make} -C ext/NDBM_File install DESTDIR=$RPM_BUILD_ROOT
216 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
217
218 ## Generate *.ph files with a trick (based on RH).
219
220 %{__make} all -f - <<EOF
221 PKGS    = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
222         libpng-devel libtiff-devel ncurses-devel popt-devel \
223         zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
224         rpm-devel
225 STDH    = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
226 STDH    += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
227 GCCDIR  = \$(shell gcc --print-file-name include)
228 GCCH    = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
229
230 LIBPATH = %{_builddir}/%{name}-%{version}
231 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
232 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
233 PERL    = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
234 PHDIR   = \$(PERLLIB)/%{_target_platform}%{perlthread}
235 PHBIN   = $RPM_BUILD_ROOT%{_bindir}/h2ph
236 H2PH    = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
237
238 all: std-headers gcc-headers
239
240 std-headers: \$(STDH)
241         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
242
243 gcc-headers: \$(GCCH)
244         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
245
246 EOF
247
248 ## Fix paths
249 (
250 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
251 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
252 mv -f Config.pm.new Config.pm
253 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
254 mv -f .packlist.new .packlist
255 )
256
257 ## Fix permissions
258 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
259 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
260
261 gzip -9nf README Change*
262
263
264 %clean
265 rm -rf $RPM_BUILD_ROOT
266
267 %files
268 %defattr(644,root,root,755)
269 %doc README.gz Change*
270
271 %attr(755,root,root) %{_bindir}/a2p
272 %attr(755,root,root) %{_bindir}/c2ph
273 %attr(755,root,root) %{_bindir}/find2perl
274 %attr(755,root,root) %{_bindir}/h2ph
275 %attr(755,root,root) %{_bindir}/h2xs
276 %attr(755,root,root) %{_bindir}/perl
277 %attr(755,root,root) %{_bindir}/perl%{version}
278 %attr(755,root,root) %{_bindir}/perlbug
279 %attr(755,root,root) %{_bindir}/perlcc
280 %attr(755,root,root) %{_bindir}/perldoc
281 %attr(755,root,root) %{_bindir}/pl2pm
282 %attr(755,root,root) %{_bindir}/pod2html
283 %attr(755,root,root) %{_bindir}/pod2latex
284 %attr(755,root,root) %{_bindir}/pod2man
285 %attr(755,root,root) %{_bindir}/pod2text
286 %attr(755,root,root) %{_bindir}/podselect
287 %attr(755,root,root) %{_bindir}/pstruct
288 %attr(755,root,root) %{_bindir}/s2p
289 %attr(755,root,root) %{_bindir}/splain
290
291 %dir %{_libdir}/perl5
292 %attr( - ,root,root) %{_libdir}/perl5/%{version}/*
293 #%dir %{_libdir}/site_perl
294 #%attr( - ,root,root) %{_libdir}/site_perl/*
295 %{_mandir}/man[13]/*
296
297 %files -n sperl
298 %defattr(644,root,root,755)
299 %attr(4755,root,root) %{_bindir}/sperl%{version}
300 %attr(4755,root,root) %{_bindir}/suidperl
301
302 %files -n perl-GDBM_File
303 %{_libdir}/perl5/site_perl/%{version}/%{_target_platform}%{perlthread}/GDBM_File.pm
304 %{_libdir}/perl5/site_perl/%{version}/%{_target_platform}%{perlthread}/auto/GDBM_File/*
305
306
307 %files -n perl-NDBM_File
308 %{_libdir}/perl5/site_perl/%{version}/%{_target_platform}%{perlthread}/NDBM_File.pm
309 %{_libdir}/perl5/site_perl/%{version}/%{_target_platform}%{perlthread}/auto/NDBM_File/*
This page took 0.109286 seconds and 4 git commands to generate.