diff --git a/tcl-8.4.15-regexp.patch b/tcl-8.4.15-regexp.patch deleted file mode 100644 index 7da16ff..0000000 --- a/tcl-8.4.15-regexp.patch +++ /dev/null @@ -1,71 +0,0 @@ ---- tcl8.4.15/generic/regc_nfa.c.old 1999-08-05 03:16:57.000000000 +0200 -+++ tcl8.4.15/generic/regc_nfa.c 2007-11-16 09:10:18.000000000 +0100 -@@ -803,6 +803,25 @@ struct arc *con; - return 1; - } - -+ /* -+ * DGP 2007-11-15: Cloning a state with a circular constraint on its list -+ * of outs can lead to trouble [Bug 1810038], so get rid of them first. -+ */ -+ -+ for (a = from->outs; a != NULL; a = nexta) { -+ nexta = a->outchain; -+ switch (a->type) { -+ case '^': -+ case '$': -+ case BEHIND: -+ case AHEAD: -+ if (from == a->to) { -+ freearc(nfa, a); -+ } -+ break; -+ } -+ } -+ - /* first, clone from state if necessary to avoid other outarcs */ - if (from->nouts > 1) { - s = newstate(nfa); -@@ -921,6 +940,29 @@ struct arc *con; - return 1; - } - -+ /* -+ * DGP 2007-11-15: Here we duplicate the same protections as appear -+ * in pull() above to avoid troubles with cloning a state with a -+ * circular constraint on its list of ins. It is not clear whether -+ * this is necessary, or is protecting against a "can't happen". -+ * Any test case that actually leads to a freearc() call here would -+ * be a welcome addition to the test suite. -+ */ -+ -+ for (a = to->ins; a != NULL; a = nexta) { -+ nexta = a->inchain; -+ switch (a->type) { -+ case '^': -+ case '$': -+ case BEHIND: -+ case AHEAD: -+ if (a->from == to) { -+ freearc(nfa, a); -+ } -+ break; -+ } -+ } -+ - /* first, clone to state if necessary to avoid other inarcs */ - if (to->nins > 1) { - s = newstate(nfa); ---- tcl8.4.15/tests/regexp.test.old 2003-10-14 20:22:10.000000000 +0200 -+++ tcl8.4.15/tests/regexp.test 2007-11-16 09:11:13.000000000 +0100 -@@ -628,6 +628,10 @@ test regexp-21.13 {multiple matches hand - regexp -all -inline -indices -line -- ^ "a\nb\nc" - } {{0 -1} {2 1} {4 3}} - -+test regexp-22.1 {Bug 1810038} { -+ regexp ($|^X)* {} -+} 1 -+ - # cleanup - ::tcltest::cleanupTests - return diff --git a/tcl-8.4.7-path.patch b/tcl-8.4.7-path.patch deleted file mode 100644 index 003b40e..0000000 --- a/tcl-8.4.7-path.patch +++ /dev/null @@ -1,26 +0,0 @@ ---- tcl8.4.7/library/init.tcl.patch 2004-05-04 02:40:31.000000000 +0200 -+++ tcl8.4.7/library/init.tcl 2007-07-17 09:56:42.000000000 +0200 -@@ -39,13 +39,17 @@ - # On Windows, it is not used - # On Macintosh it is "Tool Command Language" in the Extensions folder - --if {![info exists auto_path]} { -- if {[info exists env(TCLLIBPATH)]} { -- set auto_path $env(TCLLIBPATH) -- } else { -- set auto_path "" -- } -+if {[info exists env(TCLLIBPATH)]} { -+ set auto_path $env(TCLLIBPATH) -+} else { -+if {[file exists "/usr/lib64/tclX8.3"]} { -+ set auto_path "/usr/share/tcl8.4 /usr/share /usr/lib64 /usr/lib" -+} else { -+ set auto_path "" - } -+} -+ -+ - namespace eval tcl { - variable Dir - if {[info library] != ""} { diff --git a/tcl.spec b/tcl.spec index 02104fb..9ba40b0 100644 --- a/tcl.spec +++ b/tcl.spec @@ -3,7 +3,7 @@ Summary: Tcl scripting language development environment Name: tcl Version: %{majorver}.0 -Release: 2%{?dist} +Release: 4%{?dist} Epoch: 1 License: TCL Group: Development/Languages @@ -12,10 +12,12 @@ Source0: http://downloads.sourceforge.net/sourceforge/tcl/tcl%{version}-src.tar. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Buildrequires: autoconf Provides: tcl(abi) = %{majorver} -##Conflicts: tcldict +Obsoletes: tcl-tcldict <= 8.5.2 +Provides: tcl-tcldict = 8.5.2 Patch0: tcl-8.5.0-autopath.patch Patch1: tcl-8.5.0-conf.patch Patch2: tcl-8.5.0-make.patch +Patch3: tcl-8.5.0-hidden.patch %description The Tcl (Tool Command Language) provides a powerful platform for @@ -49,10 +51,13 @@ chmod -x generic/tclThreadAlloc.c %patch0 -p1 -b .autopath %patch1 -p1 -b .conf %patch2 -p1 -b .make +%patch3 -p1 -b .hidden %build pushd unix autoconf +CFLAGS=-DTCL_NO_STACK_CHECK=1 +export CFLAGS %configure --enable-threads make %{?_smp_mflags} TCL_LIBRARY=%{_datadir}/%{name}%{majorver} @@ -117,6 +122,15 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}Config.sh %changelog +* Mon Jan 7 2008 Marcela Maslanova - 1:8.5.0-4 +- add patch from atkac at redhat dot com - fix linking with hidden objects + +* Sat Jan 5 2008 Wart - 1:8.5.0-3 +- Obsolete the tcl-tcldict package that has been incorporated + into the main Tcl source code. +- Disable the the stack checking code; it makes assumptions that are + not necessarily true on Fedora and causes some apps to fail (BZ #425799) + * Thu Jan 3 2008 Marcela Maslanova - 1:8.5.0-2 - rebuilt because of nonsense in tag