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