source: projects/specs/tags/6_0_REL/i/itcl/itcl-vl.spec @ 1262

Revision 1262, 9.4 KB checked in by owa, 14 years ago (diff)

updated tcl/tk

Line 
1%define tcl_major       8.4
2%define tk_major        8.4
3%define thread_major    2.6
4%define itcl_major      3.2
5%define itclvers        %{itcl_major}.1
6
7Summary: [Incr Tcl] OOP Extension for TCL
8Summary(ja): [Incr Tcl] TCL のオブジェクト指向拡張
9Name: itcl
10Version: %{itclvers}
11Release: 2%{?_dist_release}
12Group: Development/Languages
13License: BSD
14Source0: http://prdownloads.sourceforge.net/incrtcl/itcl%{itclvers}_src.tgz
15Patch31: itcl-3.2.1-makecfg.patch
16
17BuildRequires: tcl >= %{tcl_major}
18BuildRequires: tk >= %{tk_major}
19BuildRequires: thread >= %{thread_major}
20Requires: tcl >= %{tcl_major}
21Requires: tk >= %{tk_major}
22Requires: thread >= %{thread_major}
23Buildroot: %{_tmppath}/%{name}-%{version}-root
24Distribution: Vine Linux
25Vendor: Project Vine
26
27%description
28[incr Tcl] is an object-oriented extension of the Tcl language.  It
29was created to support more structured programming in Tcl.  Tcl scripts
30that grow beyond a few thousand lines become extremely difficult to
31maintain.  This is because the building blocks of vanilla Tcl are
32procedures and global variables, and all of these building blocks
33must reside in a single global namespace.  There is no support for
34protection or encapsulation.
35
36[incr Tcl] introduces the notion of objects.  Each object is a bag
37of data with a set of procedures or "methods" that are used to
38manipulate it.  Objects are organized into "classes" with identical
39characteristics, and classes can inherit functionality from one
40another.  This object-oriented paradigm adds another level of
41organization on top of the basic variable/procedure elements, and
42the resulting code is easier to understand and maintain.
43
44%description -l ja
45[incr Tcl] は Tcl 言語のオブジェクト指向な拡張キットで、Tcl で
46より構造的なプログラムをサポートするために作成されました。
472, 3000 行を超えるくらい増えた Tcl スクリプトは、メンテナンスが極めて
48困難です。これは vanilla Tcl を構成するブロックが手続きやグローバル変数
49であり、それらすべてのブロック一つのグローバルな名前空間に属さなければ
50ならないためです。保護やカプセル化はサポートされておりません。
51
52[incr Tcl]はオブジェクトの概念を導入します。各オブジェクトは、それを操作
53するために使用する手続きや「方法」のセットを含んだデータのひと包みになり
54ます。オブジェクトはその識別特性により「クラス」化され、クラスはお互いに
55機能を継承することができます。このオブジェクト指向のパラダイムにより、基
56本的な変数/手続きの要素の上に、別のレベルの組織化を行うことができます。
57その結果、コードの理解やメンテナンスが容易になります。
58
59%prep
60%setup -q -n %{name}%{itclvers}
61%patch31 -p1 -b .makecfg
62
63
64#==========================================
65%build
66
67# make the libraries reentrant
68RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_REENTRANT"
69
70#------------------------------------------
71# Itcl
72#
73%configure \
74        --enable-shared \
75        --enable-threads \
76        --with-tcl=%{_libdir} \
77        --with-tk=%{_libdir} \
78
79make
80
81#==========================================
82%install
83rm -rf ${RPM_BUILD_ROOT}
84mkdir -p ${RPM_BUILD_ROOT}
85rm -f *.files
86
87
88#------------------------------------------
89# Itcl
90#
91%makeinstall \
92        ITCL_LIBRARY=$RPM_BUILD_ROOT%{_datadir}/itcl%{itcl_major} \
93        ITK_LIBRARY=$RPM_BUILD_ROOT%{_datadir}/itk%{itcl_major}
94
95# fixed *Config variables
96ln -sf ../itclConfig.sh $RPM_BUILD_ROOT%{_libdir}/itcl%{itcl_major}/itclConfig.sh
97ln -sf ../itkConfig.sh $RPM_BUILD_ROOT%{_libdir}/itk%{itcl_major}/itkConfig.sh
98
99echo "ITCL_SRC_DIR='%{_includedir}/tcl%{tcl_major}/'" >> $RPM_BUILD_ROOT%{_libdir}/itcl%{itcl_major}/itclConfig.sh
100echo "ITCL_BUILD_LIB_SPEC='-L%{_libdir} -litcl%{itcl_major}'" >> $RPM_BUILD_ROOT%{_libdir}/itcl%{itcl_major}/itclConfig.sh
101
102# install include files
103mkdir -p $RPM_BUILD_ROOT%{_includedir}/tcl%{tcl_major}/generic
104mkdir -p $RPM_BUILD_ROOT%{_includedir}/tk%{tk_major}/generic
105
106
107cp itcl/generic/*.h $RPM_BUILD_ROOT%{_includedir}/tcl%{tcl_major}/generic
108cp itk/generic/*.h $RPM_BUILD_ROOT%{_includedir}/tk%{tk_major}/generic
109
110rm -rf  $RPM_BUILD_ROOT%{_mandir}/mann/dialog.*
111rm -rf  $RPM_BUILD_ROOT%{_mandir}/mann/menubar.*
112
113echo "%%defattr(-,root,root)" > itcl.files
114(find ${RPM_BUILD_ROOT}%{_bindir} ${RPM_BUILD_ROOT}%{_includedir} \
115        ${RPM_BUILD_ROOT}%{_mandir} -type f -o -type l;
116 find ${RPM_BUILD_ROOT}%{_libdir}/*) | cat - *.files \
117        | sort | uniq -u >> itcl.files
118
119set +x +H
120for n in `cat itcl.files`; do
121        [ -f $n ] || continue
122        head -1 $n | grep -q ^#! || continue
123        chmod u+w $n
124        perl -pi -e "s|${RPM_BUILD_ROOT}||" $n
125done
126set -x -H
127
128#==========================================
129# post process the *.files list, removing build sys references and mark
130# which are directories
131
132set +x
133for n in *.files; do
134        mv $n $n.in
135        sed "s|.*%{_prefix}\\>|%{_prefix}|" < $n.in | while read file; do
136            if [ -d ${RPM_BUILD_ROOT}/$file ]; then
137                echo -n '%dir '
138            fi
139            echo $file
140        done > $n
141        rm -f $n.in
142done
143set -x
144
145# Man pages can be compressed
146perl -pi -e 's|(^%{_mandir}/man.*$)|\1\*|' *.files
147
148#==========================================
149%post -p /sbin/ldconfig -n itcl
150
151%postun -p /sbin/ldconfig -n itcl
152
153%clean
154rm -rf $RPM_BUILD_ROOT
155
156%files -f itcl.files -n itcl
157%defattr(-,root,root,-)
158%{_datadir}/itcl%{itcl_major}
159%{_datadir}/itk%{itcl_major}
160
161
162%changelog
163* Tue Jun 29 2010 Shu KONNO <owa@bg.wakwak.com> 3.2.1-2
164- rebuilt with tcl/tk-8.4.19-2
165
166* Sat Jul 26 2008 Shu KONNO <owa@bg.wakwak.com> 3.2.1-1vl5
167- applied new versioning policy and spec in utf-8
168
169* Sun Feb 17 2008 Shu KONNO <owa@bg.wakwak.com> 3.2.1-0vl4
170- rebuild with tcl/tk-8.4.18
171
172* Tue Jan 01 2008 Shu KONNO <owa@bg.wakwak.com> 3.2.1-0vl3
173- moved itcl script path to /usr/share/{itcl3.2,itk3.2} like tcl/tk
174
175* Tue Oct 09 2007 Shu KONNO <owa@bg.wakwak.com> 3.2.1-0vl2
176- rebuild with tcl/tk-8.4.16
177- changed macro %%thread_major to 2.6
178- added {ITCL,ITK}_LIBRARY to %%makeinstall for lib64 support
179
180* Mon Mar 31 2003 KOBAYASHI R. Taizo <tkoba@vinelinux.org> 3.2.1-0vl1
181- update based on BitWalk's tcltk-8.4.2-83bw
182
183* Thu Nov 15 2001 Kazuhisa TAKEI <takei@linux.or.jp>
184- split itcl
185
186* Sun Jul 15 2001 Daisuke SUZUKI <daisuke@linux.or.jp> 8.0.5_jp-10vl2
187- expand some macros.. (FIXME)
188
189* Sat Jul 14 2001 Daisuke SUZUKI <daisuke@linux.or.jp> 8.0.5_jp-10vl1
190- use %configure macros
191- add Patch 47,50
192
193* Thu May 31 2001 <sagami@vinelinux.org>
194- 8.0.5_jp-10
195- unexpand old %%{configure}, new one causes build failure
196- fixed missing libtkx.so libtclx.so symlink in /usr/lib
197- install manpages into %%{_mandir} and mode 644
198
199* Wed Jul 19 2000 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
200- 8.0.5_jp-9
201- modified %install section to handle compressed man pages
202- fixed /usr/lib/tk8.0jp/demos.jp/images symlink
203
204* Sun Jul  2 2000 Daisuke SUZUKI <daisuke@linux.or.jp>
205- changed default fonts
206
207* Tue Jan 25 2000 Jun Nishii <jun@vinelinux.org>
208- added defattr
209
210* Mon Jan 24 2000 Jun Nishii <jun@vinelinux.org>
211- added some symlinks, such as libtcl8.0.so.
212- obsoletes version number using _jp, now 8.0.5-31vl1
213
214* Wed Jan 5 2000 Norihito Ohmori <nono@vinelinux.org>
215- Apply Tcl/Tk 8.0 Japanese Patch 1.7
216
217* Tue Nov 30 1999 Jakub Jelinek <jakub@redhat.com>
218- fix tclX symlinks.
219- compile on systems where SIGPWR == SIGLOST.
220
221* Sat May  1 1999 Jeff Johnson <jbj@redhat.com>
222- update tcl/tk to 8.0.5.
223- avoid "containing" in Tix (#2332).
224
225* Thu Apr  8 1999 Jeff Johnson <jbj@redhat.com>
226- use /usr/bin/write in kibitz (#1320).
227- use cirrus.sprl.umich.edu in weather (#1926).
228
229* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
230- auto rebuild in the new build environment (release 28)
231
232* Mon Mar 08 1999 Preston Brown <pbrown@redhat.com>
233- whoops, exec-prefix for itcl was set to '/foo', changed to '/usr'.
234
235* Tue Feb 16 1999 Jeff Johnson <jbj@redhat.com>
236- expect does unaligned access on alpha (#989)
237- upgrade tcl/tk/tclX to 8.0.4
238- upgrade expect to 5.28.
239- add itcl 3.0.1
240
241* Tue Jan 12 1999 Cristian Gafton <gafton@redhat.com>
242- call libtoolize to allow building on the arm
243- build for glibc 2.1
244- strip binaries
245
246* Thu Sep 10 1998 Jeff Johnson <jbj@redhat.com>
247- update tcl/tk/tclX to 8.0.3, expect is updated also.
248
249* Mon Jun 29 1998 Jeff Johnson <jbj@redhat.com>
250- expect: mkpasswd needs delay before sending password (problem #576)
251
252* Thu May 07 1998 Prospector System <bugs@redhat.com>
253- translations modified for de, fr, tr
254
255* Sat May 02 1998 Cristian Gafton <gafton@redhat.com>
256- fixed expect binaries exec permissions
257
258* Thu Apr 09 1998 Erik Troan <ewt@redhat.com>
259- updated to Tix 4.1.0.006
260- updated version numbers of tcl/tk to relflect includsion of p2
261
262* Wed Mar 25 1998 Cristian Gafton <gafton@redhat.com>
263- updated tcl/tk to patch level 2
264- updated tclX to 8.0.2
265
266* Thu Oct 30 1997 Otto Hammersmith <otto@redhat.com>
267- fixed filelist for tix... replacing path to the expect binary in scripts
268  was leaving junk files around.
269
270* Wed Oct 22 1997 Otto Hammersmith <otto@redhat.com>
271- added patch to remove libieee test in configure.in for tcl and tk.
272  Shoudln't be needed anymore for glibc systems, but this isn't the "proper"
273  solution for all systems
274- fixed src urls
275
276* Mon Oct 06 1997 Erik Troan <ewt@redhat.com>
277- removed version numbers from descriptions
278
279* Mon Sep 22 1997 Erik Troan <ewt@redhat.com>
280- updated to tcl/tk 8.0 and related versions of packages
281
282* Tue Jun 17 1997 Erik Troan <ewt@redhat.com>
283- built against glibc
284- fixed dangling tclx/tkx symlinks
Note: See TracBrowser for help on using the repository browser.