[521] | 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 | |
---|
| 7 | Summary: [Incr Tcl] OOP Extension for TCL |
---|
| 8 | Summary(ja): [Incr Tcl] TCL のオブジェクト指向拡張 |
---|
| 9 | Name: itcl |
---|
| 10 | Version: %{itclvers} |
---|
[6392] | 11 | Release: 3%{?_dist_release} |
---|
[521] | 12 | Group: Development/Languages |
---|
| 13 | License: BSD |
---|
| 14 | Source0: http://prdownloads.sourceforge.net/incrtcl/itcl%{itclvers}_src.tgz |
---|
| 15 | Patch31: itcl-3.2.1-makecfg.patch |
---|
| 16 | |
---|
| 17 | BuildRequires: tcl >= %{tcl_major} |
---|
| 18 | BuildRequires: tk >= %{tk_major} |
---|
| 19 | BuildRequires: thread >= %{thread_major} |
---|
[6392] | 20 | BuildRequires: libX11-devel |
---|
[521] | 21 | Requires: tcl >= %{tcl_major} |
---|
| 22 | Requires: tk >= %{tk_major} |
---|
| 23 | Requires: thread >= %{thread_major} |
---|
| 24 | Buildroot: %{_tmppath}/%{name}-%{version}-root |
---|
| 25 | Distribution: Vine Linux |
---|
| 26 | Vendor: Project Vine |
---|
| 27 | |
---|
| 28 | %description |
---|
| 29 | [incr Tcl] is an object-oriented extension of the Tcl language. It |
---|
| 30 | was created to support more structured programming in Tcl. Tcl scripts |
---|
| 31 | that grow beyond a few thousand lines become extremely difficult to |
---|
| 32 | maintain. This is because the building blocks of vanilla Tcl are |
---|
| 33 | procedures and global variables, and all of these building blocks |
---|
| 34 | must reside in a single global namespace. There is no support for |
---|
| 35 | protection or encapsulation. |
---|
| 36 | |
---|
| 37 | [incr Tcl] introduces the notion of objects. Each object is a bag |
---|
| 38 | of data with a set of procedures or "methods" that are used to |
---|
| 39 | manipulate it. Objects are organized into "classes" with identical |
---|
| 40 | characteristics, and classes can inherit functionality from one |
---|
| 41 | another. This object-oriented paradigm adds another level of |
---|
| 42 | organization on top of the basic variable/procedure elements, and |
---|
| 43 | the resulting code is easier to understand and maintain. |
---|
| 44 | |
---|
| 45 | %description -l ja |
---|
| 46 | [incr Tcl] は Tcl 言語のオブジェクト指向な拡張キットで、Tcl で |
---|
| 47 | より構造的なプログラムをサポートするために作成されました。 |
---|
| 48 | 2, 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 |
---|
| 69 | RPM_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 | |
---|
| 80 | make |
---|
| 81 | |
---|
| 82 | #========================================== |
---|
| 83 | %install |
---|
| 84 | rm -rf ${RPM_BUILD_ROOT} |
---|
| 85 | mkdir -p ${RPM_BUILD_ROOT} |
---|
| 86 | rm -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 |
---|
| 97 | ln -sf ../itclConfig.sh $RPM_BUILD_ROOT%{_libdir}/itcl%{itcl_major}/itclConfig.sh |
---|
| 98 | ln -sf ../itkConfig.sh $RPM_BUILD_ROOT%{_libdir}/itk%{itcl_major}/itkConfig.sh |
---|
| 99 | |
---|
| 100 | echo "ITCL_SRC_DIR='%{_includedir}/tcl%{tcl_major}/'" >> $RPM_BUILD_ROOT%{_libdir}/itcl%{itcl_major}/itclConfig.sh |
---|
| 101 | echo "ITCL_BUILD_LIB_SPEC='-L%{_libdir} -litcl%{itcl_major}'" >> $RPM_BUILD_ROOT%{_libdir}/itcl%{itcl_major}/itclConfig.sh |
---|
| 102 | |
---|
| 103 | # install include files |
---|
| 104 | mkdir -p $RPM_BUILD_ROOT%{_includedir}/tcl%{tcl_major}/generic |
---|
| 105 | mkdir -p $RPM_BUILD_ROOT%{_includedir}/tk%{tk_major}/generic |
---|
| 106 | |
---|
| 107 | |
---|
| 108 | cp itcl/generic/*.h $RPM_BUILD_ROOT%{_includedir}/tcl%{tcl_major}/generic |
---|
| 109 | cp itk/generic/*.h $RPM_BUILD_ROOT%{_includedir}/tk%{tk_major}/generic |
---|
| 110 | |
---|
| 111 | rm -rf $RPM_BUILD_ROOT%{_mandir}/mann/dialog.* |
---|
| 112 | rm -rf $RPM_BUILD_ROOT%{_mandir}/mann/menubar.* |
---|
| 113 | |
---|
| 114 | echo "%%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 | |
---|
| 120 | set +x +H |
---|
| 121 | for 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 |
---|
| 126 | done |
---|
| 127 | set -x -H |
---|
| 128 | |
---|
| 129 | #========================================== |
---|
| 130 | # post process the *.files list, removing build sys references and mark |
---|
| 131 | # which are directories |
---|
| 132 | |
---|
| 133 | set +x |
---|
| 134 | for 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 |
---|
| 143 | done |
---|
| 144 | set -x |
---|
| 145 | |
---|
| 146 | # Man pages can be compressed |
---|
| 147 | perl -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 |
---|
| 155 | rm -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 |
---|
[6392] | 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 | |
---|
[1262] | 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 | |
---|
[521] | 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 |
---|