Accepting request 186430 from devel:languages:tcl

- New version: 8.6.0.
- Itcl is now part of the Tcl main package.
- Disable profile feedback based optimization for now.

OBS-URL: https://build.opensuse.org/request/show/186430
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/tcl?expand=0&rev=40
This commit is contained in:
Tomáš Chvátal 2013-08-13 10:59:32 +00:00 committed by Git OBS Bridge
commit c6d0874832
4 changed files with 77 additions and 34 deletions

View File

@ -1,3 +1,55 @@
-------------------------------------------------------------------
Thu Jun 20 12:18:58 UTC 2013 - max@suse.com
- New version: 8.6.0.
- Itcl is now part of the Tcl main package.
- Disable profile feedback based optimization for now.
- Highlihhts of the new version:
* Object Oriented Programming: The commands of the TclOO package
are now part of Tcl itself. This gives Tcl a built-in object
system that is fully dynamic, class-based, and includes
advanced features such as meta-classes, filters, and mixins.
* New version 4 of the popular package Itcl (aka incr Tcl) is
also included, now built on a TclOO foundation, granting
support for some traditional OO Tcl programming out of the box
as well.
* Stackless Evaluation: The evaluation of many levels of nested
proc calls are no longer implemented as a stack of nested C
routine calls. This revision in the internal implementation of
Tcl evaluation makes deep recursion in Tcl scripts safe to
do. But there's more...
* This new implementation enables a collection of new commands,
coroutine, tailcall, yield, and yieldto that provide profound
new capabilities and models of concurrency to Tcl scripts.
* Enhanced Exceptions: New commands try and throw and a wealth
of new -errorcode values enable far more precise trapping and
handling of exceptions using a familiar construct.
* Batteries Included: Tcl delivers in the pkgs subdirectory a
bundled collection of third-party packages built and installed
along with Tcl.
* Thread-enabled Operations: A thread-enabled default build, a
bundled Thread package, and new command interp cancel make Tcl
8.6 ready for your multi-threaded programming tasks.
* SQL Database Powered: The bundled Tcl DataBase Connectivity
(tdbc) interface package makes it possible to write your SQL
database-powered scripts decoupled from any particular
database engine. The bundled sqlite3 and tdbc::sqlite3
packages supply a powerful and popular SQL database engine
ready to use.
* IPv6 Networking: Both client and server sockets support IPv6
where platform support exists.
* Built-in Zlib Compression: New command zlib provides utilities
to handle compression of data and streams.
* List Processing: New commands lmap and dict map enable the
elegant expression of transformations over Tcl containers.
* Stacked Channels by Script: New commands chan push and chan
pop expose the power of stacked channels without the need to
write C code.
* Additional New Features: Temporary file creation, enhancements
to list sorting and setting, dict filtering, half-close of
bidirectional channels, encoding and decoding of binary
sequences, finer control over load, and many many more.
-------------------------------------------------------------------
Fri Apr 5 10:42:09 UTC 2013 - idonmez@suse.com

View File

@ -18,7 +18,7 @@
Name: tcl
Url: http://www.tcl.tk
Version: 8.5.12
Version: 8.6.0
Release: 0
%define rrc %nil
%define TCL_MINOR %(echo %version | cut -c1-3)
@ -33,14 +33,15 @@ Obsoletes: tcl-64bit
#
Provides: tclsh
Provides: tclsh%{TCL_MINOR}
Obsoletes: itcl < 4.0.0
Provides: itcl = 4.0.0
PreReq: /bin/rm
Source0: ftp://ftp.tcl.tk/pub/tcl/tcl8_5/%name%{version}%{rrc}-src.tar.gz
Source0: ftp://ftp.tcl.tk/pub/tcl/tcl8_6/%name%{version}%{rrc}-src.tar.gz
Source1: tcl-rpmlintrc
Source2: baselibs.conf
Source3: macros.tcl
Patch0: tcl.patch
Patch1: tcl-unload.patch
BuildRequires: autoconf
BuildRequires: pkg-config
# Required for test suite:
BuildRequires: timezone
@ -63,6 +64,8 @@ Requires: tcl = %version
%ifarch ppc64
Obsoletes: tcl-devel-64bit
%endif
Obsoletes: itcl-devel < 4.0.0
Provides: itcl-devel = 4.0.0
#
%description devel
@ -75,31 +78,21 @@ the Tcl language itself.
%prep
%setup -q -n %name%version
%patch0
%patch1
%build
cd unix
autoconf
%configure \
--enable-man-symlinks \
--enable-man-compression=gzip
--enable-man-compression=gzip \
--without-tzdata
%define scriptdir %_libdir/tcl
MAKE='make %{?_smp_mflags}
TCL_LIBRARY="%scriptdir/tcl%TCL_MINOR"
make %{?_smp_mflags} \
PACKAGE_DIR=%_libdir/tcl \
TCL_LIBRARY="%scriptdir/tcl%TCL_MINOR" \
TCL_PACKAGE_PATH="%_libdir/tcl %_datadir/tcl"
%ifnarch hppa
CFLAGS="%optflags $PFLAGS"
%else
CFLAGS="%optflags $PFLAGS -DTCL_NO_STACK_CHECK=1"
%endif
LDFLAGS_OPTIMIZE="%optflags $PFLAGS"
SHLIB_LD="%__cc -shared %optflags $PFLAGS"'
%ifnarch %sparc
# Build with instrumentation for profiling
PFLAGS="%{?cflags_profile_generate}"
%endif
eval $MAKE
%check
# Some of the regressioin tests write to $HOME, so better redirect them
mkdir home
export HOME=$PWD/home
@ -110,16 +103,9 @@ httpold-4.12
mathop-25.14
EOF
%ifnarch %arm
eval $MAKE test 2>&1 | tee testresults
make test 2>&1 | tee testresults
grep FAILED testresults | grep -Fqvwf known-failures && exit 1
%endif
# If we don't do profile based optimisation, we are done at this point.
if test -n "$PFLAGS"; then
# Rebuild and use the profiling results
make clean
PFLAGS="%cflags_profile_feedback"
eval $MAKE
fi
%install
make -C unix install install-private-headers \
@ -146,6 +132,8 @@ exit 0
%_libdir/lib*.so
%_datadir/tcl
%scriptdir
%exclude %scriptdir/*/*.a
%exclude %scriptdir/*/*Config.sh
%exclude %scriptdir/*/tclAppInit.c
%config /etc/rpm/macros.tcl
@ -154,7 +142,10 @@ exit 0
%doc %_mandir/man3/*
%_includedir/*
%scriptdir/*/tclAppInit.c
%_libdir/*.a
%_libdir/tclConfig.sh
%attr(0644,root,root) %_libdir/*.a
%attr(0644,root,root) %scriptdir/*/*.a
%scriptdir/*/*Config.sh
%_libdir/*Config.sh
%_libdir/pkgconfig/*
%changelog

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:20ba7a10a30571983afd3599f19b441adb5222b21f1d2b27d0fba3ed8d4707c2
size 4501505

3
tcl8.6.0-src.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:354422b9c4791685499123b2dfe01faa98b555c08906c010cb4449ddc75dcade
size 8636908