Sync from SUSE:SLFO:Main perl-Tk revision ced94004cb4d88f2854e02a5516a3b78

This commit is contained in:
Adrian Schröter 2024-05-03 19:03:40 +02:00
commit 2c4775c8a2
10 changed files with 1131 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

166
Tk-804.029-event.diff Normal file
View File

@ -0,0 +1,166 @@
--- pTk/mTk/generic/tkBind.c
+++ pTk/mTk/generic/tkBind.c
@@ -550,89 +550,86 @@
#define CIRCREQ 0x400000
char *eventTypeName[TK_LASTEVENT] = {
- NULL,
- NULL,
- "KeyPress",
- "KeyRelease",
- "ButtonPress",
- "ButtonRelease",
- "MotionNotify",
- "EnterNotify",
- "LeaveNotify",
- "FocusIn",
- "FocusOut",
- "KeymapNotify",
- "Expose",
- "GraphicsExpose",
- "NoExpose",
- "VisibilityNotify",
- "CreateNotify",
- "DestroyNotify",
- "UnmapNotify",
- "MapNotify",
- "MapRequest",
- "ReparentNotify",
- "ConfigureNotify",
- "ConfigureRequest",
- "GravityNotify",
- "ResizeRequest",
- "CirculateNotify",
- "CirculateRequest",
- "PropertyNotify",
- "SelectionClear",
- "SelectionRequest",
- "SelectionNotify",
- "ColormapNotify",
- "ClientMessage",
- "MappingNotify",
- "VirtualEvent",
- "Activate",
- "Deactivate"
+ [KeyPress] = "KeyPress",
+ [KeyRelease] = "KeyRelease",
+ [ButtonPress] = "ButtonPress",
+ [ButtonRelease] = "ButtonRelease",
+ [MotionNotify] = "MotionNotify",
+ [EnterNotify] = "EnterNotify",
+ [LeaveNotify] = "LeaveNotify",
+ [FocusIn] = "FocusIn",
+ [FocusOut] = "FocusOut",
+ [KeymapNotify] = "KeymapNotify",
+ [Expose] = "Expose",
+ [GraphicsExpose] = "GraphicsExpose",
+ [NoExpose] = "NoExpose",
+ [VisibilityNotify] ="VisibilityNotify",
+ [CreateNotify] = "CreateNotify",
+ [DestroyNotify] = "DestroyNotify",
+ [UnmapNotify] = "UnmapNotify",
+ [MapNotify] = "MapNotify",
+ [MapRequest] = "MapRequest",
+ [ReparentNotify] = "ReparentNotify",
+ [ConfigureNotify] = "ConfigureNotify",
+ [ConfigureRequest] ="ConfigureRequest",
+ [GravityNotify] = "GravityNotify",
+ [ResizeRequest] = "ResizeRequest",
+ [CirculateNotify] = "CirculateNotify",
+ [CirculateRequest] ="CirculateRequest",
+ [PropertyNotify] = "PropertyNotify",
+ [SelectionClear] = "SelectionClear",
+ [SelectionRequest] ="SelectionRequest",
+ [SelectionNotify] = "SelectionNotify",
+ [ColormapNotify] = "ColormapNotify",
+ [ClientMessage] = "ClientMessage",
+ [MappingNotify] = "MappingNotify",
+ [VirtualEvent] = "VirtualEvent",
+ [ActivateNotify] = "Activate",
+ [DeactivateNotify] ="Deactivate"
};
#define KEY_BUTTON_MOTION_VIRTUAL (KEY|BUTTON|MOTION|VIRTUAL)
#define KEY_BUTTON_MOTION_CROSSING (KEY|BUTTON|MOTION|CROSSING|VIRTUAL)
static int flagArray[TK_LASTEVENT] = {
- /* Not used */ 0,
- /* Not used */ 0,
- /* KeyPress */ KEY,
- /* KeyRelease */ KEY,
- /* ButtonPress */ BUTTON,
- /* ButtonRelease */ BUTTON,
- /* MotionNotify */ MOTION,
- /* EnterNotify */ CROSSING,
- /* LeaveNotify */ CROSSING,
- /* FocusIn */ FOCUS,
- /* FocusOut */ FOCUS,
- /* KeymapNotify */ 0,
- /* Expose */ EXPOSE,
- /* GraphicsExpose */ EXPOSE,
- /* NoExpose */ 0,
- /* VisibilityNotify */ VISIBILITY,
- /* CreateNotify */ CREATE,
- /* DestroyNotify */ DESTROY,
- /* UnmapNotify */ UNMAP,
- /* MapNotify */ MAP,
- /* MapRequest */ MAPREQ,
- /* ReparentNotify */ REPARENT,
- /* ConfigureNotify */ CONFIG,
- /* ConfigureRequest */ CONFIGREQ,
- /* GravityNotify */ GRAVITY,
- /* ResizeRequest */ RESIZEREQ,
- /* CirculateNotify */ CIRC,
- /* CirculateRequest */ 0,
- /* PropertyNotify */ PROP,
- /* SelectionClear */ 0,
- /* SelectionRequest */ 0,
- /* SelectionNotify */ 0,
- /* ColormapNotify */ COLORMAP,
- /* ClientMessage */ 0,
- /* MappingNotify */ 0,
- /* VirtualEvent */ VIRTUAL,
- /* Activate */ ACTIVATE,
- /* Deactivate */ ACTIVATE,
- /* MouseWheel */ KEY
+
+ [KeyPress] = KEY,
+ [KeyRelease] = KEY,
+ [ButtonPress] = BUTTON,
+ [ButtonRelease] = BUTTON,
+ [MotionNotify] = MOTION,
+ [EnterNotify] = CROSSING,
+ [LeaveNotify] = CROSSING,
+ [FocusIn] = FOCUS,
+ [FocusOut] = FOCUS,
+ [KeymapNotify] = 0,
+ [Expose] = EXPOSE,
+ [GraphicsExpose] = EXPOSE,
+ [NoExpose] = 0,
+ [VisibilityNotify] = VISIBILITY,
+ [CreateNotify] = CREATE,
+ [DestroyNotify] = DESTROY,
+ [UnmapNotify] = UNMAP,
+ [MapNotify] = MAP,
+ [MapRequest] = MAPREQ,
+ [ReparentNotify] = REPARENT,
+ [ConfigureNotify] = CONFIG,
+ [ConfigureRequest] = CONFIGREQ,
+ [GravityNotify] = GRAVITY,
+ [ResizeRequest] = RESIZEREQ,
+ [CirculateNotify] = CIRC,
+ [CirculateRequest] = 0,
+ [PropertyNotify] = PROP,
+ [SelectionClear] = 0,
+ [SelectionRequest] = 0,
+ [SelectionNotify] = 0,
+ [ColormapNotify] = COLORMAP,
+ [ClientMessage] = 0,
+ [MappingNotify] = 0,
+ [VirtualEvent] = VIRTUAL,
+ [ActivateNotify] = ACTIVATE,
+ [DeactivateNotify] = ACTIVATE,
+ [MouseWheelEvent] = KEY
};
/*

76
Tk-804.029-macro.diff Normal file
View File

@ -0,0 +1,76 @@
--- objGlue.c
+++ objGlue.c
@@ -393,7 +393,7 @@
*/
if (SvREFCNT(sv) <= 0 || SvTEMP(sv))
{
- LangDebug("%s %d:\n",__FUNCTION__, objc);
+ LangDebug("%s %d:\n", __func__, objc);
sv_dump(sv);
}
av_store(av,objc,sv);
--- tkGlue.c
+++ tkGlue.c
@@ -201,7 +201,7 @@
( Tcl_SprintfResult args, Expire(TCL_ERROR) )
#ifdef DEBUG_TAINT
-#define do_watch() do { if (PL_tainting) taint_proper("tainted", __FUNCTION__); } while (0)
+#define do_watch() do { static const char *f = __func__; if (PL_tainting) taint_proper("tainted", f); } while (0)
#else
extern void do_watch _((void));
void
@@ -1248,7 +1248,7 @@
result = Tcl_GetObjResult(interp);
if (!count)
{
- LangDebug("%s - No Results\n",__FUNCTION__);
+ LangDebug("%s - No Results\n", __func__);
abort();
Tcl_Panic("No results");
}
@@ -1548,7 +1548,7 @@
SV *save = sv_2mortal(newSVsv(sv));
s = SvPV(save, len);
#if 0
- LangDebug("%s error:%.*s\n",__FUNCTION__,na,s);
+ LangDebug("%s error:%.*s\n",__func__,na,s);
#endif
if (!interp)
croak("%s",s);
@@ -2009,7 +2009,7 @@
int old_taint = PL_tainted;
TAINT_NOT;
#if 0
- warn(__FUNCTION__);
+ warn("%s",__func__);
#endif
if (InterpHv(interp,0))
{
@@ -2477,7 +2477,7 @@
*/
sv = newSVpvn(p, numItems);
#if 0
- LangDebug("%s %d '%.*s'\n",__FUNCTION__,numItems,numItems,p);
+ LangDebug("%s %d '%.*s'\n",__func__,numItems,numItems,p);
LangDumpVec(strType,1,&sv);
abort();
#endif
@@ -3223,7 +3223,7 @@
/* Tk_CheckHash((SV *) hash, NULL); */
if (SvREFCNT(hash) < 1)
{
- LangDebug("%s %s has REFCNT=%d\n",__FUNCTION__,cmdName,(int) SvREFCNT(hash));
+ LangDebug("%s %s has REFCNT=%d\n",__func__,cmdName,(int) SvREFCNT(hash));
sv_dump(obj);
}
@@ -3290,7 +3290,7 @@
/* Tk_CheckHash((SV *) hash, NULL); */
if (SvREFCNT(hash) < 2)
{
- LangDebug("%s %s has REFCNT=%d",__FUNCTION__,cmdName,(int) SvREFCNT(hash));
+ LangDebug("%s %s has REFCNT=%d",__func__,cmdName,(int) SvREFCNT(hash));
}
SvREFCNT_dec(hash);
}

11
Tk-804.029-null.diff Normal file
View File

@ -0,0 +1,11 @@
--- pTk/mTk/unix/tkUnixXft.c
+++ pTk/mTk/unix/tkUnixXft.c
@@ -439,7 +439,7 @@
resultPtr = Tcl_NewListObj(0, NULL);
list = XftListFonts(Tk_Display(tkwin), Tk_ScreenNumber(tkwin), 0,
- XFT_FAMILY, 0);
+ XFT_FAMILY, NULL);
for (i = 0; i < list->nfont; i++) {
if (XftPatternGetString(list->fonts[i], XFT_FAMILY, 0,
&family) == XftResultMatch) {

12
Tk-804.029-refcnt.diff Normal file
View File

@ -0,0 +1,12 @@
Index: pTk/mTk/unix/tkUnixXft.c
===================================================================
--- pTk/mTk/unix/tkUnixXft.c.orig
+++ pTk/mTk/unix/tkUnixXft.c
@@ -165,6 +165,7 @@ InitFont(
for (i = 0; i < set->nfont; i++) {
fontPtr->faces[i].ftFont = 0;
+ FcPatternReference (set->fonts[i]);
fontPtr->faces[i].source = set->fonts[i];
if (FcPatternGetCharSet(set->fonts[i], FC_CHARSET, 0,
&charset) == FcResultMatch) {

View File

@ -0,0 +1,43 @@
From a26233c844c52f49ef9cca5f88dd9063aac60d0f Mon Sep 17 00:00:00 2001
From: Niko Tyni <ntyni@debian.org>
Date: Thu, 11 Jan 2024 18:28:58 +0000
Subject: [PATCH] Fix STRLEN vs int pointer confusion in Tcl_GetByteArrayFromObj()
Perl 5.37.2, more precisely commit
https://github.com/Perl/perl5/commit/1ef9039bccbfe64f47f201b6cfb7d6d23e0b08a7
changed the implementation of SvPV() et al., breaking t/balloon.t,
t/canvas2.t and t/photo.t on big-endian 64-bit architectures such as
ppc64 and s390x because StringMatchGIF() no longer recognized GIF files.
This is because Tcl_GetByteArrayFromObj() was calling SvPV() with an int
pointer instead of a correct STRLEN pointer, and the new implementation
is more sensitive to this: it assigns the pointers as-is, resulting in
the int pointer pointing at the wrong end of the 64-bit length.
Other functions taking a length pointer, at least Tcl_GetStringFromObj()
already seem to do things correctly, so presumably this is not a
systematic issue.
---
objGlue.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git objGlue.c objGlue.c
index d4927ea..dbd6a50 100644
--- objGlue.c
+++ objGlue.c
@@ -627,7 +627,10 @@ Tcl_GetByteArrayFromObj(Tcl_Obj * objPtr, int * lengthPtr)
sv_utf8_downgrade(objPtr, 0);
if (lengthPtr)
{
- return (unsigned char *) SvPV(objPtr, *lengthPtr);
+ STRLEN len;
+ unsigned char *s = SvPV(objPtr, len);
+ *lengthPtr = len;
+ return s;
}
else
{
--
2.30.2

BIN
Tk-804.036.tar.gz (Stored with Git LFS) Normal file

Binary file not shown.

99
cpanspec.yml Normal file
View File

@ -0,0 +1,99 @@
---
#description_paragraphs: 3
description: |-
This a re-port of a perl interface to Tk8.4.
C code is derived from Tcl/Tk8.4.5.
It also includes all the C code parts of Tix8.1.4 from SourceForge.
The perl code corresponding to Tix's Tcl code is not fully implemented.
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.
#summary: override summary from CPAN
#no_testing: broken upstream
#sources:
# - source1
# - source2
patches:
Tk-804.029-event.diff: -p0
Tk-804.029-macro.diff: -p0
Tk-804.029-null.diff: -p0
Tk-804.029-refcnt.diff: -p0
Tk-804.036-fix-strlen-vs-int-pointer-confusion.patch: -p0
preamble: |-
BuildRequires: liberation-fonts
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xproto)
BuildRequires: pkgconfig(xt)
BuildRequires: xkeyboard-config
%if 0%{?suse_version} >= 01550
BuildRequires: xvfb-run
BuildRequires: perl(Devel::Leak)
BuildRequires: perl(Test::More)
BuildRequires: perl(Test::Pod)
%endif
BuildRequires: xorg-x11
BuildRequires: xorg-x11-Xnest
BuildRequires: xorg-x11-Xvfb
BuildRequires: xorg-x11-fonts
BuildRequires: xorg-x11-fonts-100dpi
BuildRequires: xorg-x11-fonts-scalable
BuildRequires: perl(Encode)
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: zlib-devel
%ifnarch s390 s390x
BuildRequires: xorg-x11-server
%endif
post_prep: |-
find . -type f -name "Tcl-pTk" -print0 | xargs -0 chmod +x
find . -type f -name "mkVFunc" -print0 | xargs -0 chmod +x
#post_build: |-
# rm unused.files
#post_install: |-
# sed on %{name}.files
license: (GPL-1.0-or-later OR Artistic-1.0) AND Zlib
#skip_noarch: 1
custom_build: |-
find -name "*.orig" -exec rm {} \;
for file in `find -type f` ; do
grep -q "%{_prefix}/local/bin/perl" $file && \
sed -i -e "s@%{_prefix}/local/bin/perl@%{_bindir}/perl@g" "$file"
grep -q "%{_prefix}/local/bin/nperl" $file && \
sed -i -e "s@%{_prefix}/local/bin/nperl@%{_bindir}/nperl@g" "$file"
grep -q "#!\s*/bin/perl" $file && \
sed -i -e "s@/bin/perl@%{_bindir}/perl@g" "$file"
grep -q "#!\s*/tools/local/perl" $file && \
sed -i -e "s@/tools/local/perl@%{_bindir}/perl@g" "$file"
grep -q "%{_prefix}/local/bin/new/perl" $file && \
sed -i -e "s@%{_prefix}/local/bin/new/perl@%{_bindir}/perl@g" "$file"
done
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" XFT=1
make %{?_smp_mflags} CFLAGS="%{optflags} -Wall -fpic"
custom_test: |-
%if 0%{?suse_version} >= 01550
xvfb-run -a make test %{?_smp_mflags} V=1
%else
Xvfb :95 -screen 0 1280x1024x24 & #430569
trap "kill $!" EXIT
sleep 5
DISPLAY=:95 make test %{?_smp_mflags}
%endif
#startserver && make test
#ignore_requires: Bizarre::Module
misc: |-
%exclude %{perl_vendorarch}/Tk/pTk
%exclude %{perl_vendorarch}/Tk/*.h
%package devel
Summary: Development files for perl-Tk
Requires: %{name} = %{version}
%description devel
Development files for Tk - a graphical user interface toolkit for Perl
%files devel
%{perl_vendorarch}/Tk/pTk
%{perl_vendorarch}/Tk/*.h
skip_doc: add_version build_ptk checklen check_source check_syms cleanup copydate db57 debug debug.bat dupsyms exetype fixfunc gdb.plx gedi generate hackMM keyWords menubug mkExt mkppm.bat myConfig needed perlfiles ptked ptksh r README-ActiveState.txt README.AIX README.cygwin README.darwin README.HPUX README.IRIX README.OpenBSD README.os2 README.OSF README.SCO README.Solaris README-Strawberry.txt README.SVR4 README.ultrix rebuild sm stripblib submethods symbols tcl2perl tkGlue.def tkGlue.exc tkGlue.m tkGlue.t TkXSUB.def uninstall vg vtab.def wal

566
perl-Tk.changes Normal file
View File

@ -0,0 +1,566 @@
-------------------------------------------------------------------
Fri Jan 12 10:31:19 UTC 2024 - Pedro Monreal <pmonreal@suse.com>
- Fix an STRLEN vs int pointer confusion in function
Tcl_GetByteArrayFromObj(): [bsc#1218600]
* Perl 5.37.2, since commit github.com/Perl/perl5/commit/1ef9039b
changed the implementation of SvPV() et al., breaking
t/balloon.t, t/canvas2.t and t/photo.t on big-endian 64-bit
architectures such as ppc64 and s390x because StringMatchGIF()
no longer recognized GIF files.
* Add patch from Debian:
- Tk-804.036-fix-strlen-vs-int-pointer-confusion.patch
-------------------------------------------------------------------
Fri Dec 8 13:44:48 UTC 2023 - Frederic Crozat <fcrozat@suse.com>
- Drop BuildRequires on xorg-x11, not needed anymore.
-------------------------------------------------------------------
Thu May 11 16:06:33 UTC 2023 - Dirk Stoecker <opensuse@dstoecker.de>
- update cpanspec.yml and recreate spec file
-------------------------------------------------------------------
Sun May 7 10:49:47 UTC 2023 - Jan Engelhardt <jengelh@inai.de>
- Replace xorg-x11 devel requires by pkgconfig(...)
-------------------------------------------------------------------
Tue May 18 15:14:28 UTC 2021 - Pedro Monreal <pmonreal@suse.com>
- Update to 804.036
see /usr/share/doc/packages/perl-Tk/Changes
* Tk-804.036 release (2021-02-14)
- This is basically the same like Tk-804.035_501.
* Tk-804.035_501 release (2021-02-07)
- Fixes:
Compiles again with Strawberry Perl 5.32.x
Fix double free in validatecommand
myConfig: add ability to define HAVE_INTTYPES_H
Smaller build improvements and typo corrections
Prevent some compiler warnings
- Documentation:
Several smaller Pod fixes
- Tests:
Introduce CI testing with github actionsTk-804.036
release (2021-02-14)
-------------------------------------------------------------------
Mon May 4 22:43:10 UTC 2020 - Pedro Monreal Gonzalez <pmonrealgonzalez@suse.com>
- Use https and metacpan.org for url and sources
- Use Devel:Leak, Test::More and Test::Pod for tests
- Add cpanspec.yml file and mention the patches Tk-804.029-event.diff
Tk-804.029-macro.diff Tk-804.029-null.diff Tk-804.029-refcnt.diff
-------------------------------------------------------------------
Sun Mar 29 03:15:55 UTC 2020 - <timueller+perl@suse.de>
- updated to 804.035
see /usr/share/doc/packages/perl-Tk/Changes
Tk-804.035 release (2020-03-28)
------------------
This is basically the same like Tk-804.034_501.
Tk-804.034_501 release (2020-03-19)
----------------------
Fixes
Add dummy rules for newer EUMM (RT #124910)
Try harder to find libpng on FreeBSD
Tk-804.034_500 release (2020-02-23)
----------------------
Fixes
Compiles again with perl 5.31.x (see also
github pull request #61 and https://github.com/Perl/perl5/issues/17024
by Karl Williamson). Now ppport.h is included in the
distribution.
Switch to X's locale handling if needed (Karl Williamson)
Don't use buttons 4 and 5 on non-X11 platforms
(Christopher Chavez)
Fix corner case in XPM handling (/* in colors section)
Spelling/grammar fixes in comments and code (Christopher Chavez)
Improved demo script photo1.pl (Christopher Chavez)
Documentation
Smaller Pod fixes (Slaven Rezic, Christopher Chavez)
Tests
travis-ci fixes
-------------------------------------------------------------------
Sun Sep 24 10:42:26 UTC 2017 - coolo@suse.com
- use system jpeg to avoid failures with builtin version
-------------------------------------------------------------------
Sun Sep 24 10:06:05 UTC 2017 - coolo@suse.com
- update to 804.034:
Fixes
Fix aborts on OS X Sierra, introduced by latest clang/llvm
strcpy/strncpy (RT #121631, github pull request #28 by Mark Aufflick)
No special xOKp handling in Perl_Value (RT #121528)
Add freetype2 path on MacOSX / XQuartz to inc search paths
(github pull request #21 by Christoph Lamprecht)
Fix Tk::NoteBook's FindMenu (Martin Jacobs)
Documentation
Add Tk::getSaveFile Pod file (see also
github pull request #19)
Fix documentation about scrollbars
(github pull request #18 by asb-cpan)
Add openSUSE instructions to README.linux
(github pull request #25 by Tux)
Add documentation notes about "make -j"
Tests
New test for Tk::NoteBook.
t/Trace.t is using now Test::More
travis-ci improvements
Introduce CI testing on appveyor
-------------------------------------------------------------------
Mon Aug 31 13:55:44 UTC 2015 - tchvatal@suse.com
- Remove provides on quite wrong header file in devel subpkg pointing
to perl 5.8.8 dir
- Use inline parameter for sed, well this should be redone more
- Cleanup bit with spec-cleaner
-------------------------------------------------------------------
Mon Aug 31 13:51:40 UTC 2015 - dimstar@opensuse.org
- Update to version 804.033:
+ New t/pod.t test (github pull request #16).
- Drop Tk-804.032-tkglue.diff and Tk-804.032-freetype.diff: Fixed
upstream.
-------------------------------------------------------------------
Sat Jul 19 20:11:27 UTC 2014 - schwab@linux-m68k.org
- Update to 804.032
* RT# 88210: fix compilation for perl 5.19.0+ ("undef bool")
* RT# 90077: floating number issue with -textvariable variables
* RT# 89621: avoid segfaults during global destruction (by Gisle Aas)
* RT# 87016: compatibility for libpng 1.6.x
* RT# 86988: use cflags/libs information from pkg-config zlib
* RT# 89261: split Tk/ColorEditor.pm into three .pm files
* RT# 71718: fix compilation issue with 64bit Strawberry Perl (Tk_Cursor)
* Fail gracefully if no font could be allocated
- Tk-804.032-tkglue.diff: no segfaults if Tk::MainWindow::Create was
called without args
- Tk-804.032-freetype.diff: look also for /usr/include/freetype2/freetype.h
- Tk-804.029-lib64.diff, Tk-804.029-xorg.diff, Tk-804.030-libpng16.diff:
remove upstreamed patches
-------------------------------------------------------------------
Mon Jul 8 12:06:56 UTC 2013 - coolo@suse.com
- updated to 804.031
Fixes
The CopSTASH_set fix did not work in 804.030_501 because of a
missing file in the tarball. Now fixed.
Tk::MakeDepend parses gcc's inc search list now and does not rely
anymore on $Config{usrinc}. This helps when include files are
partially in "multiarch" subdirectories (e.g. in Debian/sid) or when
$Config{usrinc} is incorrect (e.g. in ActivePerl+gcc builds).
RT #85407 and http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=708624
Helping Debian's build process by skipping the quilt state directory
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=708635
Improving build process for ActivePerl+gcc (RT #74036); see also
README-ActiveState.txt.
Use pkg-config for determining libpng cflags and libs.
Tk-804.030_501 release (2013-05-18)
----------------------
Fixes
Should compile again with older perls: SvNV_nomg is not available with
perls older than 5.13.2, and CopSTASH_set(..., NULL) is not possible
with threaded 5.16.x and older.
Tk-804.030_500 release (2013-05-18)
----------------------
Incompatible changes
The Tk::Text::Contents() method does not return an extra newline
anymore (RT #83124). The version number of Tk::Text was incremented
to 4.029 and may be used to detect the change.
Fixes
RT #78824: fixed compilation under threaded bleadperl (5.17.x)
Fix for internal magic handling, needed for perl 5.17.2 and newer.
Fixed myConfig issue with perl 5.17.x.
SvUPGRADE() is no longer an expression since perl 5.17.7.
Off-by-one error in Tk::Table::clear method (problem spotted by David
Overeem).
-------------------------------------------------------------------
Thu Feb 28 10:43:28 UTC 2013 - pgajdos@suse.com
- builds also against libpng16
* libpng16.patch
-------------------------------------------------------------------
Fri Oct 21 10:14:26 UTC 2011 - vcizek@suse.com
- update to 804.030
Many bugfixes (see Changes)
New features
BalloonInfo for HList
https://rt.cpan.org/Ticket/Display.html?id=55887
Perl/Tk is now available at github.
Improved "all widgets at a glance" demo.
-------------------------------------------------------------------
Tue Mar 15 10:55:20 UTC 2011 - cfarrell@novell.com
- license update: (GPL+ or Artistic) and zlib
More correct statement of the package license in Fedora
compatible syntax as per http://is.gd/HtnxI9 and
http://en.opensuse.org/openSUSE:Accepted_licences
-------------------------------------------------------------------
Wed Dec 1 13:35:54 UTC 2010 - coolo@novell.com
- switch to perl_requires macro
-------------------------------------------------------------------
Mon Nov 29 18:31:24 UTC 2010 - coolo@novell.com
- remove /var/adm/perl-modules
-------------------------------------------------------------------
Fri Nov 19 10:33:31 UTC 2010 - coolo@novell.com
- newer Xorg define different include guards
-------------------------------------------------------------------
Tue Oct 19 15:36:38 UTC 2010 - coolo@novell.com
- add perl as explicit buildrequire
-------------------------------------------------------------------
Mon Jul 19 16:29:58 CEST 2010 - anicka@suse.cz
- update to 804.029
* bugfixes, test fixes
- removed CVE-2006-4484 and per5.12 patches (fixed in upstream)
-------------------------------------------------------------------
Tue Apr 20 17:16:06 CEST 2010 - anicka@suse.cz
- port utf fix for perl 5.12 from development version
-------------------------------------------------------------------
Thu Apr 8 23:27:56 CEST 2010 - dmueller@suse.de
- require the right version of perl
-------------------------------------------------------------------
Sun Jan 10 15:43:32 CET 2010 - jengelh@medozas.de
- enable parallel build
-------------------------------------------------------------------
Mon Dec 14 13:12:32 UTC 2009 - aj@suse.de
- Fix build to not run disabled tests.
-------------------------------------------------------------------
Tue Nov 3 19:09:38 UTC 2009 - coolo@novell.com
- updated patches to apply with fuzz=0
-------------------------------------------------------------------
Mon Sep 29 14:09:30 CEST 2008 - anicka@suse.cz
- call Xvfb with 24 bit color depth (bnc#430569)
-------------------------------------------------------------------
Mon Sep 29 11:45:45 CEST 2008 - anicka@suse.cz
- fix event table in tkBind.c
-------------------------------------------------------------------
Tue Feb 5 16:15:26 CET 2008 - anicka@suse.cz
- fix CVE-2006-4484 [#357978]
-------------------------------------------------------------------
Thu Jan 17 14:52:22 CET 2008 - anicka@suse.cz
- update to 804.028 (this is not a stable version but works
with perl 5.10 at least a little)
* Tk::Animation now reads delay and disposal information from GIF
file (experimental, may change, needs an installed Image::Info)
* Implemented -overrelief,-repeatinterval,-repeatdelay for
Tk::Button.
* Additional item in the "widget" demonstration showing all Tk
widgets.
* Added BalloonInfo to NoteBook.
* ptked: Encoding menu now with radiobuttons, also added some
popular encodings to menu.
* The undocumented method font('subfonts') returns now more
diagnostics.
* It's possible to use binary (and not anymore base64 encoded)
-data for GIF files.
* New -cancel_button option for Tk::DialogBox
* Incompatible change:
Return values of some Tk::Wm methods (e.g. aspect, wmGrid,
iconposition, resizable ...) were changed from returning tclish
lists (e.g. "1 2 3 4") to perlish lists (1,2,3,4). I believe the
return values of these methods are rarely used.
* Tk::Wm::wmTracing needs argument for setting on/off, without
argument just return the current value.
* The newest tkUnixWm.c from Tcl/Tk is now in the Perl/Tk code.
This adds (experimental?) support for wm attributes -topmost,
-zoomed, -fullscreen and other _NET_WM features (iconphoto)
under Unix/X11.
* Tk::Wm::stackorder was missing in Perl/Tk.
* widget demonstration has a Ctrl-Q key binding.
* ptksh: x is an alias for d (like in the perl debugger).
* ptksh: use bold font for prompt.
* Tk::Text: pasting selection with middle mouse sets cursor
position now.
This is consistent with behaviour in other toolkits.
* Tk::Widget: translated UnderlineAmpersand etc. functions.
* Tk::MsgBox: again in Tk, completely new translation from the
Tcl/Tk original. Looks nicer and behaves better than
messageBox through Tk::DialogBox.
* bugfixes, test fixes, documentation fixes
- temporarily disable unicode.t test
-------------------------------------------------------------------
Fri Jun 22 17:36:30 CEST 2007 - anicka@suse.cz
- split up the devel subpackage, move testing to %check
-------------------------------------------------------------------
Tue Nov 7 15:11:15 CET 2006 - schwab@suse.de
- Fix reference counting.
-------------------------------------------------------------------
Sun Aug 6 16:21:38 CEST 2006 - aj@suse.de
- Fix build with X11R7.
-------------------------------------------------------------------
Fri Jul 7 14:05:41 CEST 2006 - anicka@suse.cz
- build with XFT=1 [#181927]
-------------------------------------------------------------------
Fri Feb 24 10:57:22 CET 2006 - anicka@suse.cz
- workaround segfault in tkEvent.c (#139552)
-------------------------------------------------------------------
Wed Jan 25 21:40:00 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Mon Jan 16 20:47:49 CET 2006 - anicka@suse.cz
- compile with -fpic
-------------------------------------------------------------------
Mon Jan 16 15:46:12 CET 2006 - anicka@suse.cz
- update to 804.027
-------------------------------------------------------------------
Mon Apr 18 17:54:08 CEST 2005 - mjancar@suse.de
- fix for gcc 4.0
-------------------------------------------------------------------
Sat Apr 24 17:58:02 CEST 2004 - sndirsch@suse.de
- use xorg-x11 packages
-------------------------------------------------------------------
Sun Feb 22 12:33:33 CET 2004 - ro@suse.de
- added libusb and resmgr to neededforbuild
-------------------------------------------------------------------
Sat Jan 10 11:59:10 CET 2004 - adrian@suse.de
- add %defattr
-------------------------------------------------------------------
Fri Jul 25 16:31:25 CEST 2003 - choeger@suse.de
- use install_vendor and new %perl_process_packlist macro
-------------------------------------------------------------------
Mon Jun 09 15:22:00 CEST 2003 - mjancar@suse.cz
- use $RPM_OPT_FLAGS
-------------------------------------------------------------------
Mon May 19 11:47:56 CEST 2003 - ro@suse.de
- remove unpackaged files
-------------------------------------------------------------------
Tue Feb 4 00:11:51 CET 2003 - ro@suse.de
- don't use Xnest
-------------------------------------------------------------------
Thu Dec 05 19:23:57 CET 2002 - prehak@suse.cz
- added freetype2 to neededforbuild
-------------------------------------------------------------------
Thu Nov 28 16:33:20 CET 2002 - prehak@suse.cz
- temporarily used Xnest server to work with Xvfb due to some changes
in Xvfb that caused broken connection
-------------------------------------------------------------------
Mon Nov 11 13:09:21 CET 2002 - ro@suse.de
- updated neededforbuild after xf86-rename
-------------------------------------------------------------------
Tue Jul 30 18:55:22 CEST 2002 - prehak@suse.cz
- update to new version 800.024
-------------------------------------------------------------------
Thu May 16 01:33:38 CEST 2002 - ro@suse.de
- find correct x11-libs on lib64 platforms
-------------------------------------------------------------------
Mon Jan 7 14:45:13 CET 2002 - ro@suse.de
- added libusb to neededforbuild (for Xvfb)
-------------------------------------------------------------------
Mon Aug 20 09:49:38 CEST 2001 - rvasice@suse.cz
- fixed perl path to /usr/bin/perl
-------------------------------------------------------------------
Fri Aug 17 09:41:54 CEST 2001 - rvasice@suse.cz
- update to version 800.023
-------------------------------------------------------------------
Wed Apr 11 10:47:57 CEST 2001 - schwab@suse.de
- Fix many warnings and type clashes.
- Make sure Xvfb is always killed.
-------------------------------------------------------------------
Sat Apr 7 19:38:38 CEST 2001 - kukuk@suse.de
- Fix /bin/perl -> /usr/bin/perl
-------------------------------------------------------------------
Thu Apr 5 13:17:24 CEST 2001 - ro@suse.de
- rename perl_tk -> perl-Tk
-------------------------------------------------------------------
Thu Apr 5 13:12:18 CEST 2001 - ro@suse.de
- update to Tk800.022
-------------------------------------------------------------------
Thu Jan 18 10:57:25 CET 2001 - grimmer@suse.de
- Changed Group tag to Development/Libraries/Perl
-------------------------------------------------------------------
Fri Oct 27 03:02:23 CEST 2000 - bk@suse.de
- fix permission of MANIFEST.SKIP(was 666)
-------------------------------------------------------------------
Mon Aug 21 16:40:38 CEST 2000 - ro@suse.de
- adapted for perl-5.6
-------------------------------------------------------------------
Thu Jan 20 12:21:49 CET 2000 - ro@suse.de
- use macro for mandir
-------------------------------------------------------------------
Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de
- ran old prepare_spec on spec file to switch to new prepare_spec.
-------------------------------------------------------------------
Mon Jul 12 16:22:19 MEST 1999 - ro@suse.de
- update to 800.014
-------------------------------------------------------------------
Sun Jul 11 10:42:06 MEST 1999 - ro@suse.de
- fixed perl-paths
-------------------------------------------------------------------
Wed Mar 17 18:18:46 MET 1999 - ro@suse.de
- diff cleanup
-------------------------------------------------------------------
Wed Feb 3 00:28:15 MET 1999 - ro@suse.de
- use wildcard in filelist for alpha (*-linux)
-------------------------------------------------------------------
Tue Nov 17 15:17:33 MET 1998 - ro@suse.de
- adjusted paths for perl5.005_02
-------------------------------------------------------------------
Thu Nov 12 17:51:26 MET 1998 - ro@suse.de
- respect different perl minor versions
----------------------------------------------------------------------------
Thu Nov 5 14:52:29 MET 1998 - mb@suse.de
- initial version of perl_tk800.007
----------------------------------------------------------------------------

132
perl-Tk.spec Normal file
View File

@ -0,0 +1,132 @@
#
# spec file for package perl-Tk
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define cpan_name Tk
Name: perl-Tk
Version: 804.036
Release: 0
#Upstream: SUSE-Public-Domain
License: (Artistic-1.0 OR GPL-1.0-or-later) AND Zlib
Summary: Tk - a Graphical User Interface Toolkit
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/S/SR/SREZIC/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
Patch0: Tk-804.029-event.diff
Patch1: Tk-804.029-macro.diff
Patch2: Tk-804.029-null.diff
Patch3: Tk-804.029-refcnt.diff
Patch4: Tk-804.036-fix-strlen-vs-int-pointer-confusion.patch
BuildRequires: perl
BuildRequires: perl-macros
%{perl_requires}
# MANUAL BEGIN
BuildRequires: liberation-fonts
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: xkeyboard-config
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xproto)
BuildRequires: pkgconfig(xt)
%if 0%{?suse_version} >= 01550
BuildRequires: xvfb-run
BuildRequires: perl(Devel::Leak)
BuildRequires: perl(Test::More)
BuildRequires: perl(Test::Pod)
%endif
BuildRequires: xorg-x11-Xnest
BuildRequires: xorg-x11-Xvfb
BuildRequires: xorg-x11-fonts
BuildRequires: xorg-x11-fonts-100dpi
BuildRequires: xorg-x11-fonts-scalable
BuildRequires: zlib-devel
BuildRequires: perl(Encode)
BuildRequires: perl(ExtUtils::MakeMaker)
%ifnarch s390 s390x
BuildRequires: xorg-x11-server
%endif
# MANUAL END
%description
This a re-port of a perl interface to Tk8.4.
C code is derived from Tcl/Tk8.4.5.
It also includes all the C code parts of Tix8.1.4 from SourceForge.
The perl code corresponding to Tix's Tcl code is not fully implemented.
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
%autosetup -n %{cpan_name}-%{version} -p0
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
# MANUAL BEGIN
find . -type f -name "Tcl-pTk" -print0 | xargs -0 chmod +x
find . -type f -name "mkVFunc" -print0 | xargs -0 chmod +x
# MANUAL END
%build
find -name "*.orig" -exec rm {} \;
for file in `find -type f` ; do
grep -q "%{_prefix}/local/bin/perl" $file && \
sed -i -e "s@%{_prefix}/local/bin/perl@%{_bindir}/perl@g" "$file"
grep -q "%{_prefix}/local/bin/nperl" $file && \
sed -i -e "s@%{_prefix}/local/bin/nperl@%{_bindir}/nperl@g" "$file"
grep -q "#!\s*/bin/perl" $file && \
sed -i -e "s@/bin/perl@%{_bindir}/perl@g" "$file"
grep -q "#!\s*/tools/local/perl" $file && \
sed -i -e "s@/tools/local/perl@%{_bindir}/perl@g" "$file"
grep -q "%{_prefix}/local/bin/new/perl" $file && \
sed -i -e "s@%{_prefix}/local/bin/new/perl@%{_bindir}/perl@g" "$file"
done
perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="%{optflags}" XFT=1
make %{?_smp_mflags} CFLAGS="%{optflags} -Wall -fpic"
%check
%if 0%{?suse_version} >= 01550
xvfb-run -a make test %{?_smp_mflags} V=1
%else
Xvfb :95 -screen 0 1280x1024x24 & #430569
trap "kill $!" EXIT
sleep 5
DISPLAY=:95 make test %{?_smp_mflags}
%endif
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%doc Change.log Changes examples Funcs.doc PPM-HowTo README README.linux ToDo VERSIONS
%license COPYING
%exclude %{perl_vendorarch}/Tk/pTk
%exclude %{perl_vendorarch}/Tk/*.h
%package devel
Summary: Development files for perl-Tk
Requires: %{name} = %{version}
%description devel
Development files for Tk - a graphical user interface toolkit for Perl
%files devel
%{perl_vendorarch}/Tk/pTk
%{perl_vendorarch}/Tk/*.h
%changelog