diff --git a/sources b/sources index 4dd1deb..15b5781 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -e7e17a2dd4197d9872129c0fbd06f02f tk8.5.5-src.tar.gz 7da2e00adddc7eed6080df904579d94e tk8.5.6-src.tar.gz diff --git a/tk-confi.patch b/tk-confi.patch deleted file mode 100644 index c12ab97..0000000 --- a/tk-confi.patch +++ /dev/null @@ -1,63 +0,0 @@ ---- tk8.4.15/unix/tcl.m4.confi 2007-05-25 18:09:54.000000000 +0200 -+++ tk8.4.15/unix/tcl.m4 2007-08-09 08:00:08.000000000 +0200 -@@ -1124,7 +1124,7 @@ - - # AIX v<=4.1 has some different flags than 4.2+ - if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then -- LIBOBJS="$LIBOBJS tclLoadAix.o" -+ AC_LIBOBJ([tclLoadAix]) - DL_LIBS="-lld" - fi - -@@ -1345,11 +1345,11 @@ - #CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES" - - if test "$have_dl" = yes; then -- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}' -+ SHLIB_LD='${CC} ${CFLAGS} -shared ${LDFLAGS} -Wl,-soname,${@}' - DL_OBJS="tclLoadDl.o" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" -- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' -+ CC_SEARCH_FLAGS='' - LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS} - else - AC_CHECK_HEADER(dld.h, [ -@@ -1381,7 +1381,7 @@ - # is kind of overkill but it works. - # Disable inlining only when one of the - # files in compat/*.c is being linked in. -- if test x"${LIBOBJS}" != x ; then -+ if test x"${LIB@&t@OBJS}" != x ; then - CFLAGS="$CFLAGS -fno-inline" - fi - -@@ -1395,7 +1395,7 @@ - SHLIB_SUFFIX=".so" - - if test "$have_dl" = yes; then -- SHLIB_LD="${CC} -shared" -+ SHLIB_LD="${CC} ${CFLAGS} -shared" - DL_OBJS="" - DL_LIBS="-ldl" - LDFLAGS="$LDFLAGS -Wl,--export-dynamic" -@@ -2633,7 +2633,7 @@ - }], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy, - tcl_cv_strtod_buggy=buggy)]) - if test "$tcl_cv_strtod_buggy" = buggy; then -- LIBOBJS="$LIBOBJS fixstrtod.o" -+ AC_LIBOBJ([fixstrtod]) - AC_DEFINE(strtod, fixstrtod) - fi - fi ---- tk8.4.15/unix/Makefile.in.confi 2007-05-25 18:09:53.000000000 +0200 -+++ tk8.4.15/unix/Makefile.in 2007-07-31 11:26:15.000000000 +0200 -@@ -639,7 +639,7 @@ - fi - @echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/" - @@INSTALL_LIB@ -- @chmod 555 $(LIB_INSTALL_DIR)/$(LIB_FILE) -+ @chmod 755 $(LIB_INSTALL_DIR)/$(LIB_FILE) - @if test "$(TK_BUILD_EXP_FILE)" != ""; then \ - echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \ - $(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \ diff --git a/tk-seg_input.patch b/tk-seg_input.patch new file mode 100644 index 0000000..5e71256 --- /dev/null +++ b/tk-seg_input.patch @@ -0,0 +1,79 @@ +diff -up tk8.5.6/generic/tkEvent.c.old tk8.5.6/generic/tkEvent.c +--- tk8.5.6/generic/tkEvent.c.old 2008-08-05 22:31:53.000000000 +0200 ++++ tk8.5.6/generic/tkEvent.c 2009-02-23 12:37:23.000000000 +0100 +@@ -247,16 +247,10 @@ InvokeFocusHandlers( + } + + /* +- * MouseWheel events are not focus specific on Mac OS X. ++ * Only key-related events are directed according to the focus. + */ + +-#ifdef MAC_OSX_TK +-#define FOCUS_DIRECTED_EVENT_MASK (KeyPressMask|KeyReleaseMask) +-#else +-#define FOCUS_DIRECTED_EVENT_MASK (KeyPressMask|KeyReleaseMask|MouseWheelMask) +-#endif +- +- if (mask & FOCUS_DIRECTED_EVENT_MASK) { ++ if (mask & (KeyPressMask|KeyReleaseMask)) { + (*winPtrPtr)->dispPtr->lastEventTime = eventPtr->xkey.time; + *winPtrPtr = TkFocusKeyEvent(*winPtrPtr, eventPtr); + if (*winPtrPtr == NULL) { +@@ -359,6 +353,11 @@ CreateXIC( + XFree(preedit_attlist); + } + ++ if (winPtr->inputContext == NULL) { ++ /* XCreateIC failed. */ ++ return; ++ } ++ + /* + * Adjust the window's event mask if the IM requires it. + */ +@@ -790,7 +789,7 @@ InvokeGenericHandlers( + int done; + + tsdPtr->handlersActive++; +- done = (*curPtr->proc)(curPtr->clientData, eventPtr); ++ done = curPtr->proc(curPtr->clientData, eventPtr); + tsdPtr->handlersActive--; + if (done) { + return done; +@@ -1383,7 +1382,7 @@ Tk_HandleEvent( + for (handlerPtr = winPtr->handlerList; handlerPtr != NULL; ) { + if ((handlerPtr->mask & mask) != 0) { + ip.nextHandler = handlerPtr->nextPtr; +- (*(handlerPtr->proc))(handlerPtr->clientData, eventPtr); ++ handlerPtr->proc(handlerPtr->clientData, eventPtr); + handlerPtr = ip.nextHandler; + } else { + handlerPtr = handlerPtr->nextPtr; +@@ -1787,7 +1786,7 @@ WindowEventProc( + return 0; + } + if (tsdPtr->restrictProc != NULL) { +- result = (*tsdPtr->restrictProc)(tsdPtr->restrictArg, &wevPtr->event); ++ result = tsdPtr->restrictProc(tsdPtr->restrictArg, &wevPtr->event); + if (result != TK_PROCESS_EVENT) { + if (result == TK_DEFER_EVENT) { + return 0; +@@ -2053,7 +2052,7 @@ TkFinalize( + + firstExitPtr = exitPtr->nextPtr; + Tcl_MutexUnlock(&exitMutex); +- (*exitPtr->proc)(exitPtr->clientData); ++ exitPtr->proc(exitPtr->clientData); + ckfree((char *) exitPtr); + Tcl_MutexLock(&exitMutex); + } +@@ -2103,7 +2102,7 @@ TkFinalizeThread( + */ + + tsdPtr->firstExitPtr = exitPtr->nextPtr; +- (*exitPtr->proc)(exitPtr->clientData); ++ exitPtr->proc(exitPtr->clientData); + ckfree((char *) exitPtr); + } + } diff --git a/tk.spec b/tk.spec index 6be6539..84faaf6 100644 --- a/tk.spec +++ b/tk.spec @@ -4,7 +4,7 @@ Summary: The graphical toolkit for the Tcl scripting language Name: tk Version: %{vers} -Release: 2%{?dist} +Release: 3%{?dist} Epoch: 1 License: TCL Group: Development/Languages @@ -23,6 +23,8 @@ Obsoletes: tile <= 0.8.2 Provides: tile = 0.8.2 Patch1: tk8.5-make.patch Patch2: tk8.5-conf.patch +# this patch isn't needed since tk8.6b1 +Patch3: tk-seg_input.patch %description When paired with the Tcl scripting language, Tk provides a fast and powerful @@ -46,6 +48,7 @@ The package contains the development files and man pages for tk. %patch1 -p1 -b .make %patch2 -p1 -b .conf +%patch3 -p1 -b .seg %build cd unix @@ -113,6 +116,10 @@ rm -rf %{buildroot} %{_mandir}/man3/* %changelog +* Mon Feb 23 2009 Marcela Mašláňová - 1:8.5.6-3 +- 480742 patch fixes the input method. The reason for this behaviour + is still unknown. + * Thu Feb 19 2009 Marcela Mašláňová - 1:8.5.6-2 - 486132 add missing requires in tk-devel