%define MAJOR 8.6 Name: tcl Version: 8.6.8 Release: 8 Epoch: 1 Summary: The Tool Command Language implementation License: BSD URL: https://sourceforge.net/projects/tcl/ Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl-core%{version}-src.tar.gz BuildRequires: autoconf zlib-devel systemtap-sdt-devel Provides: tcl(abi) = %{MAJOR} Obsoletes: tcl-tcldict <= %{version} Provides: tcl-tcldict = %{version} Patch0000: tcl-8.6.3-autopath.patch Patch0001: tcl-8.6.8-conf.patch Patch0002: tcl-8.6.8-hidden.patch Patch0003: tcl-8.6.5-parallel-make-fix.patch Patch0004: stay-out-of-internals-when-nice-interfaces-are-avail.patch Patch0005: oops.patch Patch0006: Fix-for-issue-9fd5c629c1-TclOO-aborts-when-a-trace-o.patch Patch0007: Fix-bug-3c32a3f8bd-segmentation-fault-in-TclOO.c-Rel.patch Patch0008: Fix-error-message-for-min-math-functions-to-for-for-.patch Patch0009: Fix-behavior-of-Tcl_GetRange-and-string-range-regard.patch Patch0010: Fix-11ae2be95d-tip-389-branch-string-range-errors-wi.patch Patch0011: Improved-overflow-prevention-1.patch Patch0012: Improved-overflow-prevention-2.patch Patch0013: 27b682284974d0cd-command-file-delete-avoid-possible-.patch Patch0014: Fix-handling-of-surrogates-when-TCL_UTF_MAX-3-in-Tcl.patch Patch0015: Bug-fix-in-Tcl_UtfAtIndex-for-TCL_UTF_MAX-4-only-.-W.patch Patch0016: new-package.patch Patch0017: Plug-leak-in-TclSetEnv.patch Patch0018: closes-d051b77fc18d7340-fixed-segfault-by-integer-ov.patch Patch0020: amend-after-merge-8.6th-provide-additionally-an-erro.patch Patch0021: In-registry-protect-keyName-from-being-NULL-This-act.patch Patch0022: fixes-segfault-00d04c4f12-unfulfilled-base64-strict-.patch Patch0023: fixes-4ee9b4f3e965a7da5133-result-of-command-time-ov.patch Patch0024: fix-exec-test-error.patch %description Tcl(Tool Command Language) provides a powerful platform for creating integration applications that tie together diverse applications, protocols, devices, and frameworks. When paired with the Tk toolkit, Tcl provides the fastest and most powerful way to create GUI applications that run on linux, Unix, and Mac OS X. Tcl can also be used for a variety of web-related tasks and for creating powerful command languages for applications. %package help Summary: help document for tcl Requires: %{name} = %{epoch}:%{version}-%{release} BuildArch: noarch Provides: %{name}-doc < %{version}-%{release} Obsoletes: %{name}-doc = %{version}-%{release} %description help Help document for tcl. %package devel Summary: The development files for tcl Requires: %{name} = %{epoch}:%{version}-%{release} %description devel The development files for tcl. %prep %autosetup -n %{name}%{version} -p1 %build cd unix autoconf %configure --enable-threads --enable-symbols --enable-shared --enable-dtrace %make_build CFLAGS="%{optflags}" TCL_LIBRARY=%{_datadir}/%{name}%{MAJOR} %install cd unix make INSTALL_ROOT=$RPM_BUILD_ROOT TCL_LIBRARY=%{_datadir}/%{name}%{MAJOR} install cd .. ln -s tclsh%{MAJOR} %{buildroot}%{_bindir}/tclsh ln -s lib%{name}%{MAJOR}.so $RPM_BUILD_ROOT%{_libdir}/lib%{name}.so mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}%{MAJOR} ln -s %{_libdir}/%{name}Config.sh $RPM_BUILD_ROOT%{_libdir}/%{name}%{MAJOR}/%{name}Config.sh mv license.terms COPYING mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{name}-private/generic mkdir -p $RPM_BUILD_ROOT%{_includedir}/%{name}-private/unix find generic unix -name "*.h" -exec cp -p '{}' %{buildroot}/%{_includedir}/%{name}-private/'{}' ';' ( cd %{buildroot}/%{_includedir} for header in *.h ; do if [ -f %{buildroot}/%{_includedir}/%{name}-private/generic/$header ]; then ln -sf ../../$header %{buildroot}/%{_includedir}/%{name}-private/generic fi done ) sed -i -e "s|$PWD/unix|%{_libdir}|; s|$PWD|%{_includedir}/%{name}-private|" %{buildroot}/%{_libdir}/%{name}Config.sh rm -rf %{buildroot}/%{_datadir}/%{name}%{MAJOR}/ldAix %check cd unix make test %pre %preun %post /sbin/ldconfig %postun /sbin/ldconfig %files %defattr(-,root,root) %doc README changes COPYING %{_bindir}/tclsh* %dir %{_libdir}/%{name}%{MAJOR} %{_datadir}/%{name}%{MAJOR} %{_datadir}/%{name}8 %{_libdir}/lib%{name}%{MAJOR}.so %exclude %{_datadir}/%{name}%{MAJOR}/tclAppInit.c %files devel %{_includedir}/* %{_libdir}/lib%{name}stub%{MAJOR}.a %{_libdir}/lib%{name}.so %{_libdir}/%{name}Config.sh %{_libdir}/%{name}ooConfig.sh %{_libdir}/%{name}%{MAJOR}/%{name}Config.sh %{_libdir}/pkgconfig/tcl.pc %{_datadir}/%{name}%{MAJOR}/tclAppInit.c %files help %{_mandir}/man3/* %{_mandir}/man1/* %{_mandir}/mann/* %changelog * Tue Mar 17 2020 chengquan - 1:8.6.8.8 - Type:bugfix - ID:NA - SUG:NA - DESC:Rollback some patches & add /usr/lib64/tcl* * Sat Jan 11 2020 zhangguangzhi - 1:8.6.8.7 - Type:bugfix - ID:NA - SUG:NA - DESC:del patch to be consistent with open source * Wed Dec 25 2019 chengquan - 1:8.6.8.6 - Type:bugfix - ID:NA - SUG:NA - DESC:fix bug in update help package * Mon Nov 4 2019 shenyangyang - 1:8.6.8.5 - Type:NA - ID:NA - SUG:NA - DESC:add use/bin/tclsh8.6 * Fri Nov 1 2019 caomeng - 1:8.6.8.4 - Type:NA - ID:NA - SUG:NA - DESC:fix tclConfig.sh problem * Mon Sep 09 2019 Huiming Xie - 1:8.6.8.3 - Package init