Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gap-xgap for openSUSE:Factory checked in at 2025-06-20 16:54:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gap-xgap (Old) and /work/SRC/openSUSE:Factory/.gap-xgap.new.31170 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gap-xgap" Fri Jun 20 16:54:38 2025 rev:5 rq:1287201 version:4.32 Changes: -------- --- /work/SRC/openSUSE:Factory/gap-xgap/gap-xgap.changes 2025-02-28 17:40:46.780234436 +0100 +++ /work/SRC/openSUSE:Factory/.gap-xgap.new.31170/gap-xgap.changes 2025-06-20 16:54:48.653673440 +0200 @@ -1,0 +2,5 @@ +Wed Jun 18 19:22:09 UTC 2025 - Jan Engelhardt <jeng...@inai.de> + +- Add gcc15.patch + +------------------------------------------------------------------- New: ---- gcc15.patch ----------(New B)---------- New: - Add gcc15.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gap-xgap.spec ++++++ --- /var/tmp/diff_new_pack.LNOwXq/_old 2025-06-20 16:54:49.549710503 +0200 +++ /var/tmp/diff_new_pack.LNOwXq/_new 2025-06-20 16:54:49.549710503 +0200 @@ -1,7 +1,7 @@ # # spec file for package gap-xgap # -# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2025 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -26,6 +26,7 @@ #Git-Clone: https://github.com/gap-packages/xgap Source: https://github.com/gap-packages/xgap/releases/download/v%version/xgap-%version.tar.gz Patch1: gcc14.patch +Patch2: gcc15.patch BuildRequires: c_compiler BuildRequires: fdupes BuildRequires: gap-devel ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.LNOwXq/_old 2025-06-20 16:54:49.585711992 +0200 +++ /var/tmp/diff_new_pack.LNOwXq/_new 2025-06-20 16:54:49.589712157 +0200 @@ -1,5 +1,5 @@ -mtime: 1740697291 -commit: cd9b21031074207ea776344b2df542364f5f735bd531a79277531aeaddc37a6f +mtime: 1750274543 +commit: 89784a6a8eeebc0f104cd9b1c3d6fd1671ee9b908eb6ba4fcdf03d1befd1b8fa url: https://src.opensuse.org/jengelh/gap-xgap revision: master ++++++ build.specials.obscpio ++++++ ++++++ gcc15.patch ++++++ >From cb04e1a6c29359fe48b7cde15290d41e97c1481d Mon Sep 17 00:00:00 2001 From: Jan Engelhardt <jeng...@inai.de> Date: Wed, 18 Jun 2025 20:51:26 +0200 Subject: [PATCH] Resolve build failure under gcc 15/-std=c23 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit References: https://github.com/gap-packages/xgap/pull/33 ``` ../../src.x11/gaptext.c: In function ‘DoSelection’: ../../src.x11/gaptext.c:156:13: error: too many arguments to function ‘gap->gap.input_callback’; expected 0, have 2 156 | gap->gap.input_callback( buf, 2 ); ../../src.x11/gaptext.h:99:27: note: declared here 99 | void (*input_callback)(); ../../src.x11/gaptext.c: In function ‘GapTextSelectStart’: ../../src.x11/gaptext.c:341:25: error: too many arguments to function ‘gap->gap.check_caret_pos’; expected 0, have 2 341 | newPos = oldPos+gap->gap.check_caret_pos(gap->text.insertPos,oldPos); ../../src.x11/gaptext.h:102:27: note: declared here 102 | Int (*check_caret_pos)(); (and others that are more obvious) ``` It is unclear how x.input_callback and x.check_caret_pos ever get assigned. Due to the use of unspecified argument lists previously, `check_caret_pos` would be called with arguments of type XawTextPosition (which are `long`!) whereas `input_callback` would be called with an `int` (which is not so long). It is conceivable that the actual function behind some `input_callback` pointer is expecting XawTextPosition and, because the function is not getting it, there has been (and continues to do with this change) illegal memory access past the end of the arguments-on-stack. --- src.x11/gaptext.c | 18 ++++++------- src.x11/gaptext.h | 4 +-- src.x11/pty.c | 2 +- src.x11/selfile.c | 34 ++++++++++++------------ src.x11/xgap.c | 68 +++++++++++++++++++++++------------------------ src.x11/xgap.h | 2 +- 6 files changed, 64 insertions(+), 64 deletions(-) diff --git a/src.x11/gaptext.c b/src.x11/gaptext.c index acdc800..3179072 100644 --- a/src.x11/gaptext.c +++ b/src.x11/gaptext.c @@ -14,11 +14,11 @@ #include "utils.h" #include "gaptext.h" -extern void _XawTextPrepareToUpdate(); -extern int _XawTextReplace(); -extern void _XawTextSetScrollBars(); -extern void _XawTextCheckResize(); -extern void _XawTextExecuteUpdate(); +extern void _XawTextPrepareToUpdate(GapTextWidget); +extern int _XawTextReplace(GapTextWidget, Int, Int, XawTextBlock *); +extern void _XawTextSetScrollBars(GapTextWidget); +extern void _XawTextCheckResize(GapTextWidget); +extern void _XawTextExecuteUpdate(GapTextWidget); /**************************************************************************** @@ -666,7 +666,7 @@ static XawTextPosition GapSrcReadText ( Widget w, XawTextPosition pos, XawTextBlock * text, - unsigned long length ) + int length ) { GapSrcObject src = (GapSrcObject) w; @@ -913,9 +913,9 @@ GapSrcClassRec gapSrcClassRec = /* extension */ NULL }, { /* textSrc_class fields */ - /* Read */ (XawTextPosition (*)())GapSrcReadText, - /* Replace */ (int (*)()) GapSrcReplaceText, - /* Scan */ (XawTextPosition (*)()) GapSrcScan, + /* Read */ GapSrcReadText, + /* Replace */ GapSrcReplaceText, + /* Scan */ GapSrcScan, /* Search */ XtInheritSearch, /* SetSelection */ XtInheritSetSelection, /* ConvertSelection */ XtInheritConvertSelection diff --git a/src.x11/gaptext.h b/src.x11/gaptext.h index 812535f..34a3a3a 100644 --- a/src.x11/gaptext.h +++ b/src.x11/gaptext.h @@ -96,10 +96,10 @@ extern GapTextClassRec gapTextClassRec; typedef struct { /* function to call when receiving input */ - void (*input_callback)(); + void (*input_callback)(const char *, int); /* function to position caret */ - Int (*check_caret_pos)(); + Int (*check_caret_pos)(XawTextPosition, XawTextPosition); /* input buffer for unprocessed input */ String buffer; diff --git a/src.x11/pty.c b/src.x11/pty.c index 483881d..e914bfb 100644 --- a/src.x11/pty.c +++ b/src.x11/pty.c @@ -1272,7 +1272,7 @@ static UInt OpenPty(int * master, int * slave) ** *F StartGapProcess( <name>, <argv> ) . . . start a gap subprocess using ptys */ -static void GapStatusHasChanged () +static void GapStatusHasChanged (int signo) { int w; diff --git a/src.x11/selfile.c b/src.x11/selfile.c index e8ba10e..32bda81 100644 --- a/src.x11/selfile.c +++ b/src.x11/selfile.c @@ -111,28 +111,28 @@ typedef struct { } SFDir; static void - SFenterList(), - SFleaveList(), - SFmotionList(), - SFbuttonPressList(), - SFbuttonReleaseList(); + SFenterList(Widget, long, XEnterWindowEvent *), + SFleaveList(Widget, int, XEvent *), + SFmotionList(Widget, int, XMotionEvent *), + SFbuttonPressList(Widget, int, XButtonPressedEvent *), + SFbuttonReleaseList(Widget, int, XButtonReleasedEvent *); static void - SFvSliderMovedCallback(), - SFvFloatSliderMovedCallback(), - SFhSliderMovedCallback(), - SFpathSliderMovedCallback(), - SFvAreaSelectedCallback(), - SFhAreaSelectedCallback(), - SFpathAreaSelectedCallback(); + SFvSliderMovedCallback(Widget, long, int), + SFvFloatSliderMovedCallback(Widget, int, float *), + SFhSliderMovedCallback(Widget, int, float *), + SFpathSliderMovedCallback(Widget, XtPointer, float *), + SFvAreaSelectedCallback(Widget, int, int), + SFhAreaSelectedCallback(Widget, int, int), + SFpathAreaSelectedCallback(Widget, XtPointer, int); -static Boolean SFworkProc(); +static Boolean SFworkProc(XtPointer); -static int SFcompareEntries(); +static int SFcompareEntries(const void *, const void *); -static void SFdirModTimer(); +static void SFdirModTimer(XtPointer, XtIntervalId *); -static char SFstatChar(); +static char SFstatChar(struct stat *); /* BSD 4.3 errno.h does not declare errno */ @@ -1157,7 +1157,7 @@ SFpathAreaSelectedCallback(Widget w, XtPointer client_data, int pnew) } static Boolean -SFworkProc() +SFworkProc(XtPointer xxx) { register SFDir *dir; register SFEntry *entry; diff --git a/src.x11/xgap.c b/src.x11/xgap.c index e04fceb..1783cbd 100644 --- a/src.x11/xgap.c +++ b/src.x11/xgap.c @@ -255,8 +255,8 @@ static char *FallbackResources[] = *V GapMenu . . . . . . . . . . . . . . . . . . . . . . . . xgap's "GAP" menu ** */ -static void MenuQuitGap () { KeyboardInput( "@C@A@Kquit;\nquit;\n", 18 ); } -static void MenuKillGap () { KillGap(); } +static void MenuQuitGap (const TypeMenuItem *mi) { KeyboardInput( "@C@A@Kquit;\nquit;\n", 18 ); } +static void MenuKillGap (const TypeMenuItem *mi) { KillGap(); } #ifdef DEBUG_ON static void MenuResyncGap () @@ -341,14 +341,14 @@ static TypeMenuItem GapMenu[] = *V HelpMenu . . . . . . . . . . . . . . . . . . . . . . xgap's "Help" menu ** */ -static void MenuChapters () { SimulateInput( "?Chapters\n" ); } -static void MenuSections () { SimulateInput( "?Sections\n" ); } -static void MenuCopyright () { SimulateInput( "?Copyright\n" );} -static void MenuHelp () { SimulateInput( "?Help\n" ); } -static void MenuNextHelp () { SimulateInput( "?>\n" ); } -static void MenuNextChapter () { SimulateInput( "?>>\n" ); } -static void MenuPrevChapter () { SimulateInput( "?<<\n" ); } -static void MenuPrevHelp () { SimulateInput( "?<\n" ); } +static void MenuChapters (const TypeMenuItem *mi) { SimulateInput( "?Chapters\n" ); } +static void MenuSections (const TypeMenuItem *mi) { SimulateInput( "?Sections\n" ); } +static void MenuCopyright (const TypeMenuItem *mi) { SimulateInput( "?Copyright\n" );} +static void MenuHelp (const TypeMenuItem *mi) { SimulateInput( "?Help\n" ); } +static void MenuNextHelp (const TypeMenuItem *mi) { SimulateInput( "?>\n" ); } +static void MenuNextChapter (const TypeMenuItem *mi) { SimulateInput( "?>>\n" ); } +static void MenuPrevChapter (const TypeMenuItem *mi) { SimulateInput( "?<<\n" ); } +static void MenuPrevHelp (const TypeMenuItem *mi) { SimulateInput( "?<\n" ); } static TypeMenuItem HelpMenu[] = @@ -372,11 +372,11 @@ static TypeMenuItem HelpMenu[] = *V RunMenu . . . . . . . . . . . . . . . . . . . . . . . . xgap's "Run" menu ** */ -static void MenuInterrupt () { InterruptGap(); } -static void MenuQuitBreak () { SimulateInput( "quit;\n" ); } -static void MenuContBreak () { SimulateInput( "return;\n" ); } -static void MenuGarbColl () { SimulateInput( "GASMAN(\"collect\");\n" ); } -static void MenuGarbMesg () { SimulateInput( "GASMAN(\"message\");\n" ); } +static void MenuInterrupt (const TypeMenuItem *mi) { InterruptGap(); } +static void MenuQuitBreak (const TypeMenuItem *mi) { SimulateInput( "quit;\n" ); } +static void MenuContBreak (const TypeMenuItem *mi) { SimulateInput( "return;\n" ); } +static void MenuGarbColl (const TypeMenuItem *mi) { SimulateInput( "GASMAN(\"collect\");\n" ); } +static void MenuGarbMesg (const TypeMenuItem *mi) { SimulateInput( "GASMAN(\"message\");\n" ); } static TypeMenuItem RunMenu[] = { @@ -483,7 +483,7 @@ static void MenuSelected ( caddr_t dummy ) { if ( item->click != 0 ) - (*(item->click))(item); + item->click(item); else { fputs( "Warning: menu item ", stderr ); @@ -806,11 +806,11 @@ static void CreateGapWindow ( void ) *F MyErrorHandler(<dis>) . . . . . . . . . . . . kill gap in case of X error */ -static int (*OldErrorHandler)(); +static int (*OldErrorHandler)(Display *, XErrorEvent *); static int MyErrorHandler ( dis, evt ) Display * dis; - XErrorEvent evt; + XErrorEvent * evt; { # ifdef DEBUG_ON fputs( "killing gap because of X error\n", stderr ); @@ -824,7 +824,7 @@ static int MyErrorHandler ( dis, evt ) ** *F MyIOErrorHandler(<dis>) . . . . . . . . . . . kill gap in case of X error */ -static int (*OldIOErrorHandler)(); +static int (*OldIOErrorHandler)(Display *); static int MyIOErrorHandler ( dis ) Display * dis; @@ -843,50 +843,50 @@ static int MyIOErrorHandler ( dis ) */ #ifdef DEBUG_ON -static void (*OldSignalHandlerHUP)(); -static void (*OldSignalHandlerINT)(); -static void (*OldSignalHandlerQUIT)(); -static void (*OldSignalHandlerILL)(); -static void (*OldSignalHandlerIOT)(); -static void (*OldSignalHandlerBUS)(); -static void (*OldSignalHandlerSEGV)(); +static void (*OldSignalHandlerHUP)(int); +static void (*OldSignalHandlerINT)(int); +static void (*OldSignalHandlerQUIT)(int); +static void (*OldSignalHandlerILL)(int); +static void (*OldSignalHandlerIOT)(int); +static void (*OldSignalHandlerBUS)(int); +static void (*OldSignalHandlerSEGV)(int); -static void MySignalHandlerHUP () +static void MySignalHandlerHUP (int signo) { fputs( "killing gap because of signal HUP\n", stderr ); KillGap(); OldSignalHandlerHUP(); exit(1); } -static void MySignalHandlerINT () +static void MySignalHandlerINT (int signo) { fputs( "killing gap because of signal INT\n", stderr ); KillGap(); OldSignalHandlerINT(); exit(1); } -static void MySignalHandlerQUIT () +static void MySignalHandlerQUIT (int signo) { fputs( "killing gap because of signal QUIT\n", stderr ); KillGap(); OldSignalHandlerQUIT(); exit(1); } -static void MySignalHandlerILL () +static void MySignalHandlerILL (int signo) { fputs( "killing gap because of signal ILL\n", stderr ); KillGap(); OldSignalHandlerILL(); exit(1); } -static void MySignalHandlerIOT () +static void MySignalHandlerIOT (int signo) { fputs( "killing gap because of signal IOT\n", stderr ); KillGap(); OldSignalHandlerIOT(); exit(1); } -static void MySignalHandlerBUS () +static void MySignalHandlerBUS (int signo) { fputs( "killing gap because of signal BUS\n", stderr ); KillGap(); @@ -894,7 +894,7 @@ static void MySignalHandlerBUS () exit(1); } -static void MySignalHandlerSEGV () +static void MySignalHandlerSEGV (int signo) { fputs( "killing gap because of signal SEGV\n", stderr ); KillGap(); @@ -904,7 +904,7 @@ static void MySignalHandlerSEGV () #else -static void MySignalHandler () +static void MySignalHandler (int signo) { KillGap(); exit(1); diff --git a/src.x11/xgap.h b/src.x11/xgap.h index aabc989..f66b7b0 100644 --- a/src.x11/xgap.h +++ b/src.x11/xgap.h @@ -25,7 +25,7 @@ typedef struct _menu_item { char * label; - void (*click)(); + void (*click)(const struct _menu_item *); int sensitive; Widget entry; } -- 2.49.0