From f073a2308e63db08fcc1c9d4624707c3b32da69e Mon Sep 17 00:00:00 2001 From: "Z. Liu" Date: Fri, 20 Jun 2025 22:05:20 +0800 Subject: dev-cpp/opentelemetry-cpp: add find_dependency if use="prometheus" by insert using sed, which is a workaround for these versions, and it had been fixed by upstream in v1.21.0. prometheus_exporter was added after release 1.3.0 Closes: https://bugs.gentoo.org/930064 Closes: https://bugs.gentoo.org/953948 Signed-off-by: Z. Liu Part-of: https://github.com/gentoo/gentoo/pull/42678 Closes: https://github.com/gentoo/gentoo/pull/42678 Signed-off-by: Sam James --- .../opentelemetry-cpp-1.6.0-r3.ebuild | 66 ++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild (limited to 'dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild') diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild new file mode 100644 index 000000000000..705ef34ff3aa --- /dev/null +++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild @@ -0,0 +1,66 @@ +# 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_install() { + cmake_src_install + + if use prometheus; then + sed '/^# Create imported target opentelemetry-cpp::prometheus_exporter/i\find_dependency(prometheus-cpp REQUIRED)\n' \ + -i "${ED}/usr/$(get_libdir)/cmake/opentelemetry-cpp/opentelemetry-cpp-target.cmake" + fi +} + +src_test() { + # curl tests fragile + cmake_src_test -j1 +} -- cgit v1.2.3