%define expect_version 5.44.1.15 %define ver_suffix 85 #%define majversion %(echo %version | cut -d. -f 1-2) %define majversion %(echo %version | cut -d. -f1-2) %define expect_majversion %(echo %expect_version | cut -d. -f 1-2) Name: tcltk85 Version: 8.5.14 Release: 2mamba Summary: A Tcl/Tk development environment: tcl, tk, tix, tclX, expect, and itcl Group: System/Libraries Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.tcl.tk Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl%{version}-src.tar.gz Source1: http://downloads.sourceforge.net/sourceforge/tcl/tk%{version}-src.tar.gz #Source2: http://sourceexpect.nist.gov/src/expect-%{expect_version}.tar.gz Source2: http://downloads.sourceforge.net/project/expect/Expect/%{expect_version}/expect-%{expect_version}.tar.bz2 # security fix: we don't want to see `%{buildroot}%{_libdir}' # in the binaries runtime library search path (RPATH) of `expect' and `expectk' Patch2: expect-5.44.1-tcl8.5.patch Patch3: expect-5.44.1-configure_no_escape_vars.patch License: BSD ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel %if "%{stage1}" != "1" BuildRequires: libfontconfig-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXft-devel BuildRequires: libXScrnSaver-devel %endif ## AUTOBUILDREQ-END BuildRequires: chrpath BuildRoot: %{_tmppath}/%{name}-%{version}-root %description Tcl is a simple scripting language designed to be embedded into other applications. Tcl is designed to be used with Tk, a widget set, which is provided in the tk package. This package also includes tclsh, a simple example of a Tcl application. %package -n libtcl%{?ver_suffix} Summary: An embeddable scripting language Group: System/Libraries Requires(pre): /usr/sbin/alternatives %description -n libtcl%{?ver_suffix} Tcl is a simple scripting language designed to be embedded into other applications. Tcl is designed to be used with Tk, a widget set, which is provided in the tk package. This package also includes tclsh, a simple example of a Tcl application. If you're installing the tcl package and you want to use Tcl for development, you should also install the tk and tcl packages. %package -n libtcl%{?ver_suffix}-devel Summary: Static libraries and headers for libtcl Group: Development/Libraries Requires: libtcl%{?ver_suffix} = %{version}-%{release} %description -n libtcl%{?ver_suffix}-devel Tcl is a simple scripting language designed to be embedded into other applications. Tcl is designed to be used with Tk, a widget set, which is provided in the tk package. This package contains static libraries and header files need for development. %package -n libtk%{?ver_suffix} Summary: An embeddable scripting language Group: System/Libraries Provides: /usr/bin/wish Requires(pre): /usr/sbin/alternatives %description -n libtk%{?ver_suffix} Tk is a X Windows widget set designed to work closely with the tcl scripting language. It allows you to write simple programs with full featured GUI's in only a little more time then it takes to write a text based interface. Tcl/Tk applications can also be run on Windows and Macintosh platforms. %package -n libtk%{?ver_suffix}-devel Summary: Static libraries and headers for libtk Group: System/Libraries Requires: libtcl%{?ver_suffix}-devel = %{version}-%{release}, libtk%{?ver_suffix} = %{version}-%{release} %description -n libtk%{?ver_suffix}-devel Tk is a X Windows widget set designed to work closely with the tcl scripting language. It allows you to write simple programs with full featured GUI's in only a little more time then it takes to write a text based interface. Tcl/Tk applications can also be run on Windows and Macintosh platforms. This package contains static libraries and header files need for development. %package -n expect%{?ver_suffix} Summary: A tool for automating interactive applications such as telnet, ftp, passwd Group: System/Tools %description -n expect%{?ver_suffix} Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications. And by adding Tk, you can also wrap interactive applications in X11 GUIs. Expect can make easy all sorts of tasks that are prohibitively difficult with anything else. You will find that Expect is an absolutely invaluable tool - using it, you will be able to automate tasks that you've never even thought of before - and you'll be able to do this automation quickly and easily. %package -n expect%{?ver_suffix}-devel Summary: A tool for automating interactive applications such as telnet, ftp, passwd Group: Development/Libraries Requires: expect%{?ver_suffix} = %{version}-%{release} Requires: expect%{?ver_suffix}-tk = %{version}-%{release} %description -n expect%{?ver_suffix}-devel Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications. And by adding Tk, you can also wrap interactive applications in X11 GUIs. Expect can make easy all sorts of tasks that are prohibitively difficult with anything else. You will find that Expect is an absolutely invaluable tool - using it, you will be able to automate tasks that you've never even thought of before - and you'll be able to do this automation quickly and easily. This package contains header files need for development. %package -n expect%{?ver_suffix}-tk Summary: A tool for automating interactive applications such as telnet, ftp, passwd Group: System/Tools Requires: expect%{?ver_suffix} = %{version}-%{release}, libtk%{?ver_suffix} = %{version}-%{release} %description -n expect%{?ver_suffix}-tk Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications. And by adding Tk, you can also wrap interactive applications in X11 GUIs. Expect can make easy all sorts of tasks that are prohibitively difficult with anything else. You will find that Expect is an absolutely invaluable tool - using it, you will be able to automate tasks that you've never even thought of before - and you'll be able to do this automation quickly and easily. This package contains tk frontends to expect. %package -n expect%{?ver_suffix}-examples Summary: A series of examples based on expect Group: System/Tools Requires: expect%{?ver_suffix} = %{version}-%{release}, libtk%{?ver_suffix} = %{version}-%{release} %description -n expect%{?ver_suffix}-examples Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this stuff trivial. Expect is also useful for testing these same applications. And by adding Tk, you can also wrap interactive applications in X11 GUIs. Expect can make easy all sorts of tasks that are prohibitively difficult with anything else. You will find that Expect is an absolutely invaluable tool - using it, you will be able to automate tasks that you've never even thought of before - and you'll be able to do this automation quickly and easily. This package contains a collection of examples based on expect. %prep %setup -q -a1 -a2 -n tcl%{version} cd expect-%{expect_version} #%patch2 -p1 %patch3 -p1 %build # # Important: before committing new releases/updates check that the following # tk applications continue to work: wish, amsn # # compile tcl cd unix %if "%{_host}" != "%{_build}" export ac_cv_func_strtod=no %endif %configure \ --disable-symbols \ --disable-rpath \ --enable-threads \ --enable-shared \ --enable-man-symlinks # --enable-man-suffix=%{?ver_suffix} %make cd .. mv doc/Object.3 doc/Tcl_Object.3 %if "%{stage1}" != "1" # compile tk cd tk%{version}/unix %configure \ --with-tcl=%{_builddir}/tcl%{version}/unix \ --disable-rpath \ --disable-symbols \ --enable-xft # --enable-man-suffix=%{?ver_suffix} %make XFT_LIBS="-lXft -lfontconfig" cd ../.. # compile expect cd expect-%{expect_version} ./configure \ --host=%{_host} \ --build=%{_build} \ --prefix=%{_prefix} \ --mandir=%{_mandir} \ --with-tcl=%{_builddir}/tcl%{version}/unix \ %if "%{stage1}" != "1" --with-tk=%{_builddir}/tcl%{version}/tk%{version}/unix \ --with-tkinclude=%{_builddir}/tcl%{version}/tk%{version}/generic \ %endif --enable-shared %make %endif cd .. %install [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" # install tcl %if "%{_host}" != "%{_build}" sed -i "s|\./tclsh|tclsh|" unix/Makefile sed -i "s|\`pwd\`:||" unix/Makefile %endif make -C unix install install-private-headers \ INSTALL_ROOT="%{buildroot}" # TCL_LIBRARY=%{_libdir}/tcl%{majversion} #ln -s tclsh%{majversion} %{buildroot}%{_bindir}/tclsh find %{buildroot}%{_mandir} -type f -or -type l | \ sed -e "s,%{buildroot},,g" | \ sed -e "s,.*,&.gz,g" > manlist-tcl sed -i "/man1\/tclsh/d" manlist-tcl # install tk %if "%{stage1}" != "1" make -C tk%{version}/unix install install-private-headers \ INSTALL_ROOT=%{buildroot} #ln -s wish%{majversion} %{buildroot}%{_bindir}/wish rm -f %{buildroot}%{_libdir}/tk%{majversion}/pkgIndex.tcl find %{buildroot}%{_mandir} -type f -or -type l | \ sed -e "s,%{buildroot},,g" | \ sed -e "s,.*,&.gz,g" > manlist-full cat manlist-tcl manlist-full | sort | uniq -u > manlist-tk sed -i "/man1\/wish/d" manlist-tk sed -i "/man1\/tclsh/d" manlist-tk # install expect cd expect-%{expect_version} make install \ DESTDIR=%{buildroot} \ %if "%{_host}" != "%{_build}" TCLSH=tclsh %endif # fix library installation rm -f %{buildroot}%{_prefix}/lib/expect%{expect_version}/libexpect%{expect_version}.so rm -f %{buildroot}%{_prefix}/lib/expect%{expect_version}/pkgIndex.tcl install -m0755 libexpect%{expect_version}.so %{buildroot}%{_libdir} # install examples cd example sed -i "s|/depot/path/|%{_bindir}/|" * sed -i "s|\.\./expect|%{_bindir}/expect|" * install -m0755 \ archie autoexpect autopasswd dislocate dvorak ftp-inband \ ftp-rfc gethostbyaddr irsh kibitz lpunlock mkpasswd multixterm passmass \ passwdprompt rftp rlogin-cwd robohunt telnet-cwd term_expect timed-read \ timed-run tknewsbiff tkpasswd tkterm unbuffer virterm vrfy weather xkibitz xpstat \ %{buildroot}%{_bindir} cd .. #rm -fr %{buildroot}%{_libdir}/expect%{expect_version} find %{buildroot}%{_mandir} -type f -or -type l | \ sed -e "s,%{buildroot},,g" | \ sed -e "s,.*,&.gz,g" > manlist-full cat manlist-tcl manlist-tk manlist-full | sort | uniq -u | \ grep -v "%{_mandir}/man1/expectk.1.gz" | \ grep -v "%{_mandir}/man1/tknewsbiff.1.gz" > ../manlist-expect sed -i "/man3\/Tk_/d" ../manlist-expect sed -i "/man3\/Ttk_/d" ../manlist-expect sed -i "/man3\/TCL_/d" ../manlist-expect sed -i "/man3\/Tcl_/d" ../manlist-expect sed -i "/mann\//d" ../manlist-expect sed -i "/man1\/tclsh/d" ../manlist-expect sed -i "/man1\/wish/d" ../manlist-expect sed -i "/man1\/autoexpect/d" ../manlist-expect sed -i "/man1\/dislocate/d" ../manlist-expect sed -i "/man1\/expect/d" ../manlist-expect sed -i "/man1\/kibitz/d" ../manlist-expect sed -i "/man1\/mkpasswd/d" ../manlist-expect sed -i "/man1\/passmass/d" ../manlist-expect sed -i "/man1\/unbuffer/d" ../manlist-expect sed -i "/man1\/xkibitz/d" ../manlist-expect sed -i "/man1\/expectk/d" ../manlist-expect sed -i "/man1\/tknewsbiff/d" ../manlist-expect sed -i "/man1\/multixterm/d" ../manlist-expect sed -i "/man3\/attemptckalloc/d" ../manlist-expect sed -i "/man3\/attemptckrealloc/d" ../manlist-expect sed -i "/man3\/ckalloc/d" ../manlist-expect sed -i "/man3\/ckfree/d" ../manlist-expect sed -i "/man3\/ckrealloc/d" ../manlist-expect # FIXME : hack to remove unsecure RPATH (%{buildroot}/usr/lib:/usr/X11R6/lib) chrpath -d %{buildroot}%{_bindir}/expect chrpath -d %{buildroot}%{_bindir}/expectk %endif # fixup strange shared library permissions chmod 755 %{buildroot}%{_libdir}/lib*.so # conflicting with libtcl 8.6 rm -f %{buildroot}%{_prefix}/lib/tcl8/8.4/platform/shell-1.1.4.tm # legacy package rm -rf %{buildroot}%{_mandir} %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" rm manlist-tk manlist-tcl manlist-expect manlist-full %post -n expect%{?ver_suffix} -p /sbin/ldconfig %postun -n expect%{?ver_suffix} -p /sbin/ldconfig %post -n libtcl%{?ver_suffix} /usr/sbin/alternatives --install \ %{_bindir}/tclsh tclsh %{_bindir}/tclsh%{majversion} 25 /sbin/ldconfig exit 0 %postun -n libtcl%{?ver_suffix} if [ "$1" = "0" ]; then /usr/sbin/update-alternatives --remove tclsh %{_bindir}/tclsh%{majversion} fi /sbin/ldconfig exit 0 %posttrans -n libtcl%{?ver_suffix} if [ $1 -gt 0 ]; then /usr/sbin/alternatives --install \ %{_sbindir}/tclsh tclsh %{_bindir}/tclsh%{majversion} 25 2>/dev/null fi exit 0 %post -n libtk%{?ver_suffix} /usr/sbin/alternatives --install \ %{_bindir}/wish wish %{_bindir}/wish%{majversion} 25 /sbin/ldconfig exit 0 %postun -n libtk%{?ver_suffix} if [ "$1" = "0" ]; then /usr/sbin/update-alternatives --remove wish %{_bindir}/wish%{majversion} fi /sbin/ldconfig exit 0 %posttrans -n libtk%{?ver_suffix} if [ $1 -gt 0 ]; then /usr/sbin/alternatives --install \ %{_bindir}/wish wish %{_bindir}/wish%{majversion} 25 2>/dev/null fi exit 0 %files -n libtcl%{?ver_suffix} %defattr(-,root,root) %{_bindir}/tclsh%{majversion} #%{_bindir}/tclsh %{_libdir}/libtcl%{majversion}.so %dir %{_prefix}/lib/tcl%{majversion}/ %{_prefix}/lib/tcl%{majversion}/* %dir %{_prefix}/lib/tcl8/ %{_prefix}/lib/tcl8/* #%{_mandir}/man1/tclsh.* %doc license.terms %files -n libtcl%{?ver_suffix}-devel #-f manlist-tcl %defattr(-,root,root) %{_includedir}/tcl.h %{_includedir}/tclDecls.h %{_includedir}/tclPlatDecls.h %{_includedir}/tclInt.h %{_includedir}/tclIntDecls.h %{_includedir}/tclIntPlatDecls.h %{_includedir}/tclPort.h %{_includedir}/tclTomMath.h %{_includedir}/tclTomMathDecls.h %{_includedir}/tclUnixPort.h %{_libdir}/libtclstub%{majversion}.a %{_libdir}/tclConfig.sh %doc ChangeLog* changes README %if "%{stage1}" != "1" %files -n libtk%{?ver_suffix} %defattr(-,root,root) %{_bindir}/wish%{majversion} #%{_bindir}/wish %{_libdir}/libtk%{majversion}.so %dir %{_prefix}/lib/tk%{majversion} %{_prefix}/lib/tk%{majversion}/* %doc tk%{version}/{ChangeLog,changes,license.terms,README} #%{_mandir}/man1/wish.* %files -n libtk%{?ver_suffix}-devel #-f manlist-tk %defattr(-,root,root) %{_includedir}/tk.h %{_includedir}/tkDecls.h %{_includedir}/tkPlatDecls.h %{_includedir}/tkInt.h %{_includedir}/tkIntDecls.h %{_includedir}/tkIntPlatDecls.h %{_includedir}/tkPort.h %{_includedir}/tkUnixInt.h %{_includedir}/tkUnixPort.h %{_includedir}/ttkDecls.h %{_includedir}/ttkTheme.h %{_libdir}/libtkstub%{majversion}.a %{_libdir}/tkConfig.sh %endif %if "%{stage1}" != "1" %files -n expect%{?ver_suffix} %defattr(-,root,root) %{_bindir}/autoexpect %{_bindir}/autopasswd %{_bindir}/dislocate %{_bindir}/expect %{_bindir}/ftp-rfc %{_bindir}/kibitz %{_bindir}/lpunlock %{_bindir}/mkpasswd %{_bindir}/passmass %{_bindir}/rftp %{_bindir}/rlogin-cwd %{_bindir}/timed-read %{_bindir}/timed-run %{_bindir}/unbuffer %{_bindir}/weather %{_bindir}/xkibitz %{_libdir}/libexpect%{expect_version}.so #%{_mandir}/man1/autoexpect.* #%{_mandir}/man1/dislocate.* #%{_mandir}/man1/expect.* #%{_mandir}/man1/kibitz.* #%{_mandir}/man1/mkpasswd.* #%{_mandir}/man1/passmass.* #%{_mandir}/man1/unbuffer.* #%{_mandir}/man1/xkibitz.* %files -n expect%{?ver_suffix}-tk %defattr(-,root,root) %{_bindir}/multixterm %{_bindir}/expectk %{_bindir}/tknewsbiff %{_bindir}/tkpasswd %{_bindir}/xpstat #%{_mandir}/man1/expectk.* #%{_mandir}/man1/tknewsbiff.* #%{_mandir}/man1/multixterm.* %files -n expect%{?ver_suffix}-devel #-f manlist-expect %defattr(-,root,root) %{_includedir}/expect_tcl.h %{_includedir}/tcldbg.h %{_includedir}/expect.h %{_includedir}/expect_comm.h %doc expect-%{expect_version}/{ChangeLog,FAQ,HISTORY,INSTALL,NEWS,README} %files -n expect%{?ver_suffix}-examples %defattr(-,root,root) %{_bindir}/archie %{_bindir}/cryptdir %{_bindir}/decryptdir %{_bindir}/dvorak %{_bindir}/ftp-inband %{_bindir}/gethostbyaddr %{_bindir}/irsh %{_bindir}/passwdprompt %{_bindir}/robohunt %{_bindir}/telnet-cwd %{_bindir}/term_expect %{_bindir}/tkterm %{_bindir}/virterm %{_bindir}/vrfy %endif %changelog * Sun Sep 28 2014 Silvan Calarco 8.5.14-2mamba - remove file conflicting with litcl 8.6 * Tue Jul 02 2013 Silvan Calarco 8.5.14-1mamba - update to 8.5.14 - legacy package * Sat Nov 10 2012 Automatic Build System 8.5.13-1mamba - automatic version update by autodist * Fri Jul 27 2012 Automatic Build System 8.5.12-1mamba - automatic version update by autodist * Thu Nov 10 2011 Automatic Build System 8.5.11-1mamba - automatic version update by autodist * Sat Jun 25 2011 Automatic Build System 8.5.10-1mamba - automatic update by autodist * Tue Dec 14 2010 Davide Madrisan 8.5.9-2mamba - libtcl: provide tcl (required to install some closed-source packages) - libtk: provide tk * Thu Sep 09 2010 Automatic Build System 8.5.9-1mamba - automatic update to 8.5.9 by autodist * Thu Sep 02 2010 Silvan Calarco 8.5.8-4mamba - fixed alternatives installation in posttrans script * Thu Jun 03 2010 Silvan Calarco 8.5.8-3mamba - added prereq for /usr/sbin/alternatives - update to 5.44.1.15 from sourceforge.net/project/expect * Tue Mar 16 2010 Silvan Calarco 8.5.8-2mamba - renamed from tcltk85 to tlctk obsoleting old package names * Wed Nov 18 2009 Automatic Build System 8.5.8-1mamba - automatic update to 8.5.8 by autodist * Thu Apr 16 2009 Silvan Calarco 8.5.7-1mamba - automatic update to 8.5.7 by autodist * Tue Dec 23 2008 Silvan Calarco 8.5.6-1mamba - automatic update to 8.5.6 by autodist * Thu Oct 16 2008 Silvan Calarco 8.5.5-1mamba - automatic update to 8.5.5 by autodist * Sun Aug 31 2008 Silvan Calarco 8.5.4-1mamba - update to 8.5.4 * Fri May 09 2008 Silvan Calarco 8.5.2-1mamba - update to 8.5.2 * Wed Nov 21 2007 Silvan Calarco 8.5b3-1mamba - update to 8.5b3 * Tue Nov 20 2007 Silvan Calarco 8.5b2-1mamba - update to 8.5b2 - expect: update to 5.44.1 * Sun Apr 22 2007 Stefano Cotta Ramusino 8.4.14-2mamba - specfile cleaned - added missing header files in devel packages - update expect to version 5.43.0 - fixed shared library permissions - update patches * Wed Apr 04 2007 Silvan Calarco 8.4.14-1mamba - update to version 8.4.14 by autospec * Mon Jan 23 2006 Silvan Calarco 8.4.12-1qilnx - update to version 8.4.12 by autospec * Tue Sep 27 2005 Davide Madrisan 8.4.11-2qilnx - rebuilt * Mon Jul 11 2005 Silvan Calarco 8.4.11-1qilnx - update to version 8.4.11 by autospec * Wed Jan 19 2005 Davide Madrisan 8.4.9-1qilnx - update to version 8.4.9 by autospec - patched autoconf to remove autoconf2.13 requirement - updated the security patch for `expect' and `expectk' binaries - fixed libraries permissions - dinamically build the list of man pages for all the subpackages * Mon Aug 02 2004 Davide Madrisan 8.4.7-1qilnx - update to 8.4.7 * Wed Mar 03 2004 Davide Madrisan 8.4.6-1qilnx - rebuilt for 8.4.6 * Sat Feb 28 2004 Davide Madrisan 8.4.5-1qilnx - Tcl and Tk updated to version 8.4.5; expect updated to version 5.40 - extended specfile cleanups - security fix: removed in `expect' and `expectk' the world writable runtime library search path `{buildroot}%{_libdir}' (patch0) * Fri Aug 01 2003 Silvan Calarco 8.4.4-1qilnx - rebuilt for 8.4.4 - added expect * Thu May 15 2003 Alessandro Ramazzina 8.4.2-2qilnx - delete tcllib package from the tcltk.spec file * Wed May 14 2003 Alessandro Ramazzina 8.4.2-1qilnx - creation of tcltk package