]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
d7239ba0f4901c610e6180767d317ba02e2a174c
[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:        6
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:          Libraries
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:          Development/Libraries
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 Conflicts:      %{name}
136
137 %description minimal
138 Practical Extraction and Report Language - base files, usefull
139 on embedded systems.
140
141 %description minimal -l pl
142 Practical Extraction and Report Language - pliki podstawowe, przydatne
143 dla systemów osadzonych.
144
145
146 %prep
147 %setup  -q
148 %patch0 -p1
149 %patch1 -p1
150 %patch2 -p1
151 %patch3 -p1
152 %patch4 -p1
153 %patch5 -p1
154 %patch6 -p1
155 %patch7 -p1
156 %patch8 -p1
157 %patch9 -p1
158 %patch10 -p1
159 %patch11 -p1
160
161 for i in find-* ; do
162         mv -f $i $i.old
163         sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
164         chmod 755 $i; rm -f $i.old
165 done
166
167 %build
168 # this is gross
169 # i added more ugly stuff here
170 # i know that is ugly way to set that but i dont know how do it better  
171 cat > config.over <<EOF
172 installprefix=$RPM_BUILD_ROOT%{_prefix}
173 test -d \$installprefix || mkdir -p \$installprefix
174 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
175 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
176 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
177 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
178 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
179 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
180 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
181 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
182 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
183 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
184 EOF
185
186 USETHREADS=%{!?bcond_on_perl_threads:-U}%{?bcond_on_perl_threads:-D}
187 sh Configure \
188         -des \
189         -Dcc=%{__cc} \
190         -Darchname=%{_target_platform} \
191         -Dcccdlflags='-fPIC' \
192         -Dccdlflags='-rdynamic' \
193         -Dprefix=%{_prefix} \
194         -Dscriptdir=%{_bindir} \
195         -Dsitelib=%{_libdir}/perl5/site_perl \
196         -Dman1dir=%{_mandir}/man1 \
197         -Dman3dir=%{_mandir}/man3 \
198         -Dman3ext=3pm \
199         -Doptimize="$RPM_OPT_FLAGS" \
200         ${USETHREADS}usethreads \
201         -Uuselargefiles \
202 %ifarch sparc sparc64
203         -Ud_longdbl \
204 %endif
205         -Duseshrplib \
206         -Dd_dosuid \
207         -Ud_setresuid \
208         -Ud_setresgid 
209
210 mv Makefile Makefile.bak
211 sed -e 's#^CCDLFLAGS = -rdynamic -Wl,-rpath,/usr/lib/perl5/.*#CCDLFLAGS = -rdynamic#' \
212         Makefile.bak > Makefile
213
214 %{__make}
215
216 %install
217 rm -rf $RPM_BUILD_ROOT
218 install -d $RPM_BUILD_ROOT
219
220 %{__make} install
221 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
222
223 ## Generate *.ph files with a trick (based on RH).
224
225 %{__make} all -f - <<EOF
226 PKGS    = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
227         libpng-devel libtiff-devel ncurses-devel popt-devel \
228         zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
229         rpm-devel
230 STDH    = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
231 STDH    += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
232 GCCDIR  = \$(shell gcc --print-file-name include)
233 GCCH    = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
234
235 LIBPATH = %{_builddir}/%{name}-%{version}
236 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
237 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
238 PERL    = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
239 PHDIR   = \$(PERLLIB)/%{_target_platform}%{perlthread}
240 PHBIN   = $RPM_BUILD_ROOT%{_bindir}/h2ph
241 H2PH    = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
242
243 all: std-headers gcc-headers
244
245 std-headers: \$(STDH)
246         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
247
248 gcc-headers: \$(GCCH)
249         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
250
251 EOF
252
253 ## Fix paths
254 (
255 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
256 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
257 mv -f Config.pm.new Config.pm
258 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
259 mv -f .packlist.new .packlist
260 )
261
262 ## Fix permissions
263 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
264 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
265
266 ## Fix lib
267 rm -f $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/*/CORE/libperl.so*
268 install libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/
269 ln -sf libperl.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libperl.so
270
271 gzip -9nf README Change*
272
273 %clean
274 rm -rf $RPM_BUILD_ROOT
275
276 %post lib -p /sbin/ldconfig
277 %postun lib -p /sbin/ldconfig
278
279 %files
280 %defattr(644,root,root,755)
281 %doc README.gz Change*
282
283 %attr(755,root,root) %{_bindir}/a2p
284 %attr(755,root,root) %{_bindir}/c2ph
285 %attr(755,root,root) %{_bindir}/find2perl
286 %attr(755,root,root) %{_bindir}/h2ph
287 %attr(755,root,root) %{_bindir}/h2xs
288 %attr(755,root,root) %{_bindir}/perl
289 %attr(755,root,root) %{_bindir}/perl%{version}
290 %attr(755,root,root) %{_bindir}/perlbug
291 %attr(755,root,root) %{_bindir}/perlcc
292 %attr(755,root,root) %{_bindir}/pl2pm
293 %attr(755,root,root) %{_bindir}/pod2html
294 %attr(755,root,root) %{_bindir}/pod2latex
295 %attr(755,root,root) %{_bindir}/pod2man
296 %attr(755,root,root) %{_bindir}/pod2text
297 %attr(755,root,root) %{_bindir}/podselect
298 %attr(755,root,root) %{_bindir}/pstruct
299 %attr(755,root,root) %{_bindir}/s2p
300 %attr(755,root,root) %{_bindir}/splain
301
302 %dir %{_libdir}/perl5
303 %dir %{_libdir}/perl5/%{version}
304 %dir %{_libdir}/perl5/site_perl
305 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
306 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
307
308 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[A-Z]*
309 %attr( - ,root,root) %{_libdir}/perl5/%{version}/[a-z]*.*
310 %attr( - ,root,root) %{_libdir}/perl5/%{version}/auto
311 %attr( - ,root,root) %{_libdir}/perl5/%{version}/%{_target_platform}*
312 %attr( - ,root,root) %{_libdir}/perl5/%{version}/unicode
313 %attr( - ,root,root) %{_libdir}/perl5/%{version}/warnings
314
315 %files lib
316 %defattr(644,root,root,755)
317 %attr(755,root,root) %{_libdir}/lib*.so.*.*.*
318
319 %files lib-devel
320 %defattr(644,root,root,755)
321 %attr(755,root,root) %{_libdir}/lib*.so
322
323 %files doc
324 %defattr(644,root,root,755)
325 %attr(755,root,root) %{_bindir}/perldoc
326 %{_mandir}/man[13]/*
327 %{_libdir}/perl5/%{version}/pod/*
328
329 %files -n sperl
330 %defattr(644,root,root,755)
331 %attr(4755,root,root) %{_bindir}/sperl%{version}
332 %attr(4755,root,root) %{_bindir}/suidperl
333
334 %files minimal
335 %defattr(644,root,root,755)
336 %attr(755,root,root) %{_bindir}/perl
337 %attr(755,root,root) %{_bindir}/perl%{version}
338
339 %dir %{_libdir}/perl5
340 %dir %{_libdir}/perl5/%{version}
341 %dir %{_libdir}/perl5/site_perl
342 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*
343 %dir %{_libdir}/perl5/site_perl/%{_target_platform}*/%{version}
344
345 %{_libdir}/perl5/%{version}/AutoLoader.pm
346 %{_libdir}/perl5/%{version}/Carp.pm
347 %{_libdir}/perl5/%{version}/Cwd.pm
348 %{_libdir}/perl5/%{version}/DirHandle.pm
349 %{_libdir}/perl5/%{version}/Exporter.pm
350 %{_libdir}/perl5/%{version}/File/Basename.pm
351 %{_libdir}/perl5/%{version}/File/Find.pm
352 %{_libdir}/perl5/%{version}/File/Path.pm
353 %{_libdir}/perl5/%{version}/File/Spec.pm
354 %{_libdir}/perl5/%{version}/File/Spec/Unix.pm
355 %{_libdir}/perl5/%{version}/FileHandle.pm
356 %{_libdir}/perl5/%{version}/IO/Socket/INET.pm
357 %{_libdir}/perl5/%{version}/IO/Socket/UNIX.pm
358 %{_libdir}/perl5/%{version}/IPC/Open2.pm
359 %{_libdir}/perl5/%{version}/IPC/Open3.pm
360 %{_libdir}/perl5/%{version}/SelectSaver.pm
361 %{_libdir}/perl5/%{version}/Symbol.pm
362 %{_libdir}/perl5/%{version}/Text/Tabs.pm
363 %{_libdir}/perl5/%{version}/Text/Wrap.pm
364 %{_libdir}/perl5/%{version}/Time/Local.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}*/DynaLoader.pm
379 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO.pm
380 %{_libdir}/perl5/%{version}/%{_target_platform}*/IO/*.pm
381 %{_libdir}/perl5/%{version}/%{_target_platform}*/POSIX.pm
382 %{_libdir}/perl5/%{version}/%{_target_platform}*/Socket.pm
383 %{_libdir}/perl5/%{version}/%{_target_platform}*/XSLoader.pm
384 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader/dl_findfile.al
385 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO/IO.so
386 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/POSIX.so
387 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX/tmpfile.al
388 %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket/Socket.so
389
390 %dir %{_libdir}/perl5/%{version}/File
391 %dir %{_libdir}/perl5/%{version}/File/Spec
392 %dir %{_libdir}/perl5/%{version}/IO
393 %dir %{_libdir}/perl5/%{version}/IO/Socket
394 %dir %{_libdir}/perl5/%{version}/IPC
395 %dir %{_libdir}/perl5/%{version}/Text
396 %dir %{_libdir}/perl5/%{version}/Time
397 %dir %{_libdir}/perl5/%{version}/warnings
398 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*
399 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/IO
400 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto
401 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/DynaLoader
402 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/IO
403 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/POSIX
404 %dir %{_libdir}/perl5/%{version}/%{_target_platform}*/auto/Socket
This page took 0.060795 seconds and 2 git commands to generate.