mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-08-05 12:38:09 -07:00
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>
This commit is contained in:
committed by
Sam James
parent
61c0c5361c
commit
30fe512985
@@ -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()
|
||||
@@ -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
|
||||
@@ -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"
|
||||
57
dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild
Normal file
57
dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild
Normal file
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user