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