itcl-vl.spec 8.5 KB

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