commit:     17a37d4490b443f50c05ca6c35a530af4319d194
Author:     Paul Zander <negril.nx+gentoo <AT> gmail <DOT> com>
AuthorDate: Wed Aug 21 12:57:48 2024 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Aug 25 15:39:43 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=17a37d44

dev-debug/apitrace: 9.0-r5 Fix compilation on GCC 15

Closes: https://bugs.gentoo.org/937722
Signed-off-by: Paul Zander <negril.nx+gentoo <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/38271
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-debug/apitrace/apitrace-9.0-r5.ebuild          |  1 +
 .../files/apitrace-9.0-include-cstdint.patch       | 37 ++++++++++++++++++++++
 2 files changed, 38 insertions(+)

diff --git a/dev-debug/apitrace/apitrace-9.0-r5.ebuild 
b/dev-debug/apitrace/apitrace-9.0-r5.ebuild
index f15cf68d8fc9..c66387dc172f 100644
--- a/dev-debug/apitrace/apitrace-9.0-r5.ebuild
+++ b/dev-debug/apitrace/apitrace-9.0-r5.ebuild
@@ -41,6 +41,7 @@ PATCHES=(
        "${FILESDIR}"/${P}-brotli-unbundle.patch
        "${FILESDIR}"/${P}-libc-dlopen-glibc-2.34.patch
        "${FILESDIR}"/${P}-pkgconfig-waffle.patch
+       "${FILESDIR}/${PN}-9.0-include-cstdint.patch"
 )
 
 src_prepare() {

diff --git a/dev-debug/apitrace/files/apitrace-9.0-include-cstdint.patch 
b/dev-debug/apitrace/files/apitrace-9.0-include-cstdint.patch
new file mode 100644
index 000000000000..45f7f2bd0f81
--- /dev/null
+++ b/dev-debug/apitrace/files/apitrace-9.0-include-cstdint.patch
@@ -0,0 +1,37 @@
+From: Paul Zander <[email protected]>
+Date: Wed, 21 Aug 2024 14:53:50 +0200
+Subject: [PATCH] apitrace: 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:
+apitrace-9.0/retrace/metric_writer.cpp: In static member function ‘static void 
ProfilerQuery::writeMetricEntryCallback(Metric*, int, void*, int, void*)’:
+apitrace-9.0/retrace/metric_writer.cpp:50:70: error: ‘uint64_t’ does not name 
a type
+50 |         case CNT_NUM_UINT64: std::cout << "\t" <<
+*(reinterpret_cast<uint64_t*>(data)); break;
+|
+^~~~~~~~
+apitrace-9.0/retrace/metric_writer.cpp:29:1: note: ‘uint64_t’ is defined in 
header ‘<cstdint>’; this is probably fixable by adding ‘#include <cstdint>’
+   28 | #include "metric_writer.hpp"
+  +++ |+#include <cstdint>
+   29 |
+apitrace-9.0/retrace/metric_writer.cpp:50:78: error: expected ‘>’ before ‘*’ 
token
+50 |         case CNT_NUM_UINT64: std::cout << "\t" <<
+*(reinterpret_cast<uint64_t*>(data)); break;
+|
+^
+
+See-also: https://gcc.gnu.org/pipermail/gcc-cvs/2024-August/407124.html
+See-also: https://bugs.gentoo.org/937722
+Signed-off-by: Paul Zander <[email protected]>
+
+--- a/retrace/metric_writer.cpp
++++ b/retrace/metric_writer.cpp
+@@ -24,6 +24,7 @@
+  **************************************************************************/
+ 
+ #include <iostream>
++#include <cstdint>
+ 
+ #include "metric_writer.hpp"
+ 

Reply via email to