summaryrefslogtreecommitdiff
path: root/dev-cpp/opentelemetry-cpp
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-21 07:02:54 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-09-21 07:02:54 +0000
commite33326e45701bbfe59ab87151b6353c25ce1eecb (patch)
tree4a24685f33cbbf78bb300ca99947fc6e2ba86711 /dev-cpp/opentelemetry-cpp
parentaba426f3f3a148c1d64b05b342828c150a771260 (diff)
downloadbaldeagleos-repo-e33326e45701bbfe59ab87151b6353c25ce1eecb.tar.gz
baldeagleos-repo-e33326e45701bbfe59ab87151b6353c25ce1eecb.tar.xz
baldeagleos-repo-e33326e45701bbfe59ab87151b6353c25ce1eecb.zip
Adding metadata
Diffstat (limited to 'dev-cpp/opentelemetry-cpp')
-rw-r--r--dev-cpp/opentelemetry-cpp/Manifest5
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch43
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch92
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-add-benchmark-option.patch180
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-cmake4.patch17
-rw-r--r--dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-gcc13.patch38
-rw-r--r--dev-cpp/opentelemetry-cpp/metadata.xml4
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild53
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.22.0.ebuild120
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild53
-rw-r--r--dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild (renamed from dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild)32
11 files changed, 379 insertions, 258 deletions
diff --git a/dev-cpp/opentelemetry-cpp/Manifest b/dev-cpp/opentelemetry-cpp/Manifest
index f5aa9d8052f1..48252ebb0981 100644
--- a/dev-cpp/opentelemetry-cpp/Manifest
+++ b/dev-cpp/opentelemetry-cpp/Manifest
@@ -1,5 +1,4 @@
-DIST opentelemetry-cpp-1.16.1.tar.gz 904173 BLAKE2B 7f63ddd1b4305d6c98ad4a8c52ad12bbdbd8a2b125f2143978873dff4a94675bf644bcba609bc7de65868a34b530a0930be5a836e4ff05f476d5643ae3294b90 SHA512 c93005c9b24b358a9998141f6c7fd9675778731775dacaad18f0e81117fd00aaabff371c04cf96688a9c86117727181052a141d961d4db28fc457b454351c570
DIST opentelemetry-cpp-1.20.0.tar.gz 1115605 BLAKE2B 938fb90e203613e1beb193b28b0232423cbd111b6d9490fd12d706836619eb7fa01d9a625dd1b56fd91a355d49f916b4ccda58d76a862408505467dd2e33a2da SHA512 db9745be96907431c32a69230b29a5bddba0654f3f379f6cd0827f44895ef39c9612381303ec239d6ad98920bcc4006a90e25b715ade9ddf30aff843d1931416
-DIST opentelemetry-cpp-1.3.0.tar.gz 710030 BLAKE2B 56aa3213fd9c9ac5266197c2ca417f5ff181ca28016033c9320e63122eaf9a53bdb265e1778227a9036bc42f8837755a3009cb23610268bc03b9fb24b3844c82 SHA512 38f613c208ec847c8bf7765732d8198fcc427c293a929945d72c2f739e89d2a0ad36be4d94cc3c1b77fd7b1f1d1e5d8bdb38094a493ba3da3125281cd1016836
-DIST opentelemetry-cpp-1.4.0.tar.gz 722520 BLAKE2B c34867846708218e5ffcff9cdaa275e0c43201f681a68ad697d9f83ac04b7fdc6cdb69d942274cbe200b241e407ba11218c7e92da4f9adf4490e89c06388347f SHA512 a2339c0f9b2dc0d4f1964536a844241436bd68774445a0eab6e89e51965e01d3c40d2aa776d751eb497c50e9fdaa4e0023095efb14c8abbd6bbe23a2596eb3c9
+DIST opentelemetry-cpp-1.22.0.tar.gz 1125051 BLAKE2B 40c9824b348a2d72d591aac3f5640cc7a0af77b8b4046acf39d1ced6fcfebb666dae40eb3f4e5f1d739e0b4105e54ca0eaeefc7ef443cd1935e3b1bcb6f32e63 SHA512 a85869d2858f350e4a3b85e5d68e669a5fff42a2222ba7782bba92f5fe6856a110b3ddc9744a6c3e68c1ddfdc7bdb2b570bbeff78275a4e98cea889a8fda0120
DIST opentelemetry-cpp-1.6.0.tar.gz 790774 BLAKE2B 9512c092bfe49c9da82eff3950204c1f2eb654df2ed428e58ceb8877d15d80d9978fa6da37f7780352538c74de04bac69660528b255dfbce743f89b9d4020dd2 SHA512 ae0777451a3d2d676afd9f3142ab78c7afb08474f6038bd810ff0ee30fee6695e10100c901e7ffadf3faf16c7d19622acdea414cd720be8572f7720f2d528628
+DIST opentelemetry-proto-1.7.0.tar.gz 127009 BLAKE2B c0d5d5a24104cb62537abe8922e1b165fd58670efe549d82fe3295f9017de71077e77a173eca42ef1a339f92960f172f449dc2ba82d75fe5b8dc1ee88996c188 SHA512 488ebeab036c4d202ff40a3c21fdbb6f0ab58338e680240d47ae439d5975da3ff31114325a10c8ca18d3034ed15b1b86454d853405c460891c202e3b4b8c000e
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
deleted file mode 100644
index 85d013227a32..000000000000
--- a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.16.1-fix-clang-template.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-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/files/opentelemetry-cpp-1.3.0-tests.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch
deleted file mode 100644
index a1ef0ff1d3cd..000000000000
--- a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.3.0-tests.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-diff --git a/ext/test/http/curl_http_test.cc b/ext/test/http/curl_http_test.cc
-index f8d248b..9a5be49 100644
---- a/ext/test/http/curl_http_test.cc
-+++ b/ext/test/http/curl_http_test.cc
-@@ -187,50 +187,6 @@ TEST_F(BasicCurlHttpTests, HttpResponse)
- ASSERT_EQ(count, 4);
- }
-
--TEST_F(BasicCurlHttpTests, SendGetRequest)
--{
-- received_requests_.clear();
-- auto session_manager = http_client::HttpClientFactory::Create();
-- EXPECT_TRUE(session_manager != nullptr);
--
-- auto session = session_manager->CreateSession("http://127.0.0.1:19000");
-- auto request = session->CreateRequest();
-- request->SetUri("get/");
-- GetEventHandler *handler = new GetEventHandler();
-- session->SendRequest(*handler);
-- ASSERT_TRUE(waitForRequests(30, 1));
-- session->FinishSession();
-- ASSERT_TRUE(handler->is_called_);
-- delete handler;
--}
--
--TEST_F(BasicCurlHttpTests, SendPostRequest)
--{
-- received_requests_.clear();
-- auto session_manager = http_client::HttpClientFactory::Create();
-- EXPECT_TRUE(session_manager != nullptr);
--
-- auto session = session_manager->CreateSession("http://127.0.0.1:19000");
-- auto request = session->CreateRequest();
-- request->SetUri("post/");
-- request->SetMethod(http_client::Method::Post);
--
-- const char *b = "test-data";
-- http_client::Body body = {b, b + strlen(b)};
-- request->SetBody(body);
-- request->AddHeader("Content-Type", "text/plain");
-- PostEventHandler *handler = new PostEventHandler();
-- session->SendRequest(*handler);
-- ASSERT_TRUE(waitForRequests(30, 1));
-- session->FinishSession();
-- ASSERT_TRUE(handler->is_called_);
--
-- session_manager->CancelAllSessions();
-- session_manager->FinishAllSessions();
--
-- delete handler;
--}
--
- TEST_F(BasicCurlHttpTests, RequestTimeout)
- {
- received_requests_.clear();
-@@ -271,17 +227,6 @@ TEST_F(BasicCurlHttpTests, CurlHttpOperations)
- delete handler;
- }
-
--TEST_F(BasicCurlHttpTests, SendGetRequestSync)
--{
-- received_requests_.clear();
-- curl::HttpClientSync http_client;
--
-- http_client::Headers m1 = {};
-- auto result = http_client.Get("http://127.0.0.1:19000/get/", m1);
-- EXPECT_EQ(result, true);
-- EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
--}
--
- TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
- {
- received_requests_.clear();
-@@ -296,18 +241,6 @@ TEST_F(BasicCurlHttpTests, SendGetRequestSyncTimeout)
- result.GetSessionState() == http_client::SessionState::SendFailed);
- }
-
--TEST_F(BasicCurlHttpTests, SendPostRequestSync)
--{
-- received_requests_.clear();
-- curl::HttpClientSync http_client;
--
-- http_client::Headers m1 = {};
-- http_client::Body body = {};
-- auto result = http_client.Post("http://127.0.0.1:19000/post/", body, m1);
-- EXPECT_EQ(result, true);
-- EXPECT_EQ(result.GetSessionState(), http_client::SessionState::Response);
--}
--
- TEST_F(BasicCurlHttpTests, GetBaseUri)
- {
- curl::HttpClient session_manager;
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-add-benchmark-option.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-add-benchmark-option.patch
new file mode 100644
index 000000000000..64e7d6857ca5
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-add-benchmark-option.patch
@@ -0,0 +1,180 @@
+https://github.com/open-telemetry/opentelemetry-cpp/commit/3f0eee6b9143d018f907e45d7035e36882f1ecb3
+
+Removed non cmake changes
+
+From 3f0eee6b9143d018f907e45d7035e36882f1ecb3 Mon Sep 17 00:00:00 2001
+From: Tom Tan <Tom.Tan@microsoft.com>
+Date: Wed, 23 Nov 2022 17:01:33 -0800
+Subject: [PATCH] Add option WITH_BENCHMARK to disable building benchmarks
+ (#1794)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -164,6 +164,8 @@ option(WITH_NO_GETENV "Whether the platform supports environment variables" OFF)
+
+ option(BUILD_TESTING "Whether to enable tests" ON)
+
++option(WITH_BENCHMARK "Whether to build benchmark program" ON)
++
+ option(BUILD_W3CTRACECONTEXT_TEST "Whether to build w3c trace context" OFF)
+
+ option(OTELCPP_MAINTAINER_MODE "Build in maintainer mode (-Wall -Werror)" OFF)
+@@ -478,8 +480,10 @@ if(BUILD_TESTING)
+ message("GTEST_INCLUDE_DIRS = ${GTEST_INCLUDE_DIRS}")
+ message("GTEST_BOTH_LIBRARIES = ${GTEST_BOTH_LIBRARIES}")
+ enable_testing()
+- # Benchmark respects the CMAKE_PREFIX_PATH
+- find_package(benchmark CONFIG REQUIRED)
++ if(WITH_BENCHMARK)
++ # Benchmark respects the CMAKE_PREFIX_PATH
++ find_package(benchmark CONFIG REQUIRED)
++ endif()
+ endif()
+
+ include(CMakePackageConfigHelpers)
+--- a/api/test/baggage/CMakeLists.txt
++++ b/api/test/baggage/CMakeLists.txt
+@@ -9,7 +9,10 @@ foreach(testname baggage_test)
+ TEST_PREFIX baggage.
+ TEST_LIST ${testname})
+ endforeach()
+-add_executable(baggage_benchmark baggage_benchmark.cc)
+-target_link_libraries(baggage_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++
++if(WITH_BENCHMARK)
++ add_executable(baggage_benchmark baggage_benchmark.cc)
++ target_link_libraries(baggage_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++endif()
+ add_subdirectory(propagation)
+--- a/api/test/common/CMakeLists.txt
++++ b/api/test/common/CMakeLists.txt
+@@ -10,6 +10,8 @@ foreach(testname kv_properties_test string_util_test)
+ TEST_LIST ${testname})
+ endforeach()
+
+-add_executable(spinlock_benchmark spinlock_benchmark.cc)
+-target_link_libraries(spinlock_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++if(WITH_BENCHMARK)
++ add_executable(spinlock_benchmark spinlock_benchmark.cc)
++ target_link_libraries(spinlock_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++endif()
+--- a/api/test/trace/CMakeLists.txt
++++ b/api/test/trace/CMakeLists.txt
+@@ -21,9 +21,11 @@ foreach(
+ TEST_LIST api_${testname})
+ endforeach()
+
+-add_executable(span_id_benchmark span_id_benchmark.cc)
+-target_link_libraries(span_id_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
+-add_executable(span_benchmark span_benchmark.cc)
+-target_link_libraries(span_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++if(WITH_BENCHMARK)
++ add_executable(span_id_benchmark span_id_benchmark.cc)
++ target_link_libraries(span_id_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++ add_executable(span_benchmark span_benchmark.cc)
++ target_link_libraries(span_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++endif()
+--- a/exporters/etw/CMakeLists.txt
++++ b/exporters/etw/CMakeLists.txt
+@@ -32,8 +32,6 @@ if(BUILD_TESTING)
+ add_executable(etw_tracer_test test/etw_tracer_test.cc)
+ add_executable(etw_logger_test test/etw_logger_test.cc)
+
+- add_executable(etw_perf_test test/etw_perf_test.cc)
+-
+ target_link_libraries(etw_provider_test ${GTEST_BOTH_LIBRARIES}
+ opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
+
+@@ -43,9 +41,12 @@ if(BUILD_TESTING)
+ target_link_libraries(etw_logger_test ${GTEST_BOTH_LIBRARIES}
+ opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
+
+- target_link_libraries(
+- etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES}
+- opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
++ if(WITH_BENCHMARK)
++ add_executable(etw_perf_test test/etw_perf_test.cc)
++ target_link_libraries(
++ etw_perf_test benchmark::benchmark ${GTEST_BOTH_LIBRARIES}
++ opentelemetry_exporter_etw ${CMAKE_THREAD_LIBS_INIT})
++ endif()
+
+ gtest_add_tests(
+ TARGET etw_provider_test
+--- a/sdk/test/common/CMakeLists.txt
++++ b/sdk/test/common/CMakeLists.txt
+@@ -24,14 +24,16 @@ add_executable(random_fork_test random_fork_test.cc)
+ target_link_libraries(random_fork_test opentelemetry_common)
+ add_test(random_fork_test random_fork_test)
+
+-add_executable(random_benchmark random_benchmark.cc)
+-target_link_libraries(random_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
++if(WITH_BENCHMARK)
++ add_executable(random_benchmark random_benchmark.cc)
++ target_link_libraries(random_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
+
+-add_executable(circular_buffer_benchmark circular_buffer_benchmark.cc)
+-target_link_libraries(circular_buffer_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
++ add_executable(circular_buffer_benchmark circular_buffer_benchmark.cc)
++ target_link_libraries(circular_buffer_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_api)
+
+-add_executable(attributemap_hash_benchmark attributemap_hash_benchmark.cc)
+-target_link_libraries(attributemap_hash_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
++ add_executable(attributemap_hash_benchmark attributemap_hash_benchmark.cc)
++ target_link_libraries(attributemap_hash_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
++endif()
+--- a/sdk/test/metrics/CMakeLists.txt
++++ b/sdk/test/metrics/CMakeLists.txt
+@@ -28,12 +28,15 @@ foreach(
+ TEST_LIST ${testname})
+ endforeach()
+
+-add_executable(attributes_processor_benchmark attributes_processor_benchmark.cc)
+-target_link_libraries(attributes_processor_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
++if(WITH_BENCHMARK)
++ add_executable(attributes_processor_benchmark
++ attributes_processor_benchmark.cc)
++ target_link_libraries(attributes_processor_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
+
+-add_executable(attributes_hashmap_benchmark attributes_hashmap_benchmark.cc)
+-target_link_libraries(attributes_hashmap_benchmark benchmark::benchmark
+- ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
++ add_executable(attributes_hashmap_benchmark attributes_hashmap_benchmark.cc)
++ target_link_libraries(attributes_hashmap_benchmark benchmark::benchmark
++ ${CMAKE_THREAD_LIBS_INIT} opentelemetry_common)
++endif()
+
+ add_subdirectory(exemplar)
+--- a/sdk/test/trace/CMakeLists.txt
++++ b/sdk/test/trace/CMakeLists.txt
+@@ -24,7 +24,10 @@ foreach(
+ TEST_LIST ${testname})
+ endforeach()
+
+-add_executable(sampler_benchmark sampler_benchmark.cc)
+-target_link_libraries(
+- sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT}
+- opentelemetry_trace opentelemetry_resources opentelemetry_exporter_in_memory)
++if(WITH_BENCHMARK)
++ add_executable(sampler_benchmark sampler_benchmark.cc)
++ target_link_libraries(
++ sampler_benchmark benchmark::benchmark ${CMAKE_THREAD_LIBS_INIT}
++ opentelemetry_trace opentelemetry_resources
++ opentelemetry_exporter_in_memory)
++endif()
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-cmake4.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-cmake4.patch
new file mode 100644
index 000000000000..e2b097a42752
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-cmake4.patch
@@ -0,0 +1,17 @@
+https://github.com/open-telemetry/opentelemetry-cpp/commit/3e4b7d3c73d5c117069fb9becb7e2145dc06608d
+
+Modified to apply cleanly
+
+From 3e4b7d3c73d5c117069fb9becb7e2145dc06608d Mon Sep 17 00:00:00 2001
+From: Marc Alff <marc.alff@oracle.com>
+Date: Fri, 8 Mar 2024 09:35:12 +0100
+Subject: [PATCH] [BUILD] Bump cmake version to 3.9 (#2581)
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,4 +1,4 @@
+-cmake_minimum_required(VERSION 3.1)
++cmake_minimum_required(VERSION 3.9)
+
+ # See https://cmake.org/cmake/help/v3.3/policy/CMP0057.html required by certain
+ # versions of gtest
diff --git a/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-gcc13.patch b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-gcc13.patch
new file mode 100644
index 000000000000..add8004b77cf
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/files/opentelemetry-cpp-1.6.0-gcc13.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/895694
+https://github.com/open-telemetry/opentelemetry-cpp/pull/2423
+https://github.com/open-telemetry/opentelemetry-cpp/commit/d1143ab37ef7a7e9bbc4289513dbd21b9fe134d2
+
+From d1143ab37ef7a7e9bbc4289513dbd21b9fe134d2 Mon Sep 17 00:00:00 2001
+From: Thomas-Barbier-1A <thomas.barbier@amadeus.com>
+Date: Tue, 5 Dec 2023 10:54:00 +0100
+Subject: [PATCH] [BUILD] 'uint8_t' not declared in this scope with gcc 13.2.1
+ (#2423)
+
+--- a/api/include/opentelemetry/trace/propagation/detail/hex.h
++++ b/api/include/opentelemetry/trace/propagation/detail/hex.h
+@@ -4,6 +4,7 @@
+ #pragma once
+
+ #include <algorithm>
++#include <cstdint>
+ #include <cstring>
+
+ #include "opentelemetry/nostd/string_view.h"
+
+https://github.com/open-telemetry/opentelemetry-cpp/commit/cfa130bb9200d6ce307b8e030426b983af562e8a
+
+From cfa130bb9200d6ce307b8e030426b983af562e8a Mon Sep 17 00:00:00 2001
+From: Andrew Stitcher <astitcher@apache.org>
+Date: Sat, 20 May 2023 04:39:20 -0400
+Subject: [PATCH] Missed include (#2143)
+
+--- a/ext/include/opentelemetry/ext/http/common/url_parser.h
++++ b/ext/include/opentelemetry/ext/http/common/url_parser.h
+@@ -3,6 +3,7 @@
+
+ #pragma once
+
++#include <cstdint>
+ #include <string>
+ #include <vector>
+ #include "opentelemetry/nostd/string_view.h"
diff --git a/dev-cpp/opentelemetry-cpp/metadata.xml b/dev-cpp/opentelemetry-cpp/metadata.xml
index a54db431afcb..61de79ad9ee1 100644
--- a/dev-cpp/opentelemetry-cpp/metadata.xml
+++ b/dev-cpp/opentelemetry-cpp/metadata.xml
@@ -7,7 +7,11 @@
</maintainer>
<use>
+ <flag name="elasticsearch">Build support for the elasticsearch exporter</flag>
+ <flag name="grpc">Build support for the OTLP (OpenTelemetry Protocol) GRPC exporter</flag>
+ <flag name="http">Build support for the OTLP (OpenTelemetry Protocol) HTTP exporter</flag>
<flag name="jaeger">Include the jaeger exporter</flag>
+ <flag name="otlp">Build support for the OTLP (OpenTelemetry Protocol) File exporter</flag>
<flag name="prometheus">include the Prometheus Client in the SDK</flag>
</use>
<origin>gentoo-staging</origin>
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
deleted file mode 100644
index 77c626523688..000000000000
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.16.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="The OpenTelemetry C++ Client"
-HOMEPAGE="
- https://opentelemetry.io/
- https://github.com/open-telemetry/opentelemetry-cpp
-"
-SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-IUSE="prometheus test"
-
-RDEPEND="
- net-misc/curl:=
- dev-libs/boost:=
-"
-DEPEND="
- ${RDEPEND}
- prometheus? (
- dev-cpp/prometheus-cpp
- )
- test? (
- dev-cpp/gtest
- dev-cpp/benchmark
- )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- # remove tests the need network
- "${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() {
- local mycmakeargs=(
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
- -DBUILD_SHARED_LIBS:BOOL=ON
- -DBUILD_TESTING:BOOL=$(usex test)
- -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
- )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.22.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.22.0.ebuild
new file mode 100644
index 000000000000..ab64d6bff5f5
--- /dev/null
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.22.0.ebuild
@@ -0,0 +1,120 @@
+# Copyright 2022-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# update based on third_party_release
+OPENTELEMETRY_PROTO="1.7.0"
+
+inherit cmake
+
+DESCRIPTION="The OpenTelemetry C++ Client"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://github.com/open-telemetry/opentelemetry-cpp/
+"
+SRC_URI="
+ https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+ otlp? (
+ https://github.com/open-telemetry/opentelemetry-proto/archive/refs/tags/v${OPENTELEMETRY_PROTO}.tar.gz
+ -> opentelemetry-proto-${OPENTELEMETRY_PROTO}.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0/1"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+IUSE="elasticsearch grpc http otlp prometheus test"
+REQUIRED_USE="
+ grpc? ( otlp )
+ http? ( otlp )
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ http? (
+ net-misc/curl
+ sys-libs/zlib
+ )
+ elasticsearch? (
+ dev-cpp/nlohmann_json
+ net-misc/curl
+ )
+ grpc? ( net-libs/grpc:= )
+ otlp? (
+ dev-cpp/abseil-cpp:=
+ dev-libs/protobuf:=[libprotoc(+)]
+ dev-cpp/nlohmann_json
+ )
+ prometheus? ( dev-cpp/prometheus-cpp )
+"
+DEPEND="
+ ${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ virtual/pkgconfig
+ otlp? ( dev-libs/protobuf[protoc(+)] )
+"
+
+src_configure() {
+ # sanity check subslot to kick would be drive by bumpers
+ # https://github.com/open-telemetry/opentelemetry-cpp/blob/main/docs/abi-version-policy.md
+ local detected_abi
+ detected_abi="$(sed -n -e 's/^# define OPENTELEMETRY_ABI_VERSION_NO \(.*\)/\1/p' \
+ api/include/opentelemetry/version.h)"
+ detected_abi="${detected_abi}"
+ if [[ "${SLOT}" != "0/${detected_abi}" ]]; then
+ die "SLOT ${SLOT} doesn't match upstream specified ABI ${detected_abi}."
+ fi
+
+ local detected_proto_ver
+ detected_proto_ver="$(sed -n -e '/^opentelemetry-proto=/p' third_party_release)"
+ if [[ "${OPENTELEMETRY_PROTO}" != "${detected_proto_ver#opentelemetry-proto=v}" ]]; then
+ die "OPENTELEMETRY_PROTO=${OPENTELEMETRY_PROTO} doesn't match upstream specified ${detected_proto_ver}"
+ fi
+
+ local mycmakeargs=(
+ -DBUILD_TESTING=$(usex test)
+ -DWITH_BENCHMARK=OFF # benchmark tests dont make sense in ebuilds
+ -DBUILD_W3CTRACECONTEXT_TEST=OFF # network-sandbox breaking tests
+ -DWITH_FUNC_TESTS=ON
+
+ -DOTELCPP_VERSIONED_LIBS=ON
+ -DOTELCPP_MAINTAINER_MODE=OFF
+ -DOPENTELEMETRY_INSTALL=ON
+ -DWITH_STL=ON
+ -DWITH_GSL=OFF
+
+ -DWITH_API_ONLY=OFF
+
+ -DWITH_ELASTICSEARCH=$(usex elasticsearch)
+ -DWITH_PROMETHEUS=$(usex prometheus)
+ -DWITH_OPENTRACING=OFF # unpackaged
+ -DWITH_ZIPKIN=OFF # unpackaged
+ -DWITH_ETW=OFF # unpackaged
+
+ # https://github.com/open-telemetry/opentelemetry-cpp/blob/main/exporters/otlp/README.md
+ # file exporter can be built separately to the other exporter.
+ # Its just simpler dependency wise to have a "otlp" use flag that the other exporter require.
+ -DWITH_OTLP_FILE=$(usex otlp)
+ -DWITH_OTLP_GRPC=$(usex grpc)
+ -DWITH_OTLP_HTTP=$(usex http)
+ -DWITH_OTLP_HTTP_COMPRESSION=ON # zlib is in the system set
+ )
+ use otlp && mycmakeargs+=( -DOTELCPP_PROTO_PATH="${WORKDIR}"/opentelemetry-proto-${OPENTELEMETRY_PROTO} )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local CMAKE_SKIP_TESTS=(
+ # needs a running prometheus instance
+ exporter.PrometheusExporter.ShutdownSetsIsShutdownToTrue
+ )
+
+ # curl tests fragile
+ cmake_src_test -j1
+}
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild
deleted file mode 100644
index 0b67b346b6ed..000000000000
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.3.0-r2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2022-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="The OpenTelemetry C++ Client"
-HOMEPAGE="
- https://opentelemetry.io/
- https://github.com/open-telemetry/opentelemetry-cpp
-"
-SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="+jaeger prometheus test"
-
-RDEPEND="
- net-misc/curl:=
- dev-libs/thrift:=
- dev-libs/boost:=
-"
-DEPEND="
- ${RDEPEND}
- prometheus? (
- dev-cpp/prometheus-cpp
- )
- test? (
- dev-cpp/gtest
- dev-cpp/benchmark
- )
-"
-
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- # remove tests the need network
- "${FILESDIR}/opentelemetry-cpp-1.3.0-tests.patch"
-)
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
- -DBUILD_SHARED_LIBS:BOOL=ON
- -DBUILD_TESTING:BOOL=$(usex test)
- -DWITH_JAEGER:BOOL=$(usex jaeger)
- -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
- )
-
- cmake_src_configure
-}
diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild
index 0b67b346b6ed..d4e6bb11b4ce 100644
--- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.4.0.ebuild
+++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild
@@ -14,40 +14,44 @@ SRC_URI="https://github.com/open-telemetry/${PN}/archive/refs/tags/v${PV}.tar.gz
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
IUSE="+jaeger prometheus test"
RDEPEND="
net-misc/curl:=
dev-libs/thrift:=
dev-libs/boost:=
+ prometheus? ( dev-cpp/prometheus-cpp )
"
DEPEND="
${RDEPEND}
- prometheus? (
- dev-cpp/prometheus-cpp
- )
- test? (
- dev-cpp/gtest
- dev-cpp/benchmark
- )
+ test? ( dev-cpp/gtest )
"
RESTRICT="!test? ( test )"
PATCHES=(
- # remove tests the need network
- "${FILESDIR}/opentelemetry-cpp-1.3.0-tests.patch"
+ # bug #865029
+ "${FILESDIR}/opentelemetry-cpp-1.6.0-dont-install-nosend.patch"
+ "${FILESDIR}/opentelemetry-cpp-1.6.0-cmake4.patch"
+ "${FILESDIR}/opentelemetry-cpp-1.6.0-gcc13.patch"
+ "${FILESDIR}/opentelemetry-cpp-1.6.0-add-benchmark-option.patch"
)
src_configure() {
local mycmakeargs=(
- -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
- -DBUILD_SHARED_LIBS:BOOL=ON
-DBUILD_TESTING:BOOL=$(usex test)
- -DWITH_JAEGER:BOOL=$(usex jaeger)
- -DWITH_PROMETHEUS:BOOL=$(usex prometheus)
+ -DWITH_BENCHMARK=OFF # benchmark tests dont make sense in ebuilds
+ -DBUILD_W3CTRACECONTEXT_TEST=OFF # network-sandbox breaking tests
+
+ -DWITH_JAEGER=$(usex jaeger)
+ -DWITH_PROMETHEUS=$(usex prometheus)
)
cmake_src_configure
}
+
+src_test() {
+ # curl tests fragile
+ cmake_src_test -j1
+}