]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
- release 4
[packages/perl.git] / perl.spec
1 %define         __find_provides %{_builddir}/%{name}-%{version}/find-perl-provides
2 %define         perlthread %{?bcond_on_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.1
10 Release:        4
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}-find-provides.patch
22 Patch4:         %{name}-prereq.patch
23 Patch5:         %{name}-syslog.patch
24 Patch6:         %{name}-CGI-upload-tmpdir.patch
25 Patch7:         %{name}-LD_RUN_PATH.patch
26 Patch8:         %{name}-errno_h-parsing.patch
27 Patch9:         %{name}-use-LD_PRELOAD-for-libperl.so.patch
28 Patch10:        %{name}-sitearch.patch
29 Patch11:        %{name}-soname.patch
30 URL:            http://www.perl.org/
31 #Requires:      csh
32 Provides:       perl-ANSIColor
33 Provides:       perl-Devel-Peek
34 Provides:       perl-DProf
35 Provides:       perl-PodParser
36 Provides:       perl-CGI
37 Obsoletes:      perl-ANSIColor
38 Obsoletes:      perl-Devel-Peek
39 Obsoletes:      perl-DProf
40 Obsoletes:      perl-PodParser
41 Obsoletes:      perl-CGI
42 Prereq:         %{name}-lib = %{version}
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %description
46 Perl is an interpreted language optimized for scanning arbitrary text
47 files, extracting information from those text files, and printing
48 reports based on that information. It's also a good language for many
49 system management tasks. The language is intended to be practical
50 (easy to use, efficient, complete) rather than beautiful (tiny,
51 elegant, minimal).
52
53 #This version has support for threads compiled in.
54
55 %description -l de
56 Perl ist eine Interpreter-Sprache, die zum Durchsuchen beliebiger
57 Text- dateien, Extrahieren von Informationen aus diesen Dateien und
58 Drucken von auf diesen Informationen basierenden Berichten optimiert
59 ist. Die Sprache eignet sich außerdem für viele
60 Systemverwaltungsaufgaben. Sie ist eher praktisch (einfache
61 Anwendung,effizient, vollständig) als schön (winzig, elegant,
62 minimal).
63
64 %description -l fr
65 Perl est un langage interprété, optimisé pour filtrer des fichiers
66 texte, extraire des informations de ces fichiers, et imprimer des
67 rapports basés sur ces informations. C'est aussi un bon langage pour
68 de nombreuses procédures de gestion système. Ce langage se veut
69 pratique (simple à utiliser, efficace, complet) autant qu'agréable
70 (conscrit, élégant, minimal).
71
72 %description -l pl
73 Perl jest jêzykiem przeznaczonym do skanowania plików tekstowych,
74 wyci±gania z nich informacji i drukowania raportu bazuj±cego na tych
75 informacjach. Jest równie¿ doskona³ym jêzykiem dla wielu narzêdzi do
76 nadzoru systemu. Jêzyk ten jest w zamierzeniu praktycznym (³atwym w
77 u¿yciu, efektywnym, kompletnym) bardziej ni¿ piêkny ;) (skromny,
78 elegancki, minimalny).
79
80 %description -l tr
81 Perl, metin dosyalarýný taramak, bu metin dosyalarýndan bilgi çýkarmak
82 ve bu bilgiye dayalý raporlar hazýrlamak icin geliþtirilmiþ bir
83 yorumlamalý dildir. Ayrýca pek çok sistem yönetimi görevleri için de
84 yararlý yetenekleri vardýr. Perl, güzel (ufak, zarif, minimum)
85 olmaktan çok, pratik olmaya yönelik (kullanýmý kolay, verimli,
86 eksiksiz) olarak tasarlanmýþtýr.
87
88 %package lib
89 Summary:        Shared Perl library and other version dependant files
90 Group:          Applications/Text
91
92 %description lib
93 Provides a shared library for programs which embed a Perl interpreter.
94
95 %package lib-devel
96 Summary:        Shared Perl library - development files
97 Group:          Applications/Text
98 Requires:       %{name}-lib = %{version}
99
100 %description lib-devel
101 Files for developing applications which embed a Perl interpreter.
102
103 %package doc
104 Summary:        Perl documentation
105 Group:          Applications/Text
106 Requires:       %{name} = %{version}
107
108 %description doc
109 Perl manual pages and POD docs.  If you are writing Perl programs, you
110 almost certainly need this.
111
112 %package -n sperl
113 Summary:        Practical Extraction and Report Language (SUID root binary)
114 Summary(pl):    Practical Extraction and Report Language (SUID root binaria)
115 Group:          Applications/Text
116 Group(de):      Applikationen/Text
117 Group(fr):      Utilitaires/Texte
118 Group(pl):      Aplikacje/Tekst
119 Requires:       %{name} = %{version}
120
121 %description -n sperl
122 Practical Extraction and Report Language (SUID root binary).
123
124 %description -n sperl -l pl
125 Practical Extraction and Report Language (SUID root binaria).
126
127 %package minimal
128 Summary:        Practical Extraction and Report Language - base files
129 Summary(pl):    Practical Extraction and Report Language - pliki podstawowe
130 Group:          Applications/Text
131 Group(de):      Applikationen/Text
132 Group(fr):      Utilitaires/Texte
133 Group(pl):      Aplikacje/Tekst
134 Prereq:         %{name}-lib = %{version}
135 Provides:       %{name} = %{version}
136 Conflicts:      %{name}
137
138 %description minimal
139 Practical Extraction and Report Language - base files, usefull
140 on embedded systems.
141
142 %description minimal -l pl
143 Practical Extraction and Report Language - pliki podstawowe, przydatne
144 dla systemów osadzonych.
145
146
147 %prep
148 %setup  -q
149 %patch0 -p1
150 %patch1 -p1
151 %patch2 -p1
152 %patch3 -p1
153 %patch4 -p1
154 %patch5 -p1
155 %patch6 -p1
156 %patch7 -p1
157 %patch8 -p1
158 %patch9 -p1
159 %patch10 -p1
160 %patch11 -p1
161
162 for i in find-* ; do
163         mv -f $i $i.old
164         sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
165         chmod 755 $i; rm -f $i.old
166 done
167
168 %build
169 # this is gross
170 # i added more ugly stuff here
171 # i know that is ugly way to set that but i dont know how do it better  
172 cat > config.over <<EOF
173 installprefix=$RPM_BUILD_ROOT%{_prefix}
174 test -d \$installprefix || mkdir -p \$installprefix
175 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
176 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
177 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
178 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
179 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
180 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
181 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
182 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
183 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
184 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
185 EOF
186
187 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
188 sh Configure \
189         -des \
190         -Dcc=%{__cc} \
191         -Darchname=%{_target_platform} \
192         -Dcccdlflags='-fPIC' \
193         -Dccdlflags='-rdynamic' \
194         -Dprefix=%{_prefix} \
195         -Dscriptdir=%{_bindir} \
196         -Dsitelib=%{_libdir}/perl5/site_perl \
197         -Dman1dir=%{_mandir}/man1 \
198         -Dman3dir=%{_mandir}/man3 \
199         -Dman3ext=3pm \
200         -Doptimize="$RPM_OPT_FLAGS" \
201         ${USETHREADS}usethreads \
202         -Uuselargefiles \
203 %ifarch sparc sparc64
204         -Ud_longdbl \
205 %endif
206 %ifnarch sparc sparc64
207         -Duseshrplib \
208 %endif 
209         -Dd_dosuid \
210         -Ud_setresuid \
211         -Ud_setresgid 
212
213 mv Makefile Makefile.bak
214 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
215         Makefile.bak > Makefile
216
217 %{__make}
218
219 %install
220 rm -rf $RPM_BUILD_ROOT
221 install -d $RPM_BUILD_ROOT
222
223 %{__make} install
224 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
225
226 ## Generate *.ph files with a trick (based on RH).
227
228 %{__make} all -f - <<EOF
229 PKGS    = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
230         libpng-devel libtiff-devel ncurses-devel popt-devel \
231         zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
232         rpm-devel
233 STDH    = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
234 STDH    += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
235 GCCDIR  = \$(shell gcc --print-file-name include)
236 GCCH    = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
237
238 LIBPATH = %{_builddir}/%{name}-%{version}
239 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
240 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
241 PERL    = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
242 PHDIR   = \$(PERLLIB)/%{_target_platform}%{perlthread}
243 PHBIN   = $RPM_BUILD_ROOT%{_bindir}/h2ph
244 H2PH    = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
245
246 all: std-headers gcc-headers
247
248 std-headers: \$(STDH)
249         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
250
251 gcc-headers: \$(GCCH)
252         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
253
254 EOF
255
256 ## Fix paths
257 (
258 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
259 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
260 mv -f Config.pm.new Config.pm
261 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
262 mv -f .packlist.new .packlist
263 )
264
265 ## Fix permissions
266 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
267 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
268
269 ## Fix lib
270 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
271 install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
272 ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
273
274 gzip -9nf README Change*
275
276 %clean
277 rm -rf $RPM_BUILD_ROOT
278
279 %post lib -p /sbin/ldconfig
280 %postun lib -p /sbin/ldconfig
281
282 %files
283 %defattr(644,root,root,755)
284 %doc README.gz Change*
285
286 %attr(755,root,root) %{_bindir}/a2p
287 %attr(755,root,root) %{_bindir}/c2ph
288 %attr(755,root,root) %{_bindir}/find2perl
289 %attr(755,root,root) %{_bindir}/h2ph
290 %attr(755,root,root) %{_bindir}/h2xs
291 %attr(755,root,root) %{_bindir}/perl
292 %attr(755,root,root) %{_bindir}/perl%{version}
293 %attr(755,root,root) %{_bindir}/perlbug
294 %attr(755,root,root) %{_bindir}/perlcc
295 %attr(755,root,root) %{_bindir}/pl2pm
296 %attr(755,root,root) %{_bindir}/pod2html
297 %attr(755,root,root) %{_bindir}/pod2latex
298 %attr(755,root,root) %{_bindir}/pod2man
299 %attr(755,root,root) %{_bindir}/pod2text
300 %attr(755,root,root) %{_bindir}/podselect
301 %attr(755,root,root) %{_bindir}/pstruct
302 %attr(755,root,root) %{_bindir}/s2p
303 %attr(755,root,root) %{_bindir}/splain
304
305 %dir %{_libdir}/perl5
306 %dir %{_libdir}/perl5/%{version}
307 %dir %{_libdir}/perl5/site_perl
308 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
309 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
310
311 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
312 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
313 %attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
314 %attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
315 %attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
316 %attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
317
318 %files lib
319 %defattr(644,root,root,755)
320 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
321
322 %files lib-devel
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/lib*.so
325
326 %files doc
327 %defattr(644,root,root,755)
328 %attr(755,root,root) %{_bindir}/perldoc
329 %{_mandir}/man[13]/*
330 %{_libdir}/perl5/%{version}/pod/*
331
332 %files -n sperl
333 %defattr(644,root,root,755)
334 %attr(4755,root,root) %{_bindir}/sperl%{version}
335 %attr(4755,root,root) %{_bindir}/suidperl
336
337 %files minimal
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_bindir}/perl
340 %attr(755,root,root) %{_bindir}/perl%{version}
341
342 %dir %{_libdir}/perl5
343 %dir %{_libdir}/perl5/%{version}
344 %dir %{_libdir}/perl5/site_perl
345 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
346 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
347
348 %{_libdir}/perl5/%{version}/AutoLoader.pm
349 %{_libdir}/perl5/%{version}/Carp.pm
350 %{_libdir}/perl5/%{version}/Carp/Heavy.pm
351 %{_libdir}/perl5/%{version}/Cwd.pm
352 %{_libdir}/perl5/%{version}/Exporter.pm
353 %{_libdir}/perl5/%{version}/Exporter/Heavy.pm
354 %{_libdir}/perl5/%{version}/File/Spec.pm
355 %{_libdir}/perl5/%{version}/File/Spec/Unix.pm
356 %{_libdir}/perl5/%{version}/FileHandle.pm
357 %{_libdir}/perl5/%{version}/IO/Socket/INET.pm
358 %{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
359 %{_libdir}/perl5/%{version}/IPC/Open2.pm
360 %{_libdir}/perl5/%{version}/IPC/Open3.pm
361 %{_libdir}/perl5/%{version}/SelectSaver.pm
362 %{_libdir}/perl5/%{version}/Symbol.pm
363 %{_libdir}/perl5/%{version}/Text/Tabs.pm
364 %{_libdir}/perl5/%{version}/Text/Wrap.pm
365 %{_libdir}/perl5/%{version}/attributes.pm
366 %{_libdir}/perl5/%{version}/base.pm
367 %{_libdir}/perl5/%{version}/constant.pm
368 %{_libdir}/perl5/%{version}/fields.pm
369 %{_libdir}/perl5/%{version}/integer.pm
370 %{_libdir}/perl5/%{version}/lib.pm
371 %{_libdir}/perl5/%{version}/locale.pm
372 %{_libdir}/perl5/%{version}/overload.pm
373 %{_libdir}/perl5/%{version}/strict.pm
374 %{_libdir}/perl5/%{version}/vars.pm
375 %{_libdir}/perl5/%{version}/warnings.pm
376 %{_libdir}/perl5/%{version}/warnings/register.pm
377 %{_libdir}/perl5/%{version}/%{_target_platform}*/Config.pm
378 %{_libdir}/perl5/%{version}/%{_target_platform}*/Data/Dumper.pm
379 %{_libdir}/perl5/%{version}/%{_target_platform}*/DynaLoader.pm
380 %{_libdir}/perl5/%{version}/%{_target_platform}*/Errno.pm
381 %{_libdir}/perl5/%{version}/%{_target_platform}*/Fcntl.pm
382 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
383 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
384 %{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
385 %{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
386 %{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
387 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Data/Dumper
388 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
389 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Fcntl
390 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
391 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
392 %attr( - , root, root) %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket
This page took 0.087016 seconds and 3 git commands to generate.