804.033 bump

This commit is contained in:
Jitka Plesnikova 2015-05-13 10:01:00 +02:00
parent e29b985654
commit e915d8315e
11 changed files with 8 additions and 358 deletions

1
.gitignore vendored
View File

@ -3,3 +3,4 @@ Tk-804.028_503.tar.gz
/Tk-804.030.tar.gz
/Tk-804.031.tar.gz
/Tk-804.032.tar.gz
/Tk-804.033.tar.gz

View File

@ -1,57 +0,0 @@
From f579b535e68977bab6547ac58a0fe62791ea2309 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Thu, 6 Nov 2014 20:02:45 +0000
Subject: [PATCH] Tk::MMutil: use $^X instead of $self->{PERL}
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Since ExtUtils::MakeMaker 6.99_10, the PERL object member is quoted.
This caused the subsequent extraction commands to be run with an
invalid command (the perl binary *with* quotes). Unfortunately
this system() call failed silently, so the real problem showed
up in a strange dependency problem, see
https://rt.cpan.org/Ticket/Display.html?id=100044
Instead of $self->{PERL}, now simply $^X is used. Also, the
extraction commands do not fail silently anymore.
Reference to the EUMM ticket:
https://rt.cpan.org/Ticket/Display.html?id=100159
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
Tk/MMutil.pm | 12 ++++--------
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/Tk/MMutil.pm b/Tk/MMutil.pm
index 7a78c1b..6df5c70 100644
--- a/Tk/MMutil.pm
+++ b/Tk/MMutil.pm
@@ -115,19 +115,15 @@ sub mTk_CHO
$self->{O_FILES} = [grep s/\.c(pp|xx|c)?$/$self->{OBJ_EXT}/i, @o_files] ;
$self->{'MTK'} = $mTk;
my $tk = installed_tk();
- my $perl = $self->{'PERL'};
- if ($IsWin32 && !-f $perl && -f "$perl.exe")
- {
- print "perl=$perl X=$^X\n";
- $perl = "$perl.exe";
- $self->{'PERL'} = $perl;
- }
+ my $perl = $^X;
foreach my $file (sort keys %$mTk)
{
unless (-f $file && -M $file < -M $mTk->{$file})
{
warn "Extracting $file\n";
- system($perl,"$tk/pTk/Tcl-pTk",$mTk->{$file},$file);
+ my @cmd = ($perl,"$tk/pTk/Tcl-pTk",$mTk->{$file},$file);
+ system @cmd;
+ die "The command '@cmd' failed with $?" if $? != 0;
}
}
}
--
1.9.3

View File

@ -1,47 +0,0 @@
From 2ac8da8459e36d0a5479d9a86855ab3925ce8789 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
Date: Mon, 15 Sep 2014 10:14:11 +0200
Subject: [PATCH] Use pipe instead of stdin in t/fileevent2.t
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
t/fileevent2.t fails if standard input is not a blocking descriptor
without read events. E.g. /dev/null. This patch uses a private pipe
instead of relying on stdin which can be anything.
CPAN RT#98891
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/fileevent2.t | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/t/fileevent2.t b/t/fileevent2.t
index 825ec31..ad22198 100755
--- a/t/fileevent2.t
+++ b/t/fileevent2.t
@@ -21,7 +21,7 @@ BEGIN {
}
}
-plan tests => 1;
+plan tests => 2;
my @fh;
my $callback_called = 0;
@@ -35,8 +35,10 @@ $mw->idletasks;
#
# tclUnixNotify.c used to do bit-handling for the select() mask
# itself, but this was broken for 64bit machines.
+my ($rpipe, $wpipe);
+ok(pipe($rpipe, $wpipe), 'create blocking descriptors');
for (1..100) {
- open my $dup, "<&", \*STDIN or die "Can't dup STDIN: $!";
+ open my $dup, "<&", $rpipe or die "Can't dup rpipe: $!";
push @fh, $dup;
$mw->fileevent($dup, "readable", sub { $callback_called++ });
}
--
1.9.3

View File

@ -1,72 +0,0 @@
From 04794000cf849e0c03a9e056222fb4758a55b04b Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Sun, 27 Apr 2014 21:06:21 +0200
Subject: [PATCH 06/10] fix race condition in errordialog.t
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Test used to fail if the afterIdle callback with the die() was
executed after the checking callback. This could happen on slow (e.g.
remote) X11 connections.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/errordialog.t | 33 +++++++++++++++++++--------------
1 file changed, 19 insertions(+), 14 deletions(-)
diff --git a/t/errordialog.t b/t/errordialog.t
index 3036e5b..ffd1b71 100755
--- a/t/errordialog.t
+++ b/t/errordialog.t
@@ -27,21 +27,13 @@ use_ok 'Tk::ErrorDialog';
my $mw = tkinit;
$mw->geometry("+10+10");
-my $errmsg = "Intentional error.";
-$mw->afterIdle(sub { die "$errmsg\n" });
-
my $ed;
-$mw->after(100, sub {
- my $dialog = search_error_dialog($mw);
- isa_ok($dialog, "Tk::Dialog", "dialog");
- $ed = $dialog;
- my $error_stacktrace_toplevel = search_error_stacktrace_toplevel($mw);
- isa_ok($error_stacktrace_toplevel, 'Tk::ErrorDialog', 'Found stacktrace window');
- is($error_stacktrace_toplevel->state, 'withdrawn', 'Stacktrace not visible');
- $error_stacktrace_toplevel->geometry('+0+0'); # for WMs with interactive placement
- $dialog->SelectButton('Stack trace');
- second_error();
- });
+
+my $errmsg = "Intentional error.";
+$mw->afterIdle(sub {
+ $mw->after(100, \&first_error);
+ die "$errmsg\n";
+ });
$mw->after(20*1000, sub {
if (Tk::Exists($mw)) {
@@ -51,6 +43,19 @@ $mw->after(20*1000, sub {
});
MainLoop;
+# fills $ed
+sub first_error {
+ my $dialog = search_error_dialog($mw);
+ isa_ok($dialog, "Tk::Dialog", "dialog");
+ $ed = $dialog;
+ my $error_stacktrace_toplevel = search_error_stacktrace_toplevel($mw);
+ isa_ok($error_stacktrace_toplevel, 'Tk::ErrorDialog', 'Found stacktrace window');
+ is($error_stacktrace_toplevel->state, 'withdrawn', 'Stacktrace not visible');
+ $error_stacktrace_toplevel->geometry('+0+0'); # for WMs with interactive placement
+ $dialog->SelectButton('Stack trace');
+ second_error();
+}
+
sub second_error {
$mw->afterIdle(sub { die "$errmsg\n" });
$mw->after(100, sub {
--
1.9.3

View File

@ -1,40 +0,0 @@
From 1ca4589ef5a87999ec564081900bc8fdaed83c74 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Sun, 2 Mar 2014 12:10:31 +0100
Subject: [PATCH 01/10] look also for /usr/include/freetype2/freetype.h
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In some freetype installations (e.g. Debian/jessie) the intermediate
"freetype" directory may be missing in the include path.
This should fix
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=740207
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
myConfig | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/myConfig b/myConfig
index 02d2ee5..3ca8144 100755
--- a/myConfig
+++ b/myConfig
@@ -147,7 +147,12 @@ sub Ift
{
foreach (map { "$_/freetype2" } @_)
{
- if (-d $_ && -d "$_/freetype" && -r "$_/freetype/freetype.h")
+ if (-r "$_/freetype.h") # location in Debian (since jessie)
+ {
+ print "Using -I$_ to find $_/freetype/freetype.h\n";
+ return "-I$_";
+ }
+ if (-r "$_/freetype/freetype.h") # location in FreeBSD (up to version 10.0) and Debian (up to wheezy)
{
print "Using -I$_ to find $_/freetype/freetype.h\n";
return "-I$_";
--
1.9.3

View File

@ -1,33 +0,0 @@
From ba3a92a779f7adcf655b7e45b40ee5b0cb79bc8b Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Fri, 14 Mar 2014 16:00:05 +0100
Subject: [PATCH 02/10] no segfaults if Tk::MainWindow::Create was called
without args
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
However, this case never happened in real life, as this function was
not supposed to be used directly anyway.
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
tkGlue.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tkGlue.c b/tkGlue.c
index 57f0bca..ae595bf 100644
--- a/tkGlue.c
+++ b/tkGlue.c
@@ -2370,7 +2370,7 @@ XS(XS_Tk__MainWindow_Create)
STRLEN na;
Tcl_Interp *interp = Tcl_CreateInterp();
SV **args = &ST(0);
- char *appName = SvPV(ST(1),na);
+ char *appName = items >= 1 ? SvPV(ST(1),na) : "";
int offset = args - sp;
int code;
if (!initialized)
--
1.9.3

View File

@ -1,39 +0,0 @@
From 567210e099deb8b3c77e8d24161563f8bdec4a08 Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Fri, 14 Mar 2014 16:05:09 +0100
Subject: [PATCH 03/10] test case for Tk::MainWindow::Create without args
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
t/create.t | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/t/create.t b/t/create.t
index 8843acc..a367530 100644
--- a/t/create.t
+++ b/t/create.t
@@ -80,7 +80,7 @@ BEGIN
($^O eq 'cygwin' and defined($Tk::platform)
and $Tk::platform eq 'MSWin32'));
- plan test => (15*@class+3);
+ plan test => (15*@class+4);
};
@@ -93,6 +93,9 @@ ok($@, "", "can't create MainWindow");
ok(Tk::Exists($mw), 1, "MainWindow creation failed");
eval { $mw->geometry('+10+10'); }; # This works for mwm and interactivePlacement
+eval { Tk::MainWindow::Create() };
+ok($@ =~ qr{wrong # args: should be .*Tk::MainWindow::Create pathName}, 1, "no segfault for Tk::MainWindow::Create without args");
+
my $w;
foreach my $class (@class)
{
--
1.9.3

View File

@ -1,35 +0,0 @@
From e938fd3c94cd6f91fed4eb8aa217ec855dd4f00b Mon Sep 17 00:00:00 2001
From: Slaven Rezic <slaven@rezic.de>
Date: Sun, 27 Apr 2014 20:50:58 +0200
Subject: [PATCH 05/10] update comment about freetype.h location
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Petr Písař <ppisar@redhat.com>
---
myConfig | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/myConfig b/myConfig
index 3ca8144..a498b3a 100755
--- a/myConfig
+++ b/myConfig
@@ -147,12 +147,12 @@ sub Ift
{
foreach (map { "$_/freetype2" } @_)
{
- if (-r "$_/freetype.h") # location in Debian (since jessie)
+ if (-r "$_/freetype.h") # location in Debian (since jessie) and in newer versions of the FreeBSD port
{
print "Using -I$_ to find $_/freetype/freetype.h\n";
return "-I$_";
}
- if (-r "$_/freetype/freetype.h") # location in FreeBSD (up to version 10.0) and Debian (up to wheezy)
+ if (-r "$_/freetype/freetype.h") # location in FreeBSD (older versions of freetype2 port) and Debian (up to wheezy)
{
print "Using -I$_ to find $_/freetype/freetype.h\n";
return "-I$_";
--
1.9.3

Binary file not shown.

View File

@ -4,9 +4,8 @@
%global use_x11_tests 1
Name: perl-Tk
# devel version fix for perl 5.14:
Version: 804.032
Release: 5%{?dist}
Version: 804.033
Release: 1%{?dist}
Summary: Perl Graphical User Interface ToolKit
Group: Development/Libraries
@ -18,22 +17,6 @@ Patch0: perl-Tk-widget.patch
Patch1: perl-Tk-debian.patch.gz
# fix segfaults as in #235666 because of broken cashing code
Patch2: perl-Tk-seg.patch
# Fix freetype detection with 2.5, CPAN RT#98480
Patch3: Tk-804.032-look-also-for-usr-include-freetype2-freetype.h.patch
# Fix creating a window with perl 5.20, bug #1141117, CPAN RT#96280
Patch4: Tk-804.032-no-segfaults-if-Tk-MainWindow-Create-was-called-with.patch
# Fix creating a window with perl 5.20, bug #1141117, CPAN RT#96280
Patch5: Tk-804.032-test-case-for-Tk-MainWindow-Create-without-args.patch
# Fix freetype detection with 2.5, CPAN RT#98480
Patch6: Tk-804.032-update-comment-about-freetype.h-location.patch
# Fix race in tests
Patch7: Tk-804.032-fix-race-condition-in-errordialog.t.patch
# Fix t/fileevent2.t failure with /dev/null on stdin, bug #1141117,
# CPAN RT#98891
Patch8: Tk-804.032-Use-pipe-instead-of-stdin-in-t-fileevent2.t.patch
# Restore compatibility with perl-ExtUtils-MakeMaker-7.00, bug #1161470,
# CPAN RT#100044
Patch9: Tk-804.032-Tk-MMutil-use-X-instead-of-self-PERL.patch
# Versions before this have Unicode issues
@ -143,23 +126,9 @@ chmod -x pod/Popup.pod Tixish/lib/Tk/balArrow.xbm
%{__perl} -pi -e \
's,\@demopath\@,%{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}/demos,g' demos/widget
# debian patch
%patch1 -p1
#%%patch1 -p1
# patch to fix #235666 ... seems like caching code is broken
%patch2 -p1 -b .seg
# freetype-2.5 detection
%patch3 -p1
# perl 5.20
%patch4 -p1
# perl 5.20
%patch5 -p1
# freetype-2.5 detection
%patch6 -p1
# test race
%patch7 -p1
# t/fileevent2.t failure
%patch8 -p1
# compatibility with EU::MM 7
%patch9 -p1
%build
%{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=%{_libdir} XFT=1
@ -207,6 +176,9 @@ find __demos/ -type f -exec chmod -x {} \;
%changelog
* Wed May 06 2015 Jitka Plesnikova <jplesnik@redhat.com> - 804.033-1
- 804.033 bump
* Fri Nov 07 2014 Petr Pisar <ppisar@redhat.com> - 804.032-5
- Restore compatibility with perl-ExtUtils-MakeMaker-7.00 (bug #1161470)

View File

@ -1 +1 @@
47a84c70d1fd254ccece208303e6e9d5 Tk-804.032.tar.gz
4c6d281ca9c6c2349e5cf84394e638fa Tk-804.033.tar.gz