summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJanneke Nieuwenhuizen <janneke@gnu.org>2025-01-02 19:46:42 +0100
committerAndreas Enge <andreas@enge.fr>2025-07-18 20:17:22 +0200
commita3316166bccaa3ac68c81a2d60962694ed62b507 (patch)
tree26ae996cd81cb891cb2bfda649cad735719694cc /gnu/packages
parent922fe03dfe1d4e4161c800cf200931de5babbd94 (diff)
gnu: doc++: Fix build with gcc-14.
* gnu/packages/patches/doc++-gcc-14.patch: New fdile. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/documentation.scm (doc++)[source]: Use it. Change-Id: Ifb388a5e45c1a4a5031b327e06de97774dc761a1
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/documentation.scm5
-rw-r--r--gnu/packages/patches/doc++-gcc-14.patch187
2 files changed, 190 insertions, 2 deletions
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index a13e7b04647..dc01277976d 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -12,7 +12,7 @@
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.counoyer@gmail.com>
-;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2023, 2025 Janneke Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2024 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
@@ -280,7 +280,8 @@ output is not available.")
(base32
"0i37zlxl8g352s4hzpdx0657k5x3czh3xcsfr27irc708gb277pn"))
(patches (search-patches "doc++-include-directives.patch"
- "doc++-segfault-fix.patch"))))
+ "doc++-segfault-fix.patch"
+ "doc++-gcc-14.patch"))))
(build-system gnu-build-system)
(native-inputs
(list flex gettext-minimal))
diff --git a/gnu/packages/patches/doc++-gcc-14.patch b/gnu/packages/patches/doc++-gcc-14.patch
new file mode 100644
index 00000000000..64c2dace042
--- /dev/null
+++ b/gnu/packages/patches/doc++-gcc-14.patch
@@ -0,0 +1,187 @@
+Upstream-status: Not presented upstream.
+
+--- doc++-3.4.10/src/doc2dbxml.ll.orig 2025-01-02 19:35:28.284584323 +0100
++++ doc++-3.4.10/src/doc2dbxml.ll 2025-01-02 19:36:30.316732013 +0100
+@@ -57,8 +57,8 @@
+ static int skip = 0;
+ static int tab = 0;
+ static int yyLineNr = 0;
+-static Entry* ref = 0;
+-static Entry* noref = ref + 1;
++static Entry* g_ref = 0;
++static Entry* noref = g_ref + 1;
+ static char yyFileName[264];
+ static bool mathmode = false;
+ static int tabFlag = 0;
+@@ -147,28 +147,28 @@
+ }
+
+ <Ref>[^}]* {
+- if(ref == 0)
++ if(g_ref == 0)
+ {
+ McString tmp = yytext;
+- ref = getRefEntry(tmp, current);
++ g_ref = getRefEntry(tmp, current);
+ }
+ REJECT;
+ }
+
+ <Ref>"}" {
+- if(ref && ref != noref)
++ if(g_ref && g_ref != noref)
+ {
+ fprintf(out, " ($\\rightarrow$ ");
+- if(MAKE_DOC(ref))
++ if(MAKE_DOC(g_ref))
+ {
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, ",");
+ }
+ fprintf(out, " {\\em page }\\pageref{cxx.");
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, "})");
+ }
+- ref = 0;
++ g_ref = 0;
+ BEGIN(0);
+ }
+
+--- doc++-3.4.10/src/doc2dbsgml.ll.orig 2025-01-02 19:39:08.061103757 +0100
++++ doc++-3.4.10/src/doc2dbsgml.ll 2025-01-02 19:39:52.201206812 +0100
+@@ -54,8 +54,8 @@
+ static int skip = 0;
+ static int tab = 0;
+ static int yyLineNr = 0;
+-static Entry* ref = 0;
+-static Entry* noref = ref + 1;
++static Entry* g_ref = 0;
++static Entry* noref = g_ref + 1;
+ static char yyFileName[264];
+ static bool mathmode = false;
+ static int tabFlag = 0;
+@@ -144,28 +144,28 @@
+ }
+
+ <Ref>[^}]* {
+- if(ref == 0)
++ if(g_ref == 0)
+ {
+ McString tmp = yytext;
+- ref = getRefEntry(tmp, current);
++ g_ref = getRefEntry(tmp, current);
+ }
+ REJECT;
+ }
+
+ <Ref>"}" {
+- if(ref && ref != noref)
++ if(g_ref && g_ref != noref)
+ {
+ fprintf(out, " ($\\rightarrow$ ");
+- if(MAKE_DOC(ref))
++ if(MAKE_DOC(g_ref))
+ {
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, ",");
+ }
+ fprintf(out, " {\\em page }\\pageref{cxx.");
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, "})");
+ }
+- ref = 0;
++ g_ref = 0;
+ BEGIN(0);
+ }
+
+--- doc++-3.4.10/src/doc2tex.ll.orig 2025-01-02 19:40:11.785252404 +0100
++++ doc++-3.4.10/src/doc2tex.ll 2025-01-02 19:40:39.181316047 +0100
+@@ -59,8 +59,8 @@
+ static int yyLineNr = 0;
+ static int texBracketCount = 0;
+ static McString refStr = "";
+-static Entry* ref = 0;
+-static Entry* noref = ref + 1;
++static Entry* g_ref = 0;
++static Entry* noref = g_ref + 1;
+ static char yyFileName[264];
+ bool mathmode = false;
+ static int tabFlag = 0;
+@@ -186,30 +186,30 @@
+ }
+
+ <Ref>[^}]* {
+- if(ref == 0)
++ if(g_ref == 0)
+ {
+ refStr = McString(yytext, 0, yyleng - 2);
+- ref = getRefEntry(refStr, current);
++ g_ref = getRefEntry(refStr, current);
+ }
+ REJECT;
+ }
+
+ <Ref>"}" {
+- if(ref && ref != noref)
++ if(g_ref && g_ref != noref)
+ {
+ fprintf(out, " ($\\rightarrow$ ");
+- if(MAKE_DOC(ref))
++ if(MAKE_DOC(g_ref))
+ {
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, ",");
+ }
+ fprintf(out, " {\\em page }\\pageref{cxx.");
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, "})");
+ }
+ else
+ fprintf(out, refStr.c_str());
+- ref = 0;
++ g_ref = 0;
+ refStr.clear();
+ BEGIN(0);
+ }
+@@ -246,28 +246,28 @@
+ }
+
+ <Link>[^ ]* {
+- if(ref == 0)
++ if(g_ref == 0)
+ {
+ McString tmp = yytext;
+- ref = getRefEntry(tmp, current);
++ g_ref = getRefEntry(tmp, current);
+ }
+ REJECT;
+ }
+
+ <Link>"}" {
+- if(ref && ref != noref)
++ if(g_ref && g_ref != noref)
+ {
+ fprintf(out, " ($\\rightarrow$ ");
+- if(MAKE_DOC(ref))
++ if(MAKE_DOC(g_ref))
+ {
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, ",");
+ }
+ fprintf(out, " {\\em page }\\pageref{cxx.");
+- ref->dumpNumber(out);
++ g_ref->dumpNumber(out);
+ fprintf(out, "})");
+ }
+- ref = 0;
++ g_ref = 0;
+ BEGIN(0);
+ }
+