diff --git a/.cvsignore b/.cvsignore index 85cf73a..5cebbe4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -Tk-804.028.tar.gz +Tk-804.028_503.tar.gz diff --git a/perl-Tk-XIM.patch b/perl-Tk-XIM.patch deleted file mode 100644 index af411be..0000000 --- a/perl-Tk-XIM.patch +++ /dev/null @@ -1,61 +0,0 @@ -2009-03-19 Stepan Kasal - -Fix keyboard input with XIM, r12589 from -http://svn.perl.org/modules/Tk/trunk - -Index: Tk/pTk/mTk/unix/tkUnixEvent.c -=================================================================== ---- Tk/pTk/mTk/unix/tkUnixEvent.c (revision 12588) -+++ Tk/pTk/mTk/unix/tkUnixEvent.c (revision 12589) -@@ -305,22 +305,26 @@ - */ - - static void --TransferXEventsToTcl(display) -- Display *display; -+TransferXEventsToTcl( -+ Display *display) - { -- int numFound; - XEvent event; - -- numFound = QLength(display); -- - /* -- * Transfer events from the X event queue to the Tk event queue. -+ * Transfer events from the X event queue to the Tk event queue after XIM -+ * event filtering. KeyPress and KeyRelease events are filtered in -+ * Tk_HandleEvent instead of here, so that Tk's focus management code can -+ * redirect them. - */ - -- while (numFound > 0) { -+ while (QLength(display) > 0) { - XNextEvent(display, &event); -+ if (event.type != KeyPress && event.type != KeyRelease) { -+ if (XFilterEvent(&event, None)) { -+ continue; -+ } -+ } - Tk_QueueWindowEvent(&event, TCL_QUEUE_TAIL); -- numFound--; - } - } - -Index: Tk/pTk/mTk/generic/tkEvent.c -=================================================================== ---- Tk/pTk/mTk/generic/tkEvent.c (revision 12588) -+++ Tk/pTk/mTk/generic/tkEvent.c (revision 12589) -@@ -945,8 +945,10 @@ - #endif - } - } -- if (XFilterEvent(eventPtr, None)) { -- goto done; -+ if (eventPtr->type == KeyPress || eventPtr->type == KeyRelease) { -+ if (XFilterEvent(eventPtr, None)) { -+ goto done; -+ } - } - } - #endif /* TK_USE_INPUT_METHODS */ diff --git a/perl-Tk-events.patch b/perl-Tk-events.patch deleted file mode 100644 index d85344e..0000000 --- a/perl-Tk-events.patch +++ /dev/null @@ -1,25 +0,0 @@ ---- pTk/mTk/generic/tk.h.orig 2007-05-05 20:41:02.000000000 +0200 -+++ pTk/mTk/generic/tk.h 2008-08-27 03:16:31.000000000 +0200 -@@ -677,17 +677,15 @@ - * - *--------------------------------------------------------------------------- - */ --#define VirtualEvent (LASTEvent) --#define ActivateNotify (LASTEvent + 1) --#define DeactivateNotify (LASTEvent + 2) --#define MouseWheelEvent (LASTEvent + 3) --#define TK_LASTEVENT (LASTEvent + 4) -+#define VirtualEvent (MappingNotify + 1) -+#define ActivateNotify (MappingNotify + 2) -+#define DeactivateNotify (MappingNotify + 3) -+#define MouseWheelEvent (MappingNotify + 4) -+#define TK_LASTEVENT (MappingNotify + 5) - - #define MouseWheelMask (1L << 28) -- - #define ActivateMask (1L << 29) - #define VirtualEventMask (1L << 30) --#define TK_LASTEVENT (LASTEvent + 4) - - - /* diff --git a/perl-Tk-getOpenFile.patch b/perl-Tk-getOpenFile.patch deleted file mode 100644 index 661c1d2..0000000 --- a/perl-Tk-getOpenFile.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- Tk/FBox.pm.orig 2009-06-22 19:18:49.000000000 +0200 -+++ Tk/FBox.pm 2009-06-22 19:19:30.000000000 +0200 -@@ -906,7 +906,7 @@ - if ($w->cget('-multiple')) { - $selectFilePath = []; - for my $f (@{ $w->{'selectFile'} }) { -- push @$selectFilePath, JoinFile($w->_get_select_Path, $f); -+ push @$selectFilePath, JoinFile($w->_get_select_path, $f); - } - } else { - $selectFilePath = JoinFile($w->_get_select_path, diff --git a/perl-Tk-gif.patch b/perl-Tk-gif.patch deleted file mode 100644 index d099c00..0000000 --- a/perl-Tk-gif.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- pTk/mTk/generic/tkImgGIF.c.orig 2008-02-05 11:38:58.000000000 +0100 -+++ pTk/mTk/generic/tkImgGIF.c 2008-02-05 11:42:46.000000000 +0100 -@@ -831,6 +831,12 @@ - Tcl_PosixError(interp), (char *) NULL); - return TCL_ERROR; - } -+ -+ if (initialCodeSize > MAX_LWZ_BITS) { -+ Tcl_SetResult(interp, "malformed image", TCL_STATIC); -+ return TCL_ERROR; -+ } -+ - if (transparent != -1) { - cmap[transparent][CM_RED] = 0; - cmap[transparent][CM_GREEN] = 0; diff --git a/perl-Tk.spec b/perl-Tk.spec index dd4e52d..545e41c 100644 --- a/perl-Tk.spec +++ b/perl-Tk.spec @@ -2,6 +2,8 @@ %define perlver %(eval "`%{__perl} -V:version`"; echo $version) Name: perl-Tk +# devel version fix for perl 5.12: +%define real_version 804.028_503 Version: 804.028 Release: 12%{?dist} Summary: Perl Graphical User Interface ToolKit @@ -9,24 +11,12 @@ Summary: Perl Graphical User Interface ToolKit Group: Development/Libraries License: GPL+ or Artistic URL: http://search.cpan.org/dist/Tk/ -Source0: http://cpan.org/modules/by-module/Tk/Tk-804.028.tar.gz +Source0: http://cpan.org/modules/by-module/Tk/Tk-%{real_version}.tar.gz Patch0: perl-Tk-widget.patch # modified version of http://ftp.de.debian.org/debian/pool/main/p/perl-tk/perl-tk_804.027-8.diff.gz Patch1: perl-Tk-debian.patch.gz # fix segfaults as in #235666 because of broken cashing code Patch2: perl-Tk-seg.patch -# fix interaction with XIM, bug #489228, upstream change r12589 -Patch3: perl-Tk-XIM.patch -# fix for bugs #491536 & #489228 & #506496 (see comment #8) -# see http://rt.cpan.org/Public/Bug/Display.html?id=38746 -Patch4: perl-Tk-events.patch -# fix for bug #487122 -# see http://rt.cpan.org/Public/Bug/Display.html?id=31989 -Patch5: perl-Tk-getOpenFile.patch - -# fix gif overflow in tk see CVE-2006-4484 and CVE-2007-6697 or #431518 and -# #431529 -Patch100: perl-Tk-gif.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -52,7 +42,7 @@ Perl API is essentially the same as Tk800 series Tk800.025 but has not been verified as compliant. There ARE differences see pod/804delta.pod. %prep -%setup -q -n Tk-%{version} +%setup -q -n Tk-%{real_version} find . -type f -exec %{__perl} -pi -e \ 's,^(#!)(/usr/local)?/bin/perl\b,$1%{__perl}, if ($. == 1)' {} \; chmod -x pod/Popup.pod Tixish/lib/Tk/balArrow.xbm @@ -65,10 +55,6 @@ chmod -x pod/Popup.pod Tixish/lib/Tk/balArrow.xbm %patch1 -p1 # patch to fix #235666 ... seems like caching code is broken %patch2 -p1 -b .seg -%patch3 -p1 -b .xim -%patch4 -b .events -%patch5 -b .getOpenFile -%patch100 %build %{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=%{_libdir} XFT=1 @@ -108,13 +94,11 @@ rm -rf $RPM_BUILD_ROOT %exclude %{_mandir}/man1/widget.1* %exclude %{_bindir}/gedi %exclude %{_bindir}/widget -%exclude %{perl_vendorarch}/fix_4_os2.pl %exclude %{perl_vendorarch}/Tk/demos -%exclude %{perl_vendorarch}/Tk/reindex.pl %changelog * Fri May 07 2010 Marcela Maslanova - 804.028-12 -- Mass rebuild with perl-5.12.0 +- Mass rebuild with perl-5.12.0 & update to development release * Fri Dec 4 2009 Stepan Kasal - 804.028-11 - rebuild against perl 5.10.1 diff --git a/sources b/sources index b5a3def..fd26459 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7153c1c411b0dd005a0660179e5c5900 Tk-804.028.tar.gz +8ec3e456ca0eadd685a574e943d3d9ce Tk-804.028_503.tar.gz