diff mbox series

[v2] texinfo: Fix gcc 15 compile errors

Message ID cd8dabb4-fc3b-426e-8dea-c8c83e87f3f4@cybernetics.com
State Under Review
Headers show
Series [v2] texinfo: Fix gcc 15 compile errors | expand

Commit Message

Tony Battersby Feb. 16, 2026, 4:40 p.m. UTC
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 <tonyb@cybernetics.com>
---

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 mbox series

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 <tonyb@cybernetics.com>
+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 <tonyb@cybernetics.com>
+---
+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"