tcl/tcl.spec

404 lines
14 KiB
RPMSpec

%define majversion %(echo %version | cut -d. -f1-2)
Name: tcl
Version: 8.6.10
Release: 4mamba
Summary: A simple scripting language designed to be embedded into other applications
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: http://www.tcl.tk
Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl%{version}-src.tar.gz
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: ldconfig
BuildRequires: libz-devel
## AUTOBUILDREQ-END
BuildRequires: chrpath
Provides: /usr/bin/tclsh
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 lib%{name}
Summary: An embeddable scripting language
Group: System/Libraries
Requires(pre): /usr/sbin/alternatives
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}
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 lib%{name}-devel
Summary: Static libraries and headers for libtcl
Group: Development/Libraries
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: lib%{name}-mysql = %{?epoch:%epoch:}%{version}-%{release}
Requires: lib%{name}-odbc = %{?epoch:%epoch:}%{version}-%{release}
Requires: lib%{name}-postgres = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-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 lib%{name}-mysql
Summary: TCL tdbc component for MySQL
Group: System/Libraries
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-mysql
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 the tdbc component for MySQL.
%package -n lib%{name}-odbc
Summary: TCL tdbc component for ODBC
Group: System/Libraries
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n libtcl%{?ver_suffix}-odbc
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 the tdbc component for ODBC.
%package -n lib%{name}-postgres
Summary: TCL tdbc component for Postgres
Group: System/Libraries
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n lib%{name}-postgres
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 the tdbc component for Postgres.
%debug_package
%prep
%setup -q -n tcl%{version}
# provided by libsqlite3-tcl
rm -rf pkgs/sqlite*
%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-rpath \
--enable-threads \
--enable-shared \
%ifarch x86_64 aarch64
--enable-64bit
%endif
# --disable-symbols \
# --enable-man-symlinks \
# --enable-man-suffix=%{?ver_suffix}
%make
%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}
install -Dm644 unix/tcl.m4 -t %{buildroot}%{_datadir}/aclocal/tcl.m4
# remove buildroot traces
sed -i "s|%{buildroot}||" %{buildroot}%{_libdir}/tclConfig.sh
## fixup strange shared library permissions
#chmod 755 %{buildroot}%{_libdir}/lib*.so
# remove mann or rpm crashes for no really known reason
rm -rf %{buildroot}%{_mandir}/mann
mv %{buildroot}%{_libdir}/tclConfig.sh %{buildroot}%{_prefix}/lib/tcl%{majversion}/
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post
/usr/sbin/alternatives --install \
%{_bindir}/tclsh tclsh %{_bindir}/tclsh%{majversion} 30
/usr/sbin/update-alternatives --auto tclsh
:
%postun
if [ "$1" = "0" ]; then
/usr/sbin/update-alternatives --remove tclsh %{_bindir}/tclsh%{majversion}
fi
:
%posttrans
if [ $1 -gt 0 ]; then
/usr/sbin/alternatives --install \
%{_bindir}/tclsh tclsh %{_bindir}/tclsh%{majversion} 30 2>/dev/null
/usr/sbin/update-alternatives --auto tclsh
fi
:
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/tclsh%{majversion}
%{_libdir}/tclooConfig.sh
%dir %{_prefix}/lib/tcl%{majversion}/
%{_prefix}/lib/tcl%{majversion}/*
%dir %{_prefix}/lib/tcl8/
%dir %{_prefix}/lib/tcl8/8.4
%{_prefix}/lib/tcl8/8.4/*
%dir %{_prefix}/lib/tcl8/8.5
%{_prefix}/lib/tcl8/8.5/*
%dir %{_prefix}/lib/tcl8/%{majversion}
%{_prefix}/lib/tcl8/%{majversion}/*
%files -n lib%{name}
%defattr(-,root,root)
%{_libdir}/libtcl%{majversion}.so
%dir %{_libdir}/itcl4.*/
%{_libdir}/itcl4.*/*
%ifarch x86_64 aarch64
%{_libdir}/tcl8/%{majversion}/tdbc/sqlite3-*.tm
%endif
%dir %{_libdir}/tdbc1.*/
%{_libdir}/tdbc1.*/*
%dir %{_libdir}/thread*
%{_libdir}/thread*/*.tcl
%{_libdir}/thread*/libthread*.so
%{_mandir}/man1/tclsh.*
%doc license.terms
%files -n lib%{name}-mysql
%defattr(-,root,root)
%dir %{_libdir}/tdbcmysql*
%{_libdir}/tdbcmysql*/libtdbcmysql*.so
%{_libdir}/tdbcmysql*/pkgIndex.tcl
%{_libdir}/tdbcmysql*/tdbcmysql.tcl
%files -n lib%{name}-odbc
%defattr(-,root,root)
%dir %{_libdir}/tdbcodbc*
%{_libdir}/tdbcodbc*/libtdbcodbc*.so
%{_libdir}/tdbcodbc*/pkgIndex.tcl
%{_libdir}/tdbcodbc*/tdbcodbc.tcl
%files -n lib%{name}-postgres
%defattr(-,root,root)
%dir %{_libdir}/tdbcpostgres*
%{_libdir}/tdbcpostgres*/libtdbcpostgres*.so
%{_libdir}/tdbcpostgres*/pkgIndex.tcl
%{_libdir}/tdbcpostgres*/tdbcpostgres.tcl
%files -n lib%{name}-devel
%defattr(-,root,root)
%{_includedir}/*.h
%{_libdir}/libtclstub%{majversion}.a
%{_libdir}/pkgconfig/tcl.pc
%{_datadir}/aclocal/tcl.m4
%{_mandir}/man3/*.3*
%doc ChangeLog* changes
%changelog
* Sat Jan 04 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.10-4mamba
- rebuilt as standalone tcl package
* Fri Jan 03 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.10-3mamba
- rebuilt with current toolchain and --enable-64bit
* Sat Nov 23 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.10-2mamba
- add tcktk package with common files for biarch support
* Fri Nov 22 2019 Automatic Build System <autodist@mambasoft.it> 8.6.10-1mamba
- automatic version update by autodist
* Sat Jun 22 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.9-2mamba
- move tclConfig.sh from %{_libdir} to %{_prefix}/lib/tcl%{majversion}
* Sat Nov 17 2018 Automatic Build System <autodist@mambasoft.it> 8.6.9-1mamba
- automatic version update by autodist
* Wed Aug 22 2018 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.8-2mamba
- rebuilt with glibc >= 2.27 to remove deps on obsoleted libieee
* Wed Dec 27 2017 Automatic Build System <autodist@mambasoft.it> 8.6.8-1mamba
- automatic version update by autodist
* Fri Aug 25 2017 Automatic Build System <autodist@mambasoft.it> 8.6.7-1mamba
- automatic version update by autodist
* Thu Jul 28 2016 Automatic Build System <autodist@mambasoft.it> 8.6.6-1mamba
- automatic version update by autodist
* Tue Mar 01 2016 Automatic Build System <autodist@mambasoft.it> 8.6.5-1mamba
- automatic version update by autodist
* Fri Mar 20 2015 Automatic Build System <autodist@mambasoft.it> 8.6.4-1mamba
- automatic version update by autodist
* Sat Nov 15 2014 Automatic Build System <autodist@mambasoft.it> 8.6.3-1mamba
- automatic version update by autodist
* Thu Sep 18 2014 Automatic Build System <autodist@mambasoft.it> 8.6.2-1mamba
- automatic version update by autodist
* Tue May 06 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.1-4mamba
- fix tools calling expect (can't find package Expect)
* Sun Feb 09 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.1-3mamba
- remove sqlite pkg provided by libsqlite-tcl
* Sat Sep 21 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.1-2mamba
- patch example requiring expectk which is no longer provided
* Sat Sep 21 2013 Automatic Build System <autodist@mambasoft.it> 8.6.1-1mamba
- automatic version update by autodist
* Mon Jul 08 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.0-4mamba
- libtk-devel: don't provide/obsolete libtk85-devel
- expect: update to 5.45
- fix conflicting files installed in wrong version dir %{_prefix}/lib/tcl8/8.5
* Tue Jul 02 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.0-3mamba
- add patch to fix libs in tk.pc
* Tue Jul 02 2013 Silvan Calarco <silvan.calarco@mambasoft.it> 8.6.0-2mamba
- remove requires/obsoletes for *85 version (provided by tcltk85 legacy packages)
* Thu Jan 03 2013 Automatic Build System <autodist@mambasoft.it> 8.6.0-1mamba
- automatic version update by autodist
* Sat Nov 10 2012 Automatic Build System <autodist@mambasoft.it> 8.5.13-1mamba
- automatic version update by autodist
* Fri Jul 27 2012 Automatic Build System <autodist@mambasoft.it> 8.5.12-1mamba
- automatic version update by autodist
* Thu Nov 10 2011 Automatic Build System <autodist@mambasoft.it> 8.5.11-1mamba
- automatic version update by autodist
* Sat Jun 25 2011 Automatic Build System <autodist@mambasoft.it> 8.5.10-1mamba
- automatic update by autodist
* Tue Dec 14 2010 Davide Madrisan <davide.madrisan@gmail.com> 8.5.9-2mamba
- libtcl: provide tcl (required to install some closed-source packages)
- libtk: provide tk
* Thu Sep 09 2010 Automatic Build System <autodist@mambasoft.it> 8.5.9-1mamba
- automatic update to 8.5.9 by autodist
* Thu Sep 02 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5.8-4mamba
- fixed alternatives installation in posttrans script
* Thu Jun 03 2010 Silvan Calarco <silvan.calarco@mambasoft.it> 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 <silvan.calarco@mambasoft.it> 8.5.8-2mamba
- renamed from tcltk85 to tlctk obsoleting old package names
* Wed Nov 18 2009 Automatic Build System <autodist@mambasoft.it> 8.5.8-1mamba
- automatic update to 8.5.8 by autodist
* Thu Apr 16 2009 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5.7-1mamba
- automatic update to 8.5.7 by autodist
* Tue Dec 23 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5.6-1mamba
- automatic update to 8.5.6 by autodist
* Thu Oct 16 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5.5-1mamba
- automatic update to 8.5.5 by autodist
* Sun Aug 31 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5.4-1mamba
- update to 8.5.4
* Fri May 09 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5.2-1mamba
- update to 8.5.2
* Wed Nov 21 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5b3-1mamba
- update to 8.5b3
* Tue Nov 20 2007 Silvan Calarco <silvan.calarco@mambasoft.it> 8.5b2-1mamba
- update to 8.5b2
- expect: update to 5.44.1
* Sun Apr 22 2007 Stefano Cotta Ramusino <stefano.cotta@openmamba.org> 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 <silvan.calarco@mambasoft.it> 8.4.14-1mamba
- update to version 8.4.14 by autospec
* Mon Jan 23 2006 Silvan Calarco <silvan.calarco@mambasoft.it> 8.4.12-1qilnx
- update to version 8.4.12 by autospec
* Tue Sep 27 2005 Davide Madrisan <davide.madrisan@qilinux.it> 8.4.11-2qilnx
- rebuilt
* Mon Jul 11 2005 Silvan Calarco <silvan.calarco@mambasoft.it> 8.4.11-1qilnx
- update to version 8.4.11 by autospec
* Wed Jan 19 2005 Davide Madrisan <davide.madrisan@qilinux.it> 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 <davide.madrisan@qilinux.it> 8.4.7-1qilnx
- update to 8.4.7
* Wed Mar 03 2004 Davide Madrisan <davide.madrisan@qilinux.it> 8.4.6-1qilnx
- rebuilt for 8.4.6
* Sat Feb 28 2004 Davide Madrisan <davide.madrisan@qilinux.it> 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 <silvan.calarco@qinet.it> 8.4.4-1qilnx
- rebuilt for 8.4.4
- added expect
* Thu May 15 2003 Alessandro Ramazzina <alessandro.ramazzina@qinet.it> 8.4.2-2qilnx
- delete tcllib package from the tcltk.spec file
* Wed May 14 2003 Alessandro Ramazzina <alessandro.ramazzina@qinet.it> 8.4.2-1qilnx
- creation of tcltk package