summaryrefslogtreecommitdiff
diff options
authorSv. Lockal <[email protected]>2025-01-10 16:35:09 +0000
committerSam James <[email protected]>2025-04-24 19:14:55 +0100
commit9347b98112e75fdb803d073f983614cb2ef116a3 (patch)
tree3878212d23d697ad2d7a60ac3ca0b27e81c437db /dev-cpp/opentelemetry-cpp
parentprofiles/arch: Mask dev-cpp/opentelemetry-cpp[prometheus] on arm64 and ppc64 (diff)
downloadgentoo-9347b98112e75fdb803d073f983614cb2ef116a3.tar.gz
gentoo-9347b98112e75fdb803d073f983614cb2ef116a3.tar.bz2
gentoo-9347b98112e75fdb803d073f983614cb2ef116a3.zip
dev-cpp/opentelemetry-cpp: fix build with clang, gcc-15 and [prometheus]
Closes: https://bugs.gentoo.org/946146 Closes: https://bugs.gentoo.org/946807 Signed-off-by: Sv. Lockal <[email protected]> Part-of: https://github.com/gentoo/gentoo/pull/40088 Closes: https://github.com/gentoo/gentoo/pull/40088 Signed-off-by: Sam James <[email protected]>
Diffstat (limited to 'dev-cpp/opentelemetry-cpp')
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch14
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch43
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild9
3 files changed, 64 insertions, 2 deletions
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch
new file mode 100644
index 000000000000..65fc5baf0f80
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-cstdint.patch
@@ -0,0 +1,14 @@
+Fix compilation with gcc-15.
+Bug: https://bugs.gentoo.org/946146
+Upstream PR: https://github.com/open-telemetry/opentelemetry-cpp/pull/3240
+--- a/api/include/opentelemetry/logs/severity.h
++++ b/api/include/opentelemetry/logs/severity.h
+@@ -3,6 +3,8 @@
+
+ #pragma once
+
++#include <cstdint>
++
+ #include "opentelemetry/nostd/string_view.h"
+ #include "opentelemetry/version.h"
+
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch
new file mode 100644
index 000000000000..85d013227a32
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch
@@ -0,0 +1,43 @@
+Fix clang-19 error: a template argument list is expected after a name prefixed by the template keyword
+Upstream PR: https://github.com/open-telemetry/opentelemetry-cpp/pull/3133
+--- a/api/include/opentelemetry/logs/event_logger.h
++++ b/api/include/opentelemetry/logs/event_logger.h
+@@ -65,9 +65,8 @@ class EventLogger
+ }
+ nostd::unique_ptr<LogRecord> log_record = delegate_logger->CreateLogRecord();
+
+- IgnoreTraitResult(
+- detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
+- log_record.get(), std::forward<ArgumentType>(args))...);
++ IgnoreTraitResult(detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
++ log_record.get(), std::forward<ArgumentType>(args))...);
+
+ EmitEvent(event_name, std::move(log_record));
+ }
+--- a/api/include/opentelemetry/logs/logger.h
++++ b/api/include/opentelemetry/logs/logger.h
+@@ -72,9 +72,8 @@ class Logger
+ return;
+ }
+
+- IgnoreTraitResult(
+- detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::template Set(
+- log_record.get(), std::forward<ArgumentType>(args))...);
++ IgnoreTraitResult(detail::LogRecordSetterTrait<typename std::decay<ArgumentType>::type>::Set(
++ log_record.get(), std::forward<ArgumentType>(args))...);
+
+ EmitLogRecord(std::move(log_record));
+ }
+--- a/api/include/opentelemetry/logs/logger_type_traits.h
++++ b/api/include/opentelemetry/logs/logger_type_traits.h
+@@ -166,8 +166,8 @@ struct LogRecordSetterTrait
+ * = nullptr>
+ inline static LogRecord *Set(LogRecord *log_record, ArgumentType &&arg) noexcept
+ {
+- return LogRecordSetterTrait<common::KeyValueIterable>::template Set(
+- log_record, std::forward<ArgumentType>(arg));
++ return LogRecordSetterTrait<common::KeyValueIterable>::Set(log_record,
++ std::forward<ArgumentType>(arg));
+ }
+
+ template <class ArgumentType,
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
index aff74e33e519..77c626523688 100644
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2024 Gentoo Authors
+# Copyright 2022-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,6 +23,9 @@ RDEPEND="
"
DEPEND="
${RDEPEND}
+ prometheus? (
+ dev-cpp/prometheus-cpp
+ )
test? (
dev-cpp/gtest
dev-cpp/benchmark
@@ -33,7 +36,9 @@ RESTRICT="!test? ( test )"
PATCHES=(
# remove tests the need network
- "${FILESDIR}/opentelemetry-cpp-1.5.0-tests.patch"
+ "${FILESDIR}/${PN}-1.5.0-tests.patch"
+ "${FILESDIR}/${PN}-1.16.1-cstdint.patch"
+ "${FILESDIR}/${PN}-1.16.1-fix-clang-template.patch"
)
src_configure() {