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.20.0-r1.ebuild | 61 ++++++++++++++++++++ .../opentelemetry-cpp-1.20.0.ebuild | 52 ----------------- .../opentelemetry-cpp-1.6.0-r2.ebuild | 57 ------------------- .../opentelemetry-cpp-1.6.0-r3.ebuild | 66 ++++++++++++++++++++++ 4 files changed, 127 insertions(+), 109 deletions(-) create mode 100644 dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0-r1.ebuild delete mode 100644 dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0.ebuild delete mode 100644 dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild create mode 100644 dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r3.ebuild (limited to 'dev-cpp') diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0-r1.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0-r1.ebuild new file mode 100644 index 000000000000..4f103d2baed2 --- /dev/null +++ b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0-r1.ebuild @@ -0,0 +1,61 @@ +# 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" +) + +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 +} + +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 +} diff --git a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0.ebuild deleted file mode 100644 index 74a8525362a2..000000000000 --- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.20.0.ebuild +++ /dev/null @@ -1,52 +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" -) - -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.6.0-r2.ebuild b/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild deleted file mode 100644 index d4e6bb11b4ce..000000000000 --- a/dev-cpp/opentelemetry-cpp/opentelemetry-cpp-1.6.0-r2.ebuild +++ /dev/null @@ -1,57 +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="+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 -} 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