source: projects/specs/branches/6/i/itcl/itcl-vl.spec @ 6392

Revision 6392, 9.6 KB checked in by Takemikaduchi, 12 years ago (diff)

rebuild packages

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