tcl/tcl.spec

521 lines
18 KiB
RPMSpec

#
# spec file for package tcl (Version 8.5.2)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: tcl
Url: http://www.tcl.tk
Version: 8.5.2
Release: 4
%define TCL_MINOR %(echo %version | cut -c1-3)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: The Tcl Programming Language
License: BSD 3-Clause
Group: Development/Languages/Tcl
AutoReqProv: on
Provides: tclsh tclsh%{TCL_MINOR}
PreReq: /bin/rm
Source0: %name%{version}-src.tar.bz2
Source1: tcl-rpmlintrc
Source2: baselibs.conf
Source3: macros.tcl
Patch0: tcl.patch
Patch1: tcl-format.patch
%description
Tcl (Tool Command Language) is a very powerful but easy to learn
dynamic programming language, suitable for a very wide range of uses,
including web and desktop applications, networking, administration,
testing and many more. Open source and business-friendly, Tcl is a
mature yet evolving language that is truly cross platform, easily
deployed and highly extensible.
For more information on Tcl see http://www.tcl.tk and
http://wiki.tcl.tk .
Authors:
--------
The Tcl Core Team <tcl-core@lists.sourceforge.net>
%package devel
Group: Development/Libraries/Tcl
License: BSD 3-Clause
Summary: Header Files and C API Documentation for Tcl
Requires: tcl = %version
%description devel
This package contains header files and documentation needed for writing
Tcl extensions in compiled languages like C, C++, etc., or for
embedding the Tcl interpreter in programs written in such languages.
This package is not needed for writing extensions or applications in
the Tcl language itself.
Authors:
--------
The Tcl Core Team <tcl-core@lists.sourceforge.net>
%prep
%setup -q -n %name%version
%patch0
%patch1
%build
cd unix
%configure \
--enable-treads \
--enable-man-symlinks \
--enable-man-compression=gzip
%define scriptdir %_libdir/tcl
MAKE='make %{?jobs:-j%jobs}
TCL_LIBRARY="%scriptdir/tcl%TCL_MINOR"
TCL_PACKAGE_PATH="%_libdir/tcl %_datadir/tcl"
CFLAGS="%optflags $PFLAGS"
LDFLAGS_OPTIMIZE="%optflags $PFLAGS"
SHLIB_LD="gcc -shared %optflags $PFLAGS"'
# Build with instrumentation for profiling
PFLAGS="%cflags_profile_generate"
eval $MAKE
# Some of the regressioin tests write to $HOME, so better redirect them
mkdir home
export HOME=$PWD/home
# Run the testsuite to gather some data for the profile-based
# optimisation and let rpmbuild fail on unexpected test failures.
cat > known-failures <<EOF
httpold-4.12
mathop-25.14
EOF
#eval $MAKE test 2>&1 | tee testresults
#grep FAILED testresults | grep -Fqvf known-failures && exit 1
# If we don't do profile based optimisation, we are done at this point.
test -z "$PFLAGS" && exit 0
# Rebuild and use the profiling results
make clean
PFLAGS="%cflags_profile_feedback"
eval $MAKE
%install
make -C unix install install-private-headers \
INSTALL_ROOT=%buildroot \
TCL_LIBRARY="%scriptdir/tcl%TCL_MINOR"
rm -f %buildroot%scriptdir/tcl%TCL_MINOR/ldAix
ln -sf tclsh%TCL_MINOR %buildroot%_prefix/bin/tclsh
mkdir -p %buildroot%_datadir/tcl
install -D %{S:3} %buildroot/etc/rpm/macros.tcl
%clean
rm -rf %buildroot
%if %_lib == lib64
%post
test -L /usr/lib/tcl%TCL_MINOR && /bin/rm -f /usr/lib/tcl%TCL_MINOR
exit 0
%endif
%files
%defattr(-,root,root,755)
%doc README changes license.terms ChangeLog*
%docdir %_mandir/mann
%doc %_mandir/man1/*
%doc %_mandir/mann/*
%_prefix/bin/*
%_libdir/lib*.so
%_datadir/tcl
%scriptdir
%exclude %scriptdir/*/tclAppInit.c
/etc/rpm/macros.tcl
%files devel
%defattr(-,root,root)
%doc %_mandir/man3/*
%_includedir/*
%scriptdir/*/tclAppInit.c
%_libdir/*.a
%_libdir/tclConfig.sh
%changelog
* Mon Apr 07 2008 max@suse.de
- Added /etc/rpm/macros.tcl
- Fixed behaviour of "%% d" format string.
* Wed Apr 02 2008 max@suse.de
- New release: 8.5.2:
* Speed: 8.5 now runs 10%% faster than 8.4 with bytecode
improvements, object caching and reduced memory usage.
* Bignums: Tcl now supports arbitrary-precision integers, which
improves math operations on large integers.
* Safer interps: Tcl's powerful safe interpreter mechanism now
has improved control of time and command limits in slave
interpreters.
* clock command: More robust implementation of command for
specifying time, with significant l10n and i18n improvements.
* dict command: New data structure that allows access to data
by value rather than a variable name, which is substantially
faster.
* Additional improvements: Faster list search, new and improved
mathematics procedures, anonymous procedures, new ways to
package Tcl extensions, Tcl-level custom channel types, file
and line location information for each command, and more.
* More details in /usr/share/doc/packages/tcl/changes .
- Changed install locations for extensions: Compiled packages now
go into their own subdir under /usr/lib{,64}/tcl, script-only
packages go into /usr/share/tcl .
* Wed Jun 06 2007 max@suse.de
- New Patchlevel release: 8.4.15
- fix [file copy] on afs
- use > 32 async sockets on 64bit system
- fix list shimmer crash in [lsort]
- fix list shimmer crash in [foreach]
- fix list shimmer crash in [array set]
- fix buffer overflow in [registry keys]
* Tue Oct 17 2006 max@suse.de
- New patchlevel release: 8.4.14rc2
- srand() accept wide input.
- interactive Tcl_Main blocks main loop
- proc re-compile: preserve the previous bytecode while references
still on the stack
- fixed [glob] on VFS
- fix intermittent failures in TclUnixWaitForFile()
- fix filesystem segfaults
- use of MT-safe system calls
- make [lappend $nonList] complain
- alignment fixes in unicode encoding routines
- [set ::http::strict 1] (default value is 0) to enable URL validity
checking against RFC 2986
* Mon Sep 11 2006 max@suse.de
- New version: 8.4.13
- Fixes abs(MIN_INT) handling (obsoletes tcl-abs.patch)
- Fixes exec (#127822, obsoletes tcl-exec.patch)
- Several other bugfixes.
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Mon Jan 16 2006 max@suse.de
- Fixed a potential segfault in the exec command (#127822).
* Mon Dec 12 2005 max@suse.de
- Fixed abs(MIN_INT) handling.
* Thu Dec 08 2005 max@suse.de
- New version: 8.4.12
* Sun Nov 06 2005 schwab@suse.de
- Fix syntax error in unix configure script.
* Wed Jul 27 2005 max@suse.de
- New version: 8.4.11
- Fixed package loading path. Now Tcl extensions are found under
/usr/share/tcl, /usr/lib, and on biarch platforms also under
/usr/lib64.
* Tue Jun 14 2005 max@suse.de
- New version: 8.4.10
- Moved script libraries to /usr/share/tcl .
* Mon May 09 2005 max@suse.de
- Fixed profile-based optimisation with gcc4 (tcl-profile.patch).
* Mon Mar 21 2005 max@suse.de
- Added prerequisites for the trigger scripts (bug #74027).
* Fri Mar 18 2005 max@suse.de
- Make sure that tcl-32bit finds the script libraries when
installed on a 64bit system.
* Fri Dec 03 2004 max@suse.de
- New version: 8.4.9
* Mon Nov 22 2004 max@suse.de
- New version: 8.4.8
* Thu Aug 19 2004 schwab@suse.de
- Fix broken tests that depend on particular directory order.
* Tue Jul 27 2004 max@suse.de
- New version: 8.4.7
* Thu May 27 2004 max@suse.de
- Added tcl-utf8-null.patch to fix bug #39165. Tcl wrote nullbytes
as 0xc0, 0xc80 instead of 0x00 when writing to a UTF-8 encoded
channel.
* Fri Mar 05 2004 max@suse.de
- Updated to the official 8.4.6 source tarball which fixes a
memory leak.
* Fri Feb 27 2004 max@suse.de
- New version: 8.4.6
* Fri Feb 06 2004 max@suse.de
- Added -fno-strict-aliasing to CFLAGS.
* Tue Jan 20 2004 schwab@suse.de
- Move %%define before first use.
* Thu Jan 15 2004 max@suse.de
- Added LDFLAGS for gcc-3.4 and feedback based optimization.
* Mon Jan 12 2004 max@suse.de
- New version: 8.4.5
- Removed tclbench, since "make test" seems to be enough exercise
for the feedback based optimization.
* Thu Oct 02 2003 max@suse.de
- Removed support for building static libs from the spec file.
- Added open-std-channels.patch to prevent tclsh from crashing
when it's started with one or more of std{in,out,err} closed.
* Tue Sep 02 2003 max@suse.de
- Disabled building of the static library to save build time and
CD space.
* Wed Aug 13 2003 max@suse.de
- Cleaned up the spec file from cruft, left from the times when it
built multiple packages.
- Added support for GCC feedback based optimization.
- Added support for parallel compilaton.
* Thu Jul 24 2003 max@suse.de
- Fixed a typo, that broke [pkg_mkIndex -verbose].
* Wed Jul 23 2003 max@suse.de
- New version: 8.4.4
* Wed May 21 2003 max@suse.de
- New version: 8.4.3
- Removed obsolete patches
* Wed Mar 05 2003 max@suse.de
- Updated to official 8.4.2 release tarball
- Essental diff to RC1 added as tcl-20030305.path.gz
* Thu Feb 27 2003 max@suse.de
- Updated to 8.4.2 RC1, and added an essential diff to the
previous tarball (tcl-20030227.patch.bz2).
- tcl-StringObj.patch is no longer needed.
- Disabled the httpold-4.12 test, because it sometimes fails on
Hammer due to timing issues.
* Tue Feb 18 2003 max@suse.de
- Updated to CVS HEAD, and added diff to the previous tarball
for completeness.
- Added tcl-StringObj.patch to fix a bug in conjunction
with expect (Bug #23694).
- Made the testsuite break build if any test fails.
* Fri Feb 07 2003 max@suse.de
- Upgrade to CVS HEAD (8.4.2pre).
* Mon Nov 25 2002 max@suse.de
- Upgrade to 8.4.1
- Added tcl-HEAD.patch with fixes that went in after
the 8.4.1 release.
- Moved itcl, iwidgets, tk, and tclx into separate soure packages.
* Mon Sep 09 2002 max@suse.de
- Added patch to final 8.4.0.
- Another couple of memleak and docu fixes.
* Thu Sep 05 2002 max@suse.de
- Next round of fixes (tcl8.4-20020905.patch tk8.4-20020905.patch).
- A detailed ChangeLog is at the top of the new patches.
- Removed autoconf and automake from neededforbuild.
* Tue Sep 03 2002 max@suse.de
- Another CVS snapshot for Tcl and Tk.
- The version numbers have been bumped from 8.4b3 to 8.4.0
- A couple more bug fixes. For details see the new ChangeLog
entries in the patches.
* Mon Sep 02 2002 max@suse.de
- Added patches for to update Tcl and Tk to current CVS HEAD to
fix some segfault cases and memleaks e.g. bug #18651.
See ChangeLog for more details.
- Renamed Object.3 to Tcl_Obj.3 to resolve a name conflict.
* Thu Aug 15 2002 max@suse.de
- Updated Tcl and Tk to the latest CVS snapshot which is close
to the official 8.4b2 release.
- Updated Itcl to 3.3 from CVS because it better fits with Tcl8.4.
- Removed excessive braces from RPM macros, and some more cleanups
in the spec file.
- Using x-devel-packages instead of xf86 in needeforbuild.
- socklen_t.patch isn't needed anymore.
- Fixed CFLAGS (-fPIC) for TclX.
- Updated TclX to 8.4 from CVS (needed for Tcl/Tk 8.4).
This doesn't include /usr/bin/tcl and /usr/bin/wishx anymore.
In case a script needs one of them, please use a normal tclsh
or wish and add a line saying "package require Tclx" to the
beginning of the script.
* Fri Jul 26 2002 max@suse.de
- Removed gdb from #neededforbuild.
* Mon Jul 22 2002 max@suse.de
- Updated to the latest CVS HEAD.
- Fixed socket calls on s390x (socklen_t.patch).
* Mon Jul 01 2002 max@suse.de
- New Versions of Tcl and Tk: 8.4b1
* Fri Jun 07 2002 max@suse.de
- New Version of tkcon: 2.3.
- Fixed directory permissions in iwidgets.
- Put things that are common to all subpackages into shell
functions to make maintainance of the spec file easier.
* Wed Apr 24 2002 max@suse.de
- Fixed creation of Tk's pkgIndex.tcl.
- Fixed permissions and path to wish in iwidgets demo scripts.
* Wed Apr 03 2002 ro@suse.de
- fix to build with latest autoconf (LIBOBJS vs. AC_LIBOBJ)
* Wed Feb 20 2002 uli@suse.de
- fixed to build on ARM
* Wed Feb 20 2002 max@suse.de
- Fixed for lib64-s390x (libdir.patch).
- Running the testsuite after building Tcl.
* Mon Feb 18 2002 max@suse.de
- Changed TclX to use -fPIC instead of -fpic .
* Wed Feb 06 2002 max@suse.de
- Fixed a typo in the http package.
- Moved iwidgets out of the itcl dir.
* Thu Jan 17 2002 max@suse.de
- Moved Tix and Expect back into their own source packages.
- Added some private headers to tcl-devel to be able to
build Tix and Expect independent of the Tcl/Tk sources.
- replaced %%{_prefix}/lib by %%{_libdir} where apropriate
* Fri Dec 14 2001 uli@suse.de
- build static only on ARM
* Fri Nov 16 2001 schwab@suse.de
- Use $(SHLIB_CFLAGS) in itcl makefiles.
* Mon Oct 29 2001 max@suse.de
- New versions:
o Tcl/Tk 8.3.4
o expect 5.33.0
o Tix 8.1.1
o [incr Tcl/Tk] 3.2.1
o [incr Widgets] 4.0.0
- Included tkcon-2.2 with Tk.
- Removed unnecessary explicit dependencies between
the subpackages.
- Changed the memory man page back to the one that comes with Tcl.
- Changed the -C configure switch to be only used when needed and
supported.
* Fri Sep 21 2001 max@suse.de
- replaced the "memory" man page from Tcl with the one from TclX,
because it is better and there was a filename clash in the two
packages before.
* Mon Jun 18 2001 schwab@suse.de
- Fix TK_XINCLUDES in tkConfig.sh.
* Wed Jun 13 2001 schwab@suse.de
- Add %%suse_update_config.
- Fix for new autoconf (force use of cache file).
* Tue May 08 2001 mfabian@suse.de
- bzip2 sources
* Tue Apr 10 2001 max@suse.de
- new version of Tcl/Tk: 8.3.3
* Mon Apr 02 2001 max@suse.de
- security fix for expect (/var/tmp/[...] was in rpath).
* Thu Mar 08 2001 max@suse.de
- made exclusion of static libs for manual builds more robust
* Wed Mar 07 2001 max@suse.de
- added xdevel and xshared to #neededforbuild
- using %%if to exclude things when building without static libs.
* Wed Jan 10 2001 max@suse.de
- Fixed a bug itcl's manpage installation -
man.macros was not copied into the individual manpages.
* Mon Jan 08 2001 max@suse.de
- Enabling XIM by default.
This fixes the compose and deadkey problem. Bug #5234
* Tue Dec 19 2000 max@suse.de
- Fix for race condition with tmpnam(3) in tclUnixPipe.c
* Thu Nov 30 2000 ro@suse.de
- try to fix static-lib install
* Thu Nov 30 2000 max@suse.de
- re-enabled static libs
* Wed Nov 29 2000 max@suse.de
- renamed tcld to tcl-devel
- new version of Tcl/Tk: 8.3.2
- new version of [incr Tcl]: 3.2
- new version of TclX: 8.3.2
- new version of expect: 5.32
- new version of Tix: 8.1.0
* Fri Nov 24 2000 schwab@suse.de
- Fix typo in itk makefile.
* Wed Nov 15 2000 ro@suse.de
- use "export LANG=en_US" to make it build despite col bug
* Wed Sep 13 2000 max@suse.de
- When running in build or autobuild, configure didn't recognize
the termios API, because the check needed stdin to be a tty.
Changed tcl.m4 to fix this by relying on the existance of
termios.h .
* Wed May 31 2000 max@suse.de
- New version of Tix: 4.1.007
- Applied Bruce Stephens' Patch to make Tix work with Tcl/Tk 8.3
http://www.egroups.com/message/tix/494
* Wed May 17 2000 schwab@suse.de
- Recover bug fixes.
* Thu May 04 2000 max@suse.de
- new version of Tcl/Tk: 8.3.1
- new version of TclX: 8.2.0
- new version of expect: 5.31
- new version of itcl: 3.1.0
- the package uses RPM_BUILD_ROOT now
- some of schwab's bad documented "fixes" got lost
* Fri Apr 14 2000 schwab@suse.de
- Use $RPM_OPT_FLAGS as default CFLAGS.
- expect, tix: fix missing declarations.
- itcl: make sure we link to the libraries just built.
* Wed Apr 12 2000 schwab@suse.de
- expect: make sure ptsname is declared.
- tclX: fix autoconf check for clock_t (look in <time.t>)
* Mon Feb 28 2000 schwab@suse.de
- Add group tags
- expect: use --localdir with autoreconf, update config.{guess,sub}
- tcl: fix printf formats
* Thu Feb 24 2000 schwab@suse.de
- Fix 64 Bit Bug in expect.
* Tue Jan 25 2000 kukuk@suse.de
- Remove autopasswd, mkpasswd and tkpasswd from expect file list.
They will not work with PAM. Fixes [Bug 638] and [Bug 1554]
* Sat Nov 27 1999 kukuk@suse.de
- Fix duplicate SIGPWR/SIGLOST on SPARC
* Mon Nov 15 1999 kasal@suse.de
- fixed a few minor bugs in spec file, mainly:
call "autoreconf --force" instead of "autoconf" to regenerate
also the configure scripts in subdirs
rm *.o before creating the dynamic version of the library
* Mon Nov 08 1999 max@suse.de
- added some compatibility links:
/usr/X11R6/bin/wish -> ../../bin/wish8.0
/usr/X11R6/bin/wish8.0 -> ../../bin/wish8.0
/usr/X11R6/bin/tixwish -> ../../bin/tixwish4.1.8.0
/usr/X11R6/bin/tixwish4.1.8.0 -> ../../bin/tixwish4.1.8.0
* Fri Oct 08 1999 max@suse.de
- integrated tclX8.0.4 as an additional subpackage
* Thu Oct 07 1999 max@suse.de
- integrated expect-5.30 as an additional subpackage
- changed the names of some tk manpages because they
interferred with itcl
- removed the tix-sam libraries from tcld
* Thu Sep 30 1999 max@suse.de
- this is a test version for the beta distribution
- major rework of the spec-file
- renamed the packages from tcl_new, tk_new, etc. to tcl, tk, etc.
- Moved Tk from /usr/X11R6 to /usr.
- Moved Tix from /usr/lib/tcltk to /usr/lib
- Included itcl 3.0.1 as a subpackage
- There is a new subpackage, called tcld that holds all the
static libs and header files for Tcl, Tk, Tix and Itcl.
- Most file lists are auto-generated now.
* Mon Sep 27 1999 bs@suse.de
- fixed requirements for sub packages
* Mon Sep 13 1999 bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
* Sun Mar 14 1999 max@suse.de
- new version: 8.0.5
- ro's patch from Mon Sep 21 1998 is not needed anymore
* Tue Mar 02 1999 ro@suse.de
- changed macro TK to TKK in specfile
2char macros don't seem to work in current rpm
* Fri Jan 15 1999 max@suse.de
- fixed path bug with applications linked against libtk which do
not reside in /usr/X11R6
* Thu Nov 26 1998 max@suse.de
- corrected some paths in tix to make it find its init script
and libraries correctly
* Tue Nov 24 1998 max@suse.de
- merged spec files of tcl_new, tk_new and tix_new into tcl_new.spec
- this changes file is from now on for all three packages
* Mon Nov 23 1998 max@suse.de
- new version: 8.0.4
- cleand up softlinks and compression for man pages
* Mon Sep 21 1998 ro@suse.de
- for GLIBC EOPNOTSUPP and ENOTSUP seem to map to same value
- catch duplicate cases for this reason in tclPosixStr.c
* Mon Nov 10 1997 hf@suse.de
new version 8.0p1
* Mon Oct 27 1997 hf@suse.de
ready for autobuild
* Thu Jul 03 1997 hf@suse.de
A new release 8.0b2, the second (and probably final) beta release for
Tcl 8.0.
* Tue Jun 03 1997 hf@suse.de
- added static librs and all links for the manpages in
the /usr/doc/packages/tcl8.0/man
* Tue Apr 15 1997 hf@suse.de
- manpages hardlinks removed and added softlinks to
compressd manpages
the new directory for the manpages is
/usr/doc/packeges/tcl8.0/man