Skip to content

Commit

Permalink
dev-cpp/yaml-cpp: Fix compilation on GCC 15
Browse files Browse the repository at this point in the history
- Include patch from upstream PR (refer to patch file)
- Tests pass

Closes: https://bugs.gentoo.org/937412
Signed-off-by: Christopher Fore <[email protected]>
Closes: gentoo#38163
Signed-off-by: Sam James <[email protected]>
  • Loading branch information
csfore authored and thesamesam committed Aug 15, 2024
1 parent c521d99 commit 75c4eac
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 1 deletion.
33 changes: 33 additions & 0 deletions dev-cpp/yaml-cpp/files/yaml-cpp-0.8.0-include-cstdint.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
https://github.com/jbeder/yaml-cpp/pull/1310

From: Christopher Fore <[email protected]>
Date: Wed, 14 Aug 2024 21:02:32 -0400
Subject: [PATCH] emitterutils: Explicitly include <cstdint>

GCC 15 will no longer include it by default, resulting in build
failures in projects that do not explicitly include it.

Error:
src/emitterutils.cpp:221:11: error: 'uint16_t' was not declared in this scope
221 | std::pair<uint16_t, uint16_t> EncodeUTF16SurrogatePair(int codePoint) {
| ^~~~~~~~
src/emitterutils.cpp:13:1: note: 'uint16_t' is defined in header '<cstdint>';
this is probably fixable by adding '#include <cstdint>'
12 | #include "yaml-cpp/null.h"
+++ |+#include <cstdint>
13 | #include "yaml-cpp/ostream_wrapper.h"

Tests pass.

Closes: #1307
See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html
See-also: https://bugs.gentoo.org/937412
Signed-off-by: Christopher Fore <[email protected]>
--- a/src/emitterutils.cpp
+++ b/src/emitterutils.cpp
@@ -1,4 +1,5 @@
#include <algorithm>
+#include <cstdint>
#include <iomanip>
#include <sstream>

3 changes: 2 additions & 1 deletion dev-cpp/yaml-cpp/yaml-cpp-0.8.0.ebuild
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 1999-2023 Gentoo Authors
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8
Expand All @@ -22,6 +22,7 @@ DEPEND="
PATCHES=(
"${FILESDIR}/yaml-cpp-0.8.0-gtest.patch"
"${FILESDIR}/yaml-cpp-0.8.0-gcc13.patch"
"${FILESDIR}/yaml-cpp-0.8.0-include-cstdint.patch"
)

src_configure() {
Expand Down

0 comments on commit 75c4eac

Please sign in to comment.