]> git.pld-linux.org Git - packages/tcl.git/blame_incremental - tcl.spec
- updated to 8.6.9
[packages/tcl.git] / tcl.spec
... / ...
CommitLineData
1# TODO
2# - why is tclConfig.sh in /usr/lib on lib64 platform?
3#
4# Conditional build:
5%bcond_with threads
6%bcond_without tests # don't perform "make test"
7#
8%define major 8.6
9%define minor 9
10Summary: Tool Command Language embeddable scripting language, with shared libraries
11Summary(fr.UTF-8): Tool Command Language, langage de script avec bibliothèques partagées
12Summary(pl.UTF-8): Tool Command Language - język skryptowy z bibliotekami dynamicznymi
13Summary(ru.UTF-8): Tool Command Language - встраиваемый язык скриптов
14Summary(tr.UTF-8): Tcl ile kullanılabilen betik dili
15Summary(uk.UTF-8): Tool Command Language - вбудовувана мова скриптів
16Name: tcl
17Version: %{major}.%{minor}
18Release: 1
19License: BSD
20Group: Development/Languages/Tcl
21Source0: http://downloads.sourceforge.net/tcl/%{name}-core%{version}-src.tar.gz
22# Source0-md5: 4f9f1d1b3e2fe4617c6fdeae4f247cd4
23Source1: %{name}-pl-man-pages.tar.bz2
24# Source1-md5: dd3370f2b588763758787831a4bf48fc
25Patch2: %{name}-opt.patch
26Patch3: %{name}-mannames.patch
27Patch4: %{name}-soname_fix.patch
28Patch5: %{name}-norpath.patch
29Patch6: %{name}-multilib.patch
30Patch7: %{name}-autopath.patch
31Patch8: %{name}-hidden.patch
32Patch9: %{name}-conf.patch
33Patch10: libc-version.patch
34URL: http://www.tcl.tk/
35BuildRequires: autoconf >= 2.59
36BuildRequires: ncurses-devel >= 5.2
37Requires: tzdata
38Provides: tcl(abi) = %{major}
39BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
40
41%define _ulibdir /usr/lib
42
43%if "%{_libdir}" != "%{_ulibdir}"
44%define have_ulibdir 1
45%endif
46
47%description
48Tcl is a simple scripting language that is designed to be embedded in
49other applications. This package includes tclsh, a simple example of a
50tcl application. Tcl is very popular for writing small graphical
51applications because of the Tk widget set which is closely tied to it.
52
53%description -l de.UTF-8
54Tcl ist eine einfache Skriptsprache, die zur Ingegration in andere
55Applikationen vorgesehen ist. Dieses Paket umfaßt tclsh, ein einfaches
56Beispiel einer tcl-Applikation. Tcl wird gern zum Schreiben kleiner
57grafischer Anwendungen benutzt, weil das Tk-Widget-Set eng damit
58verknüpft ist.
59
60%description -l fr.UTF-8
61Tcl est un langage simple de script, conçu pour être intégré dans
62d'autres applications. Ce paquetage contient tclsh, un exemple simple
63d'application tcl. Tcl est très utilisé pour écrire de petites
64applications graphiques grâce à l'ensemble de widgets Tk qui lui est
65très lié.
66
67%description -l ja.UTF-8
68Tcl は他のアプリケーションに埋め込むためにデザインされた簡単なスクリプ
69ト言語です。Tclはウィジッド・セットであるTkとともに用いるようにデザイン
70しています。このパッケージにはTclの簡単な例として、tclsh
71も含んでいます。
72
73%description -l pl.UTF-8
74Tcl jest prostym językiem skryptowym, przeznaczonym do współpracy z
75innymi aplikacjami. W pakiecie znajduje się również tclsh - prosty
76przykład programów. Tcl jest bardzo popularnym językiem do pisania
77małych programów graficznych.
78
79%description -l ru.UTF-8
80Tcl - это простой интерпретируемый язык, предназначенный для
81встраивания в другие программы. Этот пакет включает tclsh, простой
82пример программы на tcl. Tcl очень популярен для написания небольших
83графических программ из-за набора экранных примитивов Tk, который
84очень тесно с ним связан.
85
86%description -l tr.UTF-8
87Tcl, başka uygulamaların içine gömülmesi hedeflenerek geliştirilmiş
88basit bir betimleme dilidir. Bu paket basit bir Tcl uygulaması örneği
89olan tclsh kabuğunu içerir. Tcl, kendisi ile sıkıca ilintili olan Tk
90arayüz elemanı kümesinin de desteğiyle küçük grafik uygulamalar yazma
91konusunda son derece yaygın kullanılmaktadır.
92
93%description -l uk.UTF-8
94Tcl - це проста інтерпретована мова, призначена для вбудови в інші
95програми. Цей пакет містить також tclsh, простий приклад програми на
96tcl. Tcl дуже популярний для написання простих графічних програм
97завдяки набору екранних примітивів Tk, котрий з ним дуже тісно
98зв'язаний.
99
100%package devel
101Summary: Tool Command Language header files and development documentation
102Summary(pl.UTF-8): Pliki nagłówkowe oraz dokumentacja dla Tcl (Tool Command Language)
103Group: Development/Languages/Tcl
104Requires: %{name} = %{version}-%{release}
105
106%description devel
107Tool Command Language embeddable scripting language header files and
108develpment documentation.
109
110%description devel -l pl.UTF-8
111Pliki nagłówkowe oraz dokumentacja dla Tcl (Tool Command Language).
112
113%prep
114%setup -q -n %{name}%{version}
115
116%patch2 -p1
117%patch3 -p1
118%patch4 -p1
119%patch5 -p1
120%patch6 -p1
121%patch7 -p1
122%patch8 -p1
123%patch9 -p1
124%patch10 -p1
125
126%build
127%if %{with threads}
128# Make sure we have /proc mounted - otherwise pthread_getattr_np will fail
129# https://sourceforge.net/tracker/index.php?func=detail&aid=1815573&group_id=10894&atid=110894
130if [ ! -r /proc/self/maps ]; then
131 echo "You need to have /proc mounted in order to build this package!"
132 exit 1
133fi
134%endif
135
136cd unix
137%{__autoconf}
138%configure \
139 OPTFLAGS="%{rpmcflags} %{rpmcppflags}" \
140 --enable-langinfo \
141 --enable-shared \
142 --%{?with_threads:en}%{!?with_threads:dis}able-threads \
143 --enable-64bit \
144 --without-tzdata
145%{__make}
146
147cp -a tclConfig.sh tclConfig.sh-orig
148sed -i -e "s#%{_builddir}/%{name}%{version}/unix#%{_libdir}#; \
149 s#%{_builddir}/%{name}%{version}#%{_includedir}/tcl-private#" tclConfig.sh
150if cmp -s tclConfig.sh tclConfig.sh-orig; then
151 echo "tclConfig.sh fix rule didn't change anything. Please verify it."
152fi
153
154%if %{with tests}
155# tests that are problematic on builders; some probably could be fixed
156rm ../tests/{http,httpold,socket,unixInit}.test
157# problematic
158rm ../tests/{clock,async}.test
159
160%{__make} test 2>&1 | tee make-test.log
161FAILED=$(grep 'Files with failing tests:' make-test.log | sed -e 's#Files with failing tests: ##g' | sort | xargs)
162if [ -n "$FAILED" ]; then
163 echo "Files with failing tests: $FAILED"
164 exit 1
165fi
166%endif
167
168%install
169rm -rf $RPM_BUILD_ROOT
170install -d $RPM_BUILD_ROOT{%{_datadir}/tcl%{major},%{_prefix},%{_mandir}/man1}
171
172%{__make} -C unix install \
173 INSTALL_ROOT=$RPM_BUILD_ROOT \
174 MAN_INSTALL_DIR=$RPM_BUILD_ROOT%{_mandir}
175
176# avoid Tcl_SetObjLength called with shared object error
177# http://www.mail-archive.com/pld-devel-en@lists.pld-linux.org/msg05239.html
178sed -i -e '/set auto_index(history)/s,^,#&,' $RPM_BUILD_ROOT%{_ulibdir}/tcl%{major}/tclIndex
179
180install -d $RPM_BUILD_ROOT%{_includedir}/%{name}-private/{generic,unix}
181find generic unix -name '*.h' -exec cp -p '{}' $RPM_BUILD_ROOT%{_includedir}/%{name}-private/'{}' ';'
182for h in $RPM_BUILD_ROOT%{_includedir}/*.h; do
183 rh=$(basename "$h")
184 if [ -f "$RPM_BUILD_ROOT%{_includedir}/%{name}-private/generic/$rh" ]; then
185 ln -sf "../../$rh" $RPM_BUILD_ROOT%{_includedir}/%{name}-private/generic
186 fi
187done
188
189ln -sf libtcl%{major}.so.0.0 $RPM_BUILD_ROOT%{_libdir}/libtcl.so
190ln -sf libtcl%{major}.so.0.0 $RPM_BUILD_ROOT%{_libdir}/libtcl%{major}.so
191ln -sf libtcl%{major}.so.0.0 $RPM_BUILD_ROOT%{_libdir}/libtcl%{major}.so.0
192mv -f $RPM_BUILD_ROOT%{_bindir}/tclsh%{major} $RPM_BUILD_ROOT%{_bindir}/tclsh
193
194%{?have_ulibdir:mv $RPM_BUILD_ROOT%{_libdir}/tclConfig.sh $RPM_BUILD_ROOT%{_ulibdir}/tclConfig.sh}
195%{?have_ulibdir:mv $RPM_BUILD_ROOT%{_libdir}/tclooConfig.sh $RPM_BUILD_ROOT%{_ulibdir}/tclooConfig.sh}
196
197bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
198
199install -d $RPM_BUILD_ROOT%{_libdir}/tcl%{major}
200
201%clean
202rm -rf $RPM_BUILD_ROOT
203
204%post -p /sbin/ldconfig
205%postun -p /sbin/ldconfig
206
207%files
208%defattr(644,root,root,755)
209%attr(755,root,root) %{_bindir}/*
210%attr(755,root,root) %{_libdir}/libtcl%{major}.so.*.*
211%attr(755,root,root) %ghost %{_libdir}/libtcl%{major}.so.0
212%{?have_ulibdir:%dir %{_libdir}/tcl%{major}}
213%dir %{_datadir}/tcl%{major}
214%{_ulibdir}/tcl[0-9]
215%dir %{_ulibdir}/tcl%{major}
216%{_ulibdir}/tcl%{major}/*.tcl
217%{_ulibdir}/tcl%{major}/encoding
218%{_ulibdir}/tcl%{major}/http1.0
219%{_ulibdir}/tcl%{major}/opt0.4
220%{_ulibdir}/tcl%{major}/tclIndex
221
222%dir %{_ulibdir}/tcl%{major}/msgs
223%lang(af) %{_ulibdir}/tcl%{major}/msgs/af.msg
224%lang(af_ZA) %{_ulibdir}/tcl%{major}/msgs/af_za.msg
225%lang(ar) %{_ulibdir}/tcl%{major}/msgs/ar.msg
226%lang(ar_IN) %{_ulibdir}/tcl%{major}/msgs/ar_in.msg
227%lang(ar_JO) %{_ulibdir}/tcl%{major}/msgs/ar_jo.msg
228%lang(ar_LB) %{_ulibdir}/tcl%{major}/msgs/ar_lb.msg
229%lang(ar_SY) %{_ulibdir}/tcl%{major}/msgs/ar_sy.msg
230%lang(be) %{_ulibdir}/tcl%{major}/msgs/be.msg
231%lang(bg) %{_ulibdir}/tcl%{major}/msgs/bg.msg
232%lang(bn) %{_ulibdir}/tcl%{major}/msgs/bn.msg
233%lang(bn_IN) %{_ulibdir}/tcl%{major}/msgs/bn_in.msg
234%lang(ca) %{_ulibdir}/tcl%{major}/msgs/ca.msg
235%lang(cs) %{_ulibdir}/tcl%{major}/msgs/cs.msg
236%lang(da) %{_ulibdir}/tcl%{major}/msgs/da.msg
237%lang(de) %{_ulibdir}/tcl%{major}/msgs/de.msg
238%lang(de_AT) %{_ulibdir}/tcl%{major}/msgs/de_at.msg
239%lang(de_BE) %{_ulibdir}/tcl%{major}/msgs/de_be.msg
240%lang(el) %{_ulibdir}/tcl%{major}/msgs/el.msg
241%lang(en_AU) %{_ulibdir}/tcl%{major}/msgs/en_au.msg
242%lang(en_BE) %{_ulibdir}/tcl%{major}/msgs/en_be.msg
243%lang(en_BW) %{_ulibdir}/tcl%{major}/msgs/en_bw.msg
244%lang(en_CA) %{_ulibdir}/tcl%{major}/msgs/en_ca.msg
245%lang(en_GB) %{_ulibdir}/tcl%{major}/msgs/en_gb.msg
246%lang(en_HK) %{_ulibdir}/tcl%{major}/msgs/en_hk.msg
247%lang(en_IE) %{_ulibdir}/tcl%{major}/msgs/en_ie.msg
248%lang(en_IN) %{_ulibdir}/tcl%{major}/msgs/en_in.msg
249%lang(en_NZ) %{_ulibdir}/tcl%{major}/msgs/en_nz.msg
250%lang(en_PH) %{_ulibdir}/tcl%{major}/msgs/en_ph.msg
251%lang(en_SG) %{_ulibdir}/tcl%{major}/msgs/en_sg.msg
252%lang(en_ZA) %{_ulibdir}/tcl%{major}/msgs/en_za.msg
253%lang(en_ZW) %{_ulibdir}/tcl%{major}/msgs/en_zw.msg
254%lang(eo) %{_ulibdir}/tcl%{major}/msgs/eo.msg
255%lang(es) %{_ulibdir}/tcl%{major}/msgs/es.msg
256%lang(es_AR) %{_ulibdir}/tcl%{major}/msgs/es_ar.msg
257%lang(es_BO) %{_ulibdir}/tcl%{major}/msgs/es_bo.msg
258%lang(es_CL) %{_ulibdir}/tcl%{major}/msgs/es_cl.msg
259%lang(es_CO) %{_ulibdir}/tcl%{major}/msgs/es_co.msg
260%lang(es_CR) %{_ulibdir}/tcl%{major}/msgs/es_cr.msg
261%lang(es_DO) %{_ulibdir}/tcl%{major}/msgs/es_do.msg
262%lang(es_EC) %{_ulibdir}/tcl%{major}/msgs/es_ec.msg
263%lang(es_GT) %{_ulibdir}/tcl%{major}/msgs/es_gt.msg
264%lang(es_HN) %{_ulibdir}/tcl%{major}/msgs/es_hn.msg
265%lang(es_MX) %{_ulibdir}/tcl%{major}/msgs/es_mx.msg
266%lang(es_NI) %{_ulibdir}/tcl%{major}/msgs/es_ni.msg
267%lang(es_PA) %{_ulibdir}/tcl%{major}/msgs/es_pa.msg
268%lang(es_PE) %{_ulibdir}/tcl%{major}/msgs/es_pe.msg
269%lang(es_PR) %{_ulibdir}/tcl%{major}/msgs/es_pr.msg
270%lang(es_PY) %{_ulibdir}/tcl%{major}/msgs/es_py.msg
271%lang(es_SV) %{_ulibdir}/tcl%{major}/msgs/es_sv.msg
272%lang(es_UY) %{_ulibdir}/tcl%{major}/msgs/es_uy.msg
273%lang(es_VE) %{_ulibdir}/tcl%{major}/msgs/es_ve.msg
274%lang(et) %{_ulibdir}/tcl%{major}/msgs/et.msg
275%lang(eu) %{_ulibdir}/tcl%{major}/msgs/eu.msg
276%lang(eu_ES) %{_ulibdir}/tcl%{major}/msgs/eu_es.msg
277%lang(fa) %{_ulibdir}/tcl%{major}/msgs/fa.msg
278%lang(fa_IN) %{_ulibdir}/tcl%{major}/msgs/fa_in.msg
279%lang(fa_IR) %{_ulibdir}/tcl%{major}/msgs/fa_ir.msg
280%lang(fi) %{_ulibdir}/tcl%{major}/msgs/fi.msg
281%lang(fo) %{_ulibdir}/tcl%{major}/msgs/fo.msg
282%lang(fo_FO) %{_ulibdir}/tcl%{major}/msgs/fo_fo.msg
283%lang(fr) %{_ulibdir}/tcl%{major}/msgs/fr.msg
284%lang(fr_BE) %{_ulibdir}/tcl%{major}/msgs/fr_be.msg
285%lang(fr_CA) %{_ulibdir}/tcl%{major}/msgs/fr_ca.msg
286%lang(fr_CH) %{_ulibdir}/tcl%{major}/msgs/fr_ch.msg
287%lang(ga) %{_ulibdir}/tcl%{major}/msgs/ga.msg
288%lang(ga_IE) %{_ulibdir}/tcl%{major}/msgs/ga_ie.msg
289%lang(gl) %{_ulibdir}/tcl%{major}/msgs/gl.msg
290%lang(gl_ES) %{_ulibdir}/tcl%{major}/msgs/gl_es.msg
291%lang(gv) %{_ulibdir}/tcl%{major}/msgs/gv.msg
292%lang(gv_GB) %{_ulibdir}/tcl%{major}/msgs/gv_gb.msg
293%lang(he) %{_ulibdir}/tcl%{major}/msgs/he.msg
294%lang(hi) %{_ulibdir}/tcl%{major}/msgs/hi.msg
295%lang(hi_IN) %{_ulibdir}/tcl%{major}/msgs/hi_in.msg
296%lang(hr) %{_ulibdir}/tcl%{major}/msgs/hr.msg
297%lang(hu) %{_ulibdir}/tcl%{major}/msgs/hu.msg
298%lang(id) %{_ulibdir}/tcl%{major}/msgs/id.msg
299%lang(id_ID) %{_ulibdir}/tcl%{major}/msgs/id_id.msg
300%lang(is) %{_ulibdir}/tcl%{major}/msgs/is.msg
301%lang(it) %{_ulibdir}/tcl%{major}/msgs/it.msg
302%lang(it_CH) %{_ulibdir}/tcl%{major}/msgs/it_ch.msg
303%lang(ja) %{_ulibdir}/tcl%{major}/msgs/ja.msg
304%lang(kl) %{_ulibdir}/tcl%{major}/msgs/kl.msg
305%lang(kl_GL) %{_ulibdir}/tcl%{major}/msgs/kl_gl.msg
306%lang(ko) %{_ulibdir}/tcl%{major}/msgs/ko.msg
307%lang(ko) %{_ulibdir}/tcl%{major}/msgs/ko_kr.msg
308%lang(kok) %{_ulibdir}/tcl%{major}/msgs/kok.msg
309%lang(kok_IN) %{_ulibdir}/tcl%{major}/msgs/kok_in.msg
310%lang(kw) %{_ulibdir}/tcl%{major}/msgs/kw.msg
311%lang(kw_GB) %{_ulibdir}/tcl%{major}/msgs/kw_gb.msg
312%lang(lt) %{_ulibdir}/tcl%{major}/msgs/lt.msg
313%lang(lv) %{_ulibdir}/tcl%{major}/msgs/lv.msg
314%lang(mk) %{_ulibdir}/tcl%{major}/msgs/mk.msg
315%lang(mr) %{_ulibdir}/tcl%{major}/msgs/mr.msg
316%lang(mr_IN) %{_ulibdir}/tcl%{major}/msgs/mr_in.msg
317%lang(ms) %{_ulibdir}/tcl%{major}/msgs/ms.msg
318%lang(ms_MY) %{_ulibdir}/tcl%{major}/msgs/ms_my.msg
319%lang(mt) %{_ulibdir}/tcl%{major}/msgs/mt.msg
320%lang(nb) %{_ulibdir}/tcl%{major}/msgs/nb.msg
321%lang(nl) %{_ulibdir}/tcl%{major}/msgs/nl.msg
322%lang(nl_BE) %{_ulibdir}/tcl%{major}/msgs/nl_be.msg
323%lang(nn) %{_ulibdir}/tcl%{major}/msgs/nn.msg
324%lang(pl) %{_ulibdir}/tcl%{major}/msgs/pl.msg
325%lang(pt) %{_ulibdir}/tcl%{major}/msgs/pt.msg
326%lang(pt_BR) %{_ulibdir}/tcl%{major}/msgs/pt_br.msg
327%lang(ro) %{_ulibdir}/tcl%{major}/msgs/ro.msg
328%lang(ru) %{_ulibdir}/tcl%{major}/msgs/ru.msg
329%lang(ru_UA) %{_ulibdir}/tcl%{major}/msgs/ru_ua.msg
330%lang(sh) %{_ulibdir}/tcl%{major}/msgs/sh.msg
331%lang(sk) %{_ulibdir}/tcl%{major}/msgs/sk.msg
332%lang(sl) %{_ulibdir}/tcl%{major}/msgs/sl.msg
333%lang(sq) %{_ulibdir}/tcl%{major}/msgs/sq.msg
334%lang(sr) %{_ulibdir}/tcl%{major}/msgs/sr.msg
335%lang(sv) %{_ulibdir}/tcl%{major}/msgs/sv.msg
336%lang(sw) %{_ulibdir}/tcl%{major}/msgs/sw.msg
337%lang(ta) %{_ulibdir}/tcl%{major}/msgs/ta.msg
338%lang(ta_IN) %{_ulibdir}/tcl%{major}/msgs/ta_in.msg
339%lang(te) %{_ulibdir}/tcl%{major}/msgs/te.msg
340%lang(te_IN) %{_ulibdir}/tcl%{major}/msgs/te_in.msg
341%lang(th) %{_ulibdir}/tcl%{major}/msgs/th.msg
342%lang(tr) %{_ulibdir}/tcl%{major}/msgs/tr.msg
343%lang(uk) %{_ulibdir}/tcl%{major}/msgs/uk.msg
344%lang(vi) %{_ulibdir}/tcl%{major}/msgs/vi.msg
345%lang(zh) %{_ulibdir}/tcl%{major}/msgs/zh.msg
346%lang(zh_CN) %{_ulibdir}/tcl%{major}/msgs/zh_cn.msg
347%lang(zh_HK) %{_ulibdir}/tcl%{major}/msgs/zh_hk.msg
348%lang(zh_SG) %{_ulibdir}/tcl%{major}/msgs/zh_sg.msg
349%lang(zh_TW) %{_ulibdir}/tcl%{major}/msgs/zh_tw.msg
350
351%{_mandir}/man1/tclsh.1*
352%lang(pl) %{_mandir}/pl/man1/tclsh.1*
353
354%files devel
355%defattr(644,root,root,755)
356%attr(755,root,root) %{_ulibdir}/tclConfig.sh
357%attr(755,root,root) %{_ulibdir}/tclooConfig.sh
358%{_ulibdir}/tcl%{major}/tclAppInit.c
359%attr(755,root,root) %{_libdir}/libtcl%{major}.so
360%attr(755,root,root) %{_libdir}/libtcl.so
361%{_libdir}/libtclstub%{major}.a
362%{_includedir}/tcl*.h
363%{_includedir}/tcl-private
364%{_pkgconfigdir}/tcl.pc
365%{_mandir}/man3/TCL_*.3*
366%{_mandir}/man3/Tcl_*.3*
367%{_mandir}/man3/attemptck*alloc.3*
368%{_mandir}/man3/ck*.3*
369%{_mandir}/mann/*.n*
370%lang(pl) %{_mandir}/pl/mann/*.n*
This page took 0.073456 seconds and 4 git commands to generate.