2025-07-16 13:22:35 +02:00

102 lines
3.0 KiB
Plaintext

# Contributor: Severin Neumann <neumanns@cisco.com>
# Maintainer: Severin Neumann <neumanns@cisco.com>
pkgname=opentelemetry-cpp
pkgver=1.22.0
pkgrel=0
_opentelemetryproto_ver=1.7.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
s390x-endianness.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="
a85869d2858f350e4a3b85e5d68e669a5fff42a2222ba7782bba92f5fe6856a110b3ddc9744a6c3e68c1ddfdc7bdb2b570bbeff78275a4e98cea889a8fda0120 opentelemetry-cpp-v1.22.0.tar.gz
488ebeab036c4d202ff40a3c21fdbb6f0ab58338e680240d47ae439d5975da3ff31114325a10c8ca18d3034ed15b1b86454d853405c460891c202e3b4b8c000e opentelemetry-proto-1.7.0.tar.gz
f98157b0f111e0da51b67b930687ae4fe54af2c31d682729651a31c70661837495a4f6b71f28a0eaa75e6b4ac6e2000ef9379f79a50fb0c6002cf07cb39208de s390x-endianness.patch
"