gcc 15 switches the default from -std=gnu17 to -std=gnu23, which causes
multiple errors compiling texinfo:

texinfo-7.2/info/terminal.c:164:7:
  error: too many arguments to function 'tputs'; expected 0, have 3
etc.

My patch to fix the issue has been accepted upstream; backport it since
texinfo 7.2 is still the latest release.

Signed-off-by: Tony Battersby <[email protected]>
---

This needs to be applied to openembedded-core master and backported to
whinlatter.


 ...l.c-use-modern-prototypes-for-curses.patch | 35 +++++++++++++++++++
 meta/recipes-extended/texinfo/texinfo_7.2.bb  |  1 +
 2 files changed, 36 insertions(+)
 create mode 100644 
meta/recipes-extended/texinfo/texinfo/0004-info-terminal.c-use-modern-prototypes-for-curses.patch

diff --git 
a/meta/recipes-extended/texinfo/texinfo/0004-info-terminal.c-use-modern-prototypes-for-curses.patch
 
b/meta/recipes-extended/texinfo/texinfo/0004-info-terminal.c-use-modern-prototypes-for-curses.patch
new file mode 100644
index 0000000000..4af4a0eb51
--- /dev/null
+++ 
b/meta/recipes-extended/texinfo/texinfo/0004-info-terminal.c-use-modern-prototypes-for-curses.patch
@@ -0,0 +1,35 @@
+From 20ca4b10bd5f3aac55ff6bdfbb0c8debdb5cf380 Mon Sep 17 00:00:00 2001
+From: Tony Battersby <[email protected]>
+Date: Sat, 14 Feb 2026 16:56:19 +0000
+Subject: [PATCH] * info/terminal.c: use modern prototypes for curses
+
+This fixes compile errors with -std=gnu23 (which is the default
+with gcc 15) on systems that do not have termcap.h.
+
+Upstream-Status: Backport 
[https://cgit.git.savannah.gnu.org/cgit/texinfo.git/commit/?id=20ca4b10bd5f3aac55ff6bdfbb0c8debdb5cf380]
+
+Signed-off-by: Tony Battersby <[email protected]>
+---
+diff --git a/info/terminal.c b/info/terminal.c
+index b1eb0ffd13..273a9ca48d 100644
+--- a/info/terminal.c
++++ b/info/terminal.c
+@@ -44,9 +44,12 @@
+ char *BC, *UP;
+ char PC;      /* Pad character */
+ short ospeed; /* Terminal output baud rate */
+-extern int tgetnum (), tgetflag (), tgetent ();
+-extern char *tgetstr (), *tgoto ();
+-extern int tputs ();
++extern int tgetnum (char *id);
++extern int tgetflag (char *id);
++extern int tgetent (char *bp, const char *name);
++extern char *tgetstr (char *id, char **area);
++extern char *tgoto (const char *cap, int col, int row);
++extern int tputs (const char *str, int affcnt, int (*putc)(int));
+ #endif /* not HAVE_NCURSES_TERMCAP_H */
+ 
+ /* Function "hooks".  If you make one of these point to a function, that
+-- 
+2.43.0
+
diff --git a/meta/recipes-extended/texinfo/texinfo_7.2.bb 
b/meta/recipes-extended/texinfo/texinfo_7.2.bb
index 784f67f65b..20f316b8bf 100644
--- a/meta/recipes-extended/texinfo/texinfo_7.2.bb
+++ b/meta/recipes-extended/texinfo/texinfo_7.2.bb
@@ -32,6 +32,7 @@ SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \
            
file://0001-texinfo-several-changes-to-build-without-zlib-and-nc.patch \
            file://0001-Makefile.am-do-not-build-manpages.patch \
            ${TARGET_PATCH} \
+           file://0004-info-terminal.c-use-modern-prototypes-for-curses.patch \
            "
 
 SRC_URI[sha256sum] = 
"e86de7dfef6b352aa1bf647de3a6213d1567c70129eccbf8977706d9c91919c8"
-- 
2.43.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#231216): 
https://lists.openembedded.org/g/openembedded-core/message/231216
Mute This Topic: https://lists.openembedded.org/mt/117841799/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to