diff options
| author | 2025-01-10 16:35:09 +0000 | |
|---|---|---|
| committer | 2025-04-24 19:14:55 +0100 | |
| commit | 9347b98112e75fdb803d073f983614cb2ef116a3 (patch) | |
| tree | 3878212d23d697ad2d7a60ac3ca0b27e81c437db /dev-cpp/opentelemetry-cpp | |
| parent | profiles/arch: Mask dev-cpp/opentelemetry-cpp[prometheus] on arm64 and ppc64 (diff) | |
| download | gentoo-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')
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() { |
