parent
c29723a2c4
commit
8e99dbd438
48
perl-Tk-seg.patch
Normal file
48
perl-Tk-seg.patch
Normal file
@ -0,0 +1,48 @@
|
||||
--- pTk/mTk/generic/tkConfig.c.orig 2008-01-04 18:50:58.000000000 +0100
|
||||
+++ pTk/mTk/generic/tkConfig.c 2008-01-05 00:15:15.000000000 +0100
|
||||
@@ -1210,11 +1210,12 @@
|
||||
* First, check to see if the object already has the answer cached.
|
||||
*/
|
||||
|
||||
- if (objPtr->typePtr == &tkOptionObjType) {
|
||||
- if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr) {
|
||||
+/* if (objPtr->typePtr == &tkOptionObjType) {
|
||||
+ if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr
|
||||
+ && objPtr->internalRep.twoPtrValue.ptr2 != NULL) {
|
||||
return (Option *) objPtr->internalRep.twoPtrValue.ptr2;
|
||||
}
|
||||
- }
|
||||
+ }*/
|
||||
|
||||
/*
|
||||
* The answer isn't cached.
|
||||
@@ -2277,9 +2278,19 @@
|
||||
if (optionPtr == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
+
|
||||
+ if (optionPtr->specPtr == NULL) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
+ if (!optionPtr->specPtr->type) {
|
||||
+ return NULL;
|
||||
+ }
|
||||
+
|
||||
if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) {
|
||||
optionPtr = optionPtr->extra.synonymPtr;
|
||||
}
|
||||
+
|
||||
if (optionPtr->specPtr->objOffset >= 0) {
|
||||
resultPtr = *((Tcl_Obj **) (recordPtr + optionPtr->specPtr->objOffset));
|
||||
if (resultPtr == NULL) {
|
||||
--- pTk/mTk/generic/tkFrame.c.orig 2008-01-04 22:52:12.000000000 +0100
|
||||
+++ pTk/mTk/generic/tkFrame.c 2008-01-04 23:51:20.000000000 +0100
|
||||
@@ -769,6 +769,7 @@
|
||||
result = TCL_ERROR;
|
||||
goto done;
|
||||
}
|
||||
+
|
||||
objPtr = Tk_GetOptionValue(interp, (char *) framePtr,
|
||||
framePtr->optionTable, objv[2], framePtr->tkwin);
|
||||
if (objPtr == NULL) {
|
20
perl-Tk.spec
20
perl-Tk.spec
@ -3,7 +3,7 @@
|
||||
|
||||
Name: perl-Tk
|
||||
Version: 804.028
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: Perl Graphical User Interface ToolKit
|
||||
|
||||
Group: Development/Libraries
|
||||
@ -11,6 +11,10 @@ License: GPL or Artistic
|
||||
URL: http://search.cpan.org/dist/Tk/
|
||||
Source0: http://cpan.org/modules/by-module/Tk/Tk-804.028.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
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
# Versions before this have Unicode issues
|
||||
@ -44,12 +48,19 @@ chmod -x pod/Popup.pod Tixish/lib/Tk/balArrow.xbm
|
||||
%{__perl} -pi -e \
|
||||
's,\@demopath\@,%{_datadir}/doc/%{name}-%{version}/demos,g' \
|
||||
%{_builddir}/Tk-%{version}/demos/widget
|
||||
# debian patch
|
||||
%patch1 -p1
|
||||
# patch to fix #235666 ... seems like caching code is broken
|
||||
%patch2
|
||||
|
||||
%build
|
||||
%{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=/usr/X11R6/%{_lib} XFT=1
|
||||
%{__perl} Makefile.PL INSTALLDIRS=vendor X11LIB=%{_libdir} XFT=1
|
||||
find . -name Makefile | xargs %{__perl} -pi -e 's/^\tLD_RUN_PATH=[^\s]+\s*/\t/'
|
||||
make %{?_smp_mflags}
|
||||
|
||||
# disable because they need an x screen
|
||||
#%check
|
||||
#make test
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
@ -85,6 +96,11 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%exclude %{perl_vendorarch}/Tk/reindex.pl
|
||||
|
||||
%changelog
|
||||
* Fri Jan 04 2008 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
|
||||
- 804.028-2
|
||||
- add relevant parts of debian patch
|
||||
- add patch for #235666
|
||||
|
||||
* Wed Jan 02 2008 Andreas Bierfert <andreas.bierfert[AT]lowlatency.de>
|
||||
- 804.028-1
|
||||
- version upgrade
|
||||
|
Loading…
Reference in New Issue
Block a user