diff options
| author | Alfred Wingate <parona@protonmail.com> | 2025-09-19 06:54:38 +0300 |
|---|---|---|
| committer | Sam James <sam@gentoo.org> | 2025-09-20 23:24:56 +0100 |
| commit | 30fe512985b356de81ef6b36de75f06981eeb70e (patch) | |
| tree | 53265403501939e5b10a39c36f8828fcd95b4cc7 /dev-cpp/opentelemetry-cpp | |
| parent | 61c0c5361c541093efe945b57a43314c3118116c (diff) | |
| download | gentoo-30fe512985b356de81ef6b36de75f06981eeb70e.tar.gz gentoo-30fe512985b356de81ef6b36de75f06981eeb70e.tar.bz2 gentoo-30fe512985b356de81ef6b36de75f06981eeb70e.zip | |
dev-cpp/opentelemetry-cpp: fixup old version
Handle gcc13, cmake4 and reliable tests.
Unfortunately this version has to stay for ceph
Bug: https://bugs.gentoo.org/895694
Signed-off-by: Alfred Wingate <parona@protonmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/43853
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'dev-cpp/opentelemetry-cpp')
4 files changed, 292 insertions, 0 deletions
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/opentelemetry-cpp-1.6.0-r2.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild new file mode 100644 index 000000000000..d4e6bb11b4ce --- /dev/null +++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild @@ -0,0 +1,57 @@ +# 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="+jaeger prometheus test" + +RDEPEND=" + net-misc/curl:= + dev-libs/thrift:= + dev-libs/boost:= + prometheus? ( dev-cpp/prometheus-cpp ) +" +DEPEND=" + ${RDEPEND} + test? ( dev-cpp/gtest ) +" + +RESTRICT="!test? ( test )" + +PATCHES=( + # 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=( + -DBUILD_TESTING:BOOL=$(usex test) + -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 +} |
