[packages/perl-Tk] - GCC 15 fix from Debian

hawk hawk at pld-linux.org
Wed Sep 10 17:11:13 CEST 2025


commit c62febf393eb87f9e80fee5011eff89a3b4a0b99
Author: Marcin Krol <hawk at tld-linux.org>
Date:   Wed Sep 10 00:11:59 2025 +0200

    - GCC 15 fix from Debian

 gcc15.patch  | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 perl-Tk.spec |  2 ++
 2 files changed, 62 insertions(+)
---
diff --git a/perl-Tk.spec b/perl-Tk.spec
index 4702ee1..f073c40 100644
--- a/perl-Tk.spec
+++ b/perl-Tk.spec
@@ -18,6 +18,7 @@ Patch0:		%{name}-misc.patch
 Patch1:		%{name}-man_section.patch
 Patch2:		%{name}-link.patch
 Patch3:		gcc14.patch
+Patch4:		gcc15.patch
 URL:		https://metacpan.org/release/Tk
 BuildRequires:	perl-Tie-Watch
 BuildRequires:	perl-devel >= 1:5.8.0
@@ -66,6 +67,7 @@ graficznego interfejsu użytkownika Tk.
 %patch -P1 -p1
 %patch -P2 -p1
 %patch -P3 -p1
+%patch -P4 -p1
 
 %build
 # sync with current Xlib
diff --git a/gcc15.patch b/gcc15.patch
new file mode 100644
index 0000000..cf024d7
--- /dev/null
+++ b/gcc15.patch
@@ -0,0 +1,60 @@
+Index: perl-tk/pTk/mTk/additions/ClientWin.c
+===================================================================
+--- perl-tk.orig/pTk/mTk/additions/ClientWin.c
++++ perl-tk/pTk/mTk/additions/ClientWin.c
+@@ -30,7 +30,7 @@ in this Software without prior written a
+ #include <X11/Xlib.h>
+ #include <X11/Xatom.h>
+ 
+-static Window TryChildren();
++static Window TryChildren(Display *dpy, int win, int WM_STATE);
+ 
+ /* Find a window with WM_STATE, else return win itself, as per ICCCM */
+ 
+Index: perl-tk/pTk/mTk/unix/tkUnixEvent.c
+===================================================================
+--- perl-tk.orig/pTk/mTk/unix/tkUnixEvent.c
++++ perl-tk/pTk/mTk/unix/tkUnixEvent.c
+@@ -416,9 +416,9 @@ DisplayFileProc(clientData, flags)
+ 	 * message.
+ 	 */
+ 
+-	void (*oldHandler)();
++        __sighandler_t oldHandler;
+ 
+-	oldHandler = (void (*)()) signal(SIGPIPE, SIG_IGN);
++	oldHandler = signal(SIGPIPE, SIG_IGN);
+ 	XNoOp(display);
+ 	XFlush(display);
+ 	(void) signal(SIGPIPE, oldHandler);
+Index: perl-tk/pTk/mTk/unix/tkUnixSelect.c
+===================================================================
+--- perl-tk.orig/pTk/mTk/unix/tkUnixSelect.c
++++ perl-tk/pTk/mTk/unix/tkUnixSelect.c
+@@ -367,7 +367,7 @@ TkSelPropProc(eventPtr)
+ 	    ((char *) buffer)[numItems] = 0;
+ 
+ 	    errorHandler = Tk_CreateErrorHandler(eventPtr->xproperty.display,
+-		    -1, -1, -1, (int (*)()) NULL, (ClientData) NULL);
++		    -1, -1, -1, (int (*)(void *, XErrorEvent *)) NULL, (ClientData) NULL);
+ 	    /*
+ 	     * Encode the data using the proper format for each type.
+ 	     */
+@@ -872,7 +872,7 @@ ConvertSelection(winPtr, eventPtr)
+ 	    Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData));
+ 
+     errorHandler = Tk_CreateErrorHandler(eventPtr->display, -1, -1,-1,
+-	    (int (*)()) NULL, (ClientData) NULL);
++	    (int (*)(void *, XErrorEvent *)) NULL, (ClientData) NULL);
+ 
+     /*
+      * Initialize the reply event.
+@@ -1149,7 +1149,7 @@ ConvertSelection(winPtr, eventPtr)
+ 	Tcl_DeleteTimerHandler(incr.timeout);
+ 	/* winPtr may have been destroyed now */
+ 	errorHandler = Tk_CreateErrorHandler(reply.display,
+-		-1, -1,-1, (int (*)()) NULL, (ClientData) NULL);
++		-1, -1,-1, (int (*)(void *, XErrorEvent *)) NULL, (ClientData) NULL);
+ 	XSelectInput(reply.display, reply.requestor, 0L);
+ 	Tk_DeleteErrorHandler(errorHandler);
+ 	if (tsdPtr->pendingIncrs == &incr) {
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/perl-Tk.git/commitdiff/c62febf393eb87f9e80fee5011eff89a3b4a0b99



More information about the pld-cvs-commit mailing list