tcl/tcl.spec

181 lines
5.0 KiB
RPMSpec
Raw Normal View History

2019-09-30 11:18:08 -04:00
%define MAJOR 8.6
Name: tcl
2020-07-29 19:59:52 +08:00
Version: 8.6.10
Release: 3
2019-09-30 11:18:08 -04:00
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 gcc
2019-09-30 11:18:08 -04:00
Provides: tcl(abi) = %{MAJOR}
Obsoletes: tcl-tcldict <= %{version}
Provides: tcl-tcldict = %{version}
2020-07-29 19:59:52 +08:00
Patch0: tcl-8.6.10-autopath.patch
Patch1: tcl-8.6.10-conf.patch
Patch2: tcl-8.6.10-hidden.patch
Patch3: tcl-8.6.10-tcltests-path-fix.patch
Patch4: stay-out-of-internals-when-nice-interfaces-are-avail.patch
Patch5: oops.patch
Patch6: Fix-error-message-for-min-math-functions-to-for-for-.patch
Patch7: Fix-11ae2be95d-tip-389-branch-string-range-errors-wi.patch
Patch8: Improved-overflow-prevention-1.patch
Patch9: Improved-overflow-prevention-2.patch
Patch10: fix-exec-test-error.patch
Patch11: File-not-found-should-be-ignored-silently.patch
2019-09-30 11:18:08 -04:00
%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
2019-12-25 17:11:34 +08:00
Provides: %{name}-doc < %{version}-%{release}
Obsoletes: %{name}-doc = %{version}-%{release}
2019-09-30 11:18:08 -04:00
%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
2020-07-29 19:59:52 +08:00
2019-09-30 11:18:08 -04:00
cd ..
2019-12-13 16:11:28 +08:00
ln -s tclsh%{MAJOR} %{buildroot}%{_bindir}/tclsh
2019-09-30 11:18:08 -04:00
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/'{}' ';'
2019-12-13 16:11:28 +08:00
(
2019-09-30 11:18:08 -04:00
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
2019-12-13 16:11:28 +08:00
)
2019-09-30 11:18:08 -04:00
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)
2020-07-29 19:59:52 +08:00
%doc README.md changes COPYING
2019-12-13 16:11:28 +08:00
%{_bindir}/tclsh*
%dir %{_libdir}/%{name}%{MAJOR}
2019-09-30 11:18:08 -04:00
%{_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
* Fri May 28 2021 yangzhuangzhuang <yangzhuangzhaung1@huawei.com> - 1:8.6.10-3
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:The "no acceptable C compiler found" error message is displayed during compilation.Therefore,add buildrequires gcc.
* Tue Oct 27 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 1:8.6.10-2
- Type:bugfix
- ID:NA
- SUG:NA
- DESC: File not found should be ignored silently
* Wed Jul 29 2020 zhangxingliang <zhangxingliang3@huawei.com> - 1:8.6.10-1
2020-07-29 19:59:52 +08:00
- Type:enhancement
- ID:NA
- SUG:NA
- DESC:update to 8.6.10
* Tue Mar 17 2020 chengquan<chengquan3@huawei.com> - 1:8.6.8.8
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:Rollback some patches & add /usr/lib64/tcl*
* Sat Jan 11 2020 zhangguangzhi<zhangguangzhi3@huawei.com> - 1:8.6.8.7
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:del patch to be consistent with open source
2019-12-25 17:11:34 +08:00
* Wed Dec 25 2019 chengquan <chengquan3@huawei.com> - 1:8.6.8.6
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:fix bug in update help package
2019-12-13 16:11:28 +08:00
* Mon Nov 4 2019 shenyangyang <shenyangyang4@huawei.com> - 1:8.6.8.5
- Type:NA
- ID:NA
- SUG:NA
- DESC:add use/bin/tclsh8.6
* Fri Nov 1 2019 caomeng <caomeng5@huawei.com> - 1:8.6.8.4
- Type:NA
- ID:NA
- SUG:NA
- DESC:fix tclConfig.sh problem
2019-09-30 11:18:08 -04:00
* Mon Sep 09 2019 Huiming Xie <xiehuiming@huawei.com> - 1:8.6.8.3
- Package init