]> git.pld-linux.org Git - packages/perl.git/blob - perl.spec
861e71a3b9963758ec98341824e12b258eb47e52
[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
102 %prep
103 %setup  -q
104 %patch0 -p1
105 %patch1 -p1
106 %patch2 -p1
107 %patch3 -p1
108 %patch4 -p1
109 %patch5 -p1
110 %patch6 -p1
111 %patch7 -p1
112 %patch8 -p1
113 %patch9 -p1
114 %patch10 -p1
115 %patch11 -p1
116 %patch12 -p1
117
118 for i in find-* ; do
119         mv -f $i $i.old
120         sed "s|FPPATH|%{_builddir}/%{name}-%{version}|g" < $i.old > $i
121         chmod 755 $i; rm -f $i.old
122 done
123
124 %build
125 # this is gross
126 # i added more ugly stuff here
127 # i know that is ugly way to set that but i dont know how do it better  
128 cat > config.over <<EOF
129 installprefix=$RPM_BUILD_ROOT%{_prefix}
130 test -d \$installprefix || mkdir -p \$installprefix
131 test -d \$installprefix/bin || mkdir -p \$installprefix/bin
132 installarchlib=\`echo \$installarchlib | sed "s!\$prefix!\$installprefix!"\`
133 installbin=\`echo \$installbin | sed "s!\$prefix!\$installprefix!"\`
134 installman1dir=\`echo \$installman1dir | sed "s!\$prefix!\$installprefix!"\`
135 installman3dir=\`echo \$installman3dir | sed "s!\$prefix!\$installprefix!"\`
136 installprivlib=\`echo \$installprivlib | sed "s!\$prefix!\$installprefix!"\`
137 installscript=\`echo \$installscript | sed "s!\$prefix!\$installprefix!"\`
138 installsitelib=\`echo \$installsitelib | sed "s!\$prefix!\$installprefix!"\`
139 installsitearch=\`echo \$installsitearch | sed "s!\$prefix!\$installprefix!"\`
140 dynamic_ext=\`echo \$dynamic_ext GDBM_File NDBM_File\`
141 EOF
142
143 USETHREADS=%{?bcond_off_perl_threads:-U}%{!?bcond_off_perl_threads:-D}
144 sh Configure \
145         -des \
146         -Dcc=%{__cc} \
147         -Darchname=%{_target_platform} \
148         -Dcccdlflags='-fPIC' \
149         -Dprefix=%{_prefix} \
150         -Dscriptdir=%{_bindir} \
151         -Dman1dir=%{_mandir}/man1 \
152         -Dman3dir=%{_mandir}/man3 \
153         -Dman3ext=3pm \
154         -Doptimize="$RPM_OPT_FLAGS" \
155         ${USETHREADS}usethreads \
156         -Uuselargefiles \
157 %ifarch sparc sparc64
158         -Ud_longdbl \
159 %endif
160 %ifnarch sparc sparc64
161         -Duseshrplib \
162 %endif 
163         -Dd_dosuid \
164         -Ud_setresuid \
165         -Ud_setresgid 
166
167 %{__make}
168
169 %install
170 rm -rf $RPM_BUILD_ROOT
171 install -d $RPM_BUILD_ROOT
172
173 %{__make} install
174 install utils/pl2pm $RPM_BUILD_ROOT%{_bindir}/pl2pm
175
176 ## Generate *.ph files with a trick (based on RH).
177
178 %{__make} all -f - <<EOF
179 PKGS    = glibc-devel gdbm-devel gpm-devel libgr-devel libjpeg-devel \
180         libpng-devel libtiff-devel ncurses-devel popt-devel \
181         zlib-devel binutils libelf e2fsprogs-devel pam-devel pwdb-devel \
182         rpm-devel
183 STDH    = \$(filter /usr/include/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' \$(PKGS)))
184 STDH    += \$(wildcard /usr/include/linux/*.h) \$(wildcard /usr/include/asm/*.h) \$(wildcard /usr/include/scsi/*.h)
185 GCCDIR  = \$(shell gcc --print-file-name include)
186 GCCH    = \$(filter \$(GCCDIR)/%%, \$(shell rpm -q --queryformat '[%%{FILENAMES}\n]' gcc))
187
188 LIBPATH = %{_builddir}/%{name}-%{version}
189 PERLLIB = $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}
190 PERLBIN = $RPM_BUILD_ROOT%{_bindir}/perl
191 PERL    = LD_LIBRARY_PATH=\$(LIBPATH) PERL5LIB=\$(PERLLIB) \$(PERLBIN)
192 PHDIR   = \$(PERLLIB)/%{_target_platform}%{perlthread}
193 PHBIN   = $RPM_BUILD_ROOT%{_bindir}/h2ph
194 H2PH    = \$(PERL) \$(PHBIN) -d \$(PHDIR)/
195
196 all: std-headers gcc-headers
197
198 std-headers: \$(STDH)
199         cd /usr/include && \$(H2PH) \$(STDH:/usr/include/%%=%%)
200
201 gcc-headers: \$(GCCH)
202         cd \$(GCCDIR) && \$(H2PH) \$(GCCH:\$(GCCDIR)/%%=%%)
203
204 EOF
205
206 ## Fix paths
207 (
208 cd $RPM_BUILD_ROOT%{_libdir}/perl5/%{version}/%{_target_platform}%{perlthread}
209 sed -e "s|$RPM_BUILD_ROOT||g" < Config.pm > Config.pm.new
210 mv -f Config.pm.new Config.pm
211 sed -e "s|$RPM_BUILD_ROOT||g" < .packlist > .packlist.new
212 mv -f .packlist.new .packlist
213 )
214
215 ## Fix permissions
216 find $RPM_BUILD_ROOT%{_libdir}/perl5 -name \*.ph -exec chmod 444 {} \;
217 find $RPM_BUILD_ROOT%{_libdir}/perl5 -type d -exec chmod 755 {} \;
218
219 gzip -9nf README Change*
220
221
222 %clean
223 rm -rf $RPM_BUILD_ROOT
224
225 %files
226 %defattr(644,root,root,755)
227 %doc README.gz Change*
228
229 %attr(755,root,root) %{_bindir}/a2p
230 %attr(755,root,root) %{_bindir}/c2ph
231 %attr(755,root,root) %{_bindir}/find2perl
232 %attr(755,root,root) %{_bindir}/h2ph
233 %attr(755,root,root) %{_bindir}/h2xs
234 %attr(755,root,root) %{_bindir}/perl
235 %attr(755,root,root) %{_bindir}/perl%{version}
236 %attr(755,root,root) %{_bindir}/perlbug
237 %attr(755,root,root) %{_bindir}/perlcc
238 %attr(755,root,root) %{_bindir}/perldoc
239 %attr(755,root,root) %{_bindir}/pl2pm
240 %attr(755,root,root) %{_bindir}/pod2html
241 %attr(755,root,root) %{_bindir}/pod2latex
242 %attr(755,root,root) %{_bindir}/pod2man
243 %attr(755,root,root) %{_bindir}/pod2text
244 %attr(755,root,root) %{_bindir}/podselect
245 %attr(755,root,root) %{_bindir}/pstruct
246 %attr(755,root,root) %{_bindir}/s2p
247 %attr(755,root,root) %{_bindir}/splain
248
249 %dir %{_libdir}/perl5
250 %attr( - ,root,root) %{_libdir}/perl5/%{version}/*
251 #%dir %{_libdir}/site_perl
252 #%attr( - ,root,root) %{_libdir}/site_perl/*
253 %{_mandir}/man[13]/*
254
255 %files -n sperl
256 %defattr(644,root,root,755)
257 %attr(4755,root,root) %{_bindir}/sperl%{version}
258 %attr(4755,root,root) %{_bindir}/suidperl
This page took 0.033857 seconds and 2 git commands to generate.