Subject: [PATCH core-updates 2/3] gnu: doxygen: Fix build with GCC-12.

From: Greg Hogan <[email-masked]>
Date: Thu, 28 Jul 2022 20:25:28 +0000

* gnu/packages/patches/doxygen-support-gcc-12.patch: New file.
* gnu/local.mk: Add it.
* gnu/packages/documentation.scm (doxygen)[source]: Add patch.
---
 gnu/local.mk                                      |  1 +
 gnu/packages/documentation.scm                    |  4 +++-
 gnu/packages/patches/doxygen-support-gcc-12.patch | 15 +++++++++++++++
 3 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/doxygen-support-gcc-12.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index a3f9a81440..a0ba7e4adb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1004,6 +1004,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/doc++-include-directives.patch		\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
+  %D%/packages/patches/doxygen-support-gcc-12.patch		\
   %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch	\
   %D%/packages/patches/dstat-skip-devices-without-io.patch	\
   %D%/packages/patches/dvd+rw-tools-add-include.patch 		\
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index f71461f572..189deb9638 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -198,7 +198,9 @@ (define-public doxygen
                                         ".src.tar.gz")))
               (sha256
                (base32
-                "0dqzgci82z950pzg6cpxvvqwybi2031flml3pj47hayhq3c9qpm1"))))
+                "0dqzgci82z950pzg6cpxvvqwybi2031flml3pj47hayhq3c9qpm1"))
+              ;; Remove with next release.
+              (patches (search-patches "doxygen-support-gcc-12.patch"))))
     (build-system cmake-build-system)
     (native-inputs
      (list bison
diff --git a/gnu/packages/patches/doxygen-support-gcc-12.patch b/gnu/packages/patches/doxygen-support-gcc-12.patch
new file mode 100644
index 0000000000..01f5040dde
--- /dev/null
+++ b/gnu/packages/patches/doxygen-support-gcc-12.patch
@@ -0,0 +1,15 @@
+Fix for https://github.com/doxygen/doxygen/issues/9312 made in unreleased upstream commit
+https://github.com/doxygen/doxygen/commit/5198966c8d5fec89116d025c74934ac03ea511fa
+
+diff --git a/src/cache.h b/src/cache.h
+index 0ff3092ed5..e218eb27d2 100644
+--- a/src/cache.h
++++ b/src/cache.h
+@@ -19,6 +19,7 @@
+ #include <list>
+ #include <unordered_map>
+ #include <mutex>
++#include <utility>
+ #include <ctype.h>
+ 
+ /*! Fixed size cache for value type V using keys of type K.
-- 
2.37.1