# Contributor: Severin Neumann # Maintainer: Severin Neumann pkgname=opentelemetry-cpp pkgver=1.26.0 pkgrel=0 _opentelemetryproto_ver=1.9.0 pkgdesc="OpenTelemetry C++" url="https://opentelemetry.io/" arch="all" license="Apache-2.0" depends_dev=" $pkgname=$pkgver-r$pkgrel $pkgname-exporter-otlp-common=$pkgver-r$pkgrel $pkgname-exporter-otlp-grpc=$pkgver-r$pkgrel $pkgname-exporter-otlp-http=$pkgver-r$pkgrel $pkgname-exporter-zipkin=$pkgver-r$pkgrel " makedepends=" abseil-cpp-dev c-ares-dev cmake curl-dev grpc-dev nlohmann-json protobuf-dev re2-dev samurai " checkdepends=" benchmark-dev gtest-dev " subpackages=" $pkgname-dev $pkgname-exporter-otlp-common $pkgname-exporter-otlp-grpc $pkgname-exporter-otlp-http $pkgname-exporter-zipkin " source=" https://github.com/open-telemetry/opentelemetry-cpp/archive/v$pkgver/opentelemetry-cpp-v$pkgver.tar.gz opentelemetry-proto-$_opentelemetryproto_ver.tar.gz::https://github.com/open-telemetry/opentelemetry-proto/archive/refs/tags/v$_opentelemetryproto_ver.tar.gz gcc15.patch " build() { cmake -B build -G Ninja -Wno-dev \ -DOTELCPP_PROTO_PATH="$srcdir/opentelemetry-proto-$_opentelemetryproto_ver" \ -DBUILD_SHARED_LIBS=ON \ -DBUILD_TESTING="$(want_check && echo ON || echo OFF)" \ -DBUILD_W3CTRACECONTEXT_TEST="$(want_check && echo ON || echo OFF)" \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX=/usr \ -DWITH_ASYNC_EXPORT_PREVIEW=OFF \ -DWITH_EXAMPLES=OFF \ -DWITH_METRICS_EXEMPLAR_PREVIEW=OFF \ -DWITH_OTLP_GRPC=ON \ -DWITH_OTLP_HTTP=ON \ -DWITH_PROMETHEUS=OFF \ -DWITH_STL=ON \ -DWITH_ZIPKIN=ON cmake --build build } check() { ctest --test-dir build -j1 -E '(trace.FastRandomNumberGeneratorTest.GenerateUniqueNumbers)' } package() { DESTDIR="$pkgdir" cmake --install build } common() { pkgdesc="OpenTelemetry C++ OTLP Common Libraries" depends="$pkgname=$pkgver-r$pkgrel" amove usr/lib/libopentelemetry_otlp* } http() { pkgdesc="OpenTelemetry C++ OTLP HTTP exporter" depends="$pkgname=$pkgver-r$pkgrel $pkgname-exporter-otlp-common=$pkgver-r$pkgrel" amove usr/lib/libopentelemetry_exporter_otlp_http* } grpc() { pkgdesc="OpenTelemetry C++ OTLP gRPC exporter" depends="$pkgname=$pkgver-r$pkgrel $pkgname-exporter-otlp-common=$pkgver-r$pkgrel" amove usr/lib/libopentelemetry_exporter_otlp_grpc* } zipkin() { pkgdesc="OpenTelemetry C++ OTLP Zipkin exporter" depends="$pkgname=$pkgver-r$pkgrel" amove usr/lib/libopentelemetry_exporter_zipkin* } sha512sums=" 4f8a19a486620b9daeb110da09b5d412ef8372d152a8c8d6242e9af39e4acfd12599e85d7038dd0bd74238c9a54f85ca3acd04cec252573d5c134674a7198170 opentelemetry-cpp-v1.26.0.tar.gz 36835f2b17dd782524e156e928b8844c2723b4846d045aa725355d8679d2c64925b1aadf783c531e2898698236727e5f987cfe63710d82be52bb3f32d3a6e8fb opentelemetry-proto-1.9.0.tar.gz 96f0533cb84534f1cde282e74966f6cde70ee0408625c03a70852800973739ad083e837b3b9dd334b7e3d1b32f64d06fcb8956eb1169e4a638643f354f29bf02 gcc15.patch "