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