mirror of
https://git.freebsd.org/ports.git
synced 2025-05-28 00:46:27 -04:00
Reference: https://pkg-status.freebsd.org/beefy17/data/main-i386-default/p6e326af2b884_s4be8e29e776/logs/libdatadog-12.0.0_3.log https://pkg-status.freebsd.org/beefy21/data/141i386-default/6e326af2b884/logs/libdatadog-12.0.0_3.log https://pkg-status.freebsd.org/beefy15/data/133i386-default/6e326af2b884/logs/libdatadog-12.0.0_3.log
58 lines
2.6 KiB
Makefile
58 lines
2.6 KiB
Makefile
PORTNAME= libdatadog
|
|
PORTVERSION= 12.0.0
|
|
DISTVERSIONPREFIX= v
|
|
PORTREVISION= 3
|
|
CATEGORIES= devel
|
|
|
|
MAINTAINER= sunpoet@FreeBSD.org
|
|
COMMENT= Datadog Rust library
|
|
WWW= https://github.com/DataDog/libdatadog
|
|
|
|
LICENSE= APACHE20
|
|
LICENSE_FILE= ${WRKSRC}/LICENSE
|
|
|
|
BROKEN_i386= error: could not compile `datadog-sidecar` (lib) due to 2 previous errors
|
|
|
|
USES= cargo llvm
|
|
|
|
CARGO_FEATURES= cbindgen,crashtracker-ffi,cbindgen,datadog-profiling-ffi/ddtelemetry-ffi
|
|
MAKE_ENV= LIBCLANG_PATH=${LLVM_PREFIX}/lib
|
|
|
|
USE_GITHUB= yes
|
|
GH_ACCOUNT= DataDog
|
|
|
|
NATIVE_STATIC_LIBS= -lpthread -lrt -lexecinfo -lutil -lc -lm
|
|
|
|
post-patch:
|
|
.for file in datadog_profiling datadog_profiling-static datadog_profiling_with_rpath
|
|
@${SED} -e 's|@Datadog_VERSION@|${PORTVERSION}|; s|@Datadog_LIBRARIES@|${NATIVE_STATIC_LIBS}|' ${WRKSRC}/profiling-ffi/${file}.pc.in > ${WRKSRC}/${file}.pc
|
|
.endfor
|
|
.for file in DatadogConfig DataPipelineConfig
|
|
@${SED} -e 's|@Datadog_LIBRARIES@|${NATIVE_STATIC_LIBS}|' ${WRKSRC}/cmake/${file}.cmake.in > ${WRKSRC}/${file}.cmake
|
|
.endfor
|
|
# Fix sys-info-0.9.1 on 32-bit architectures, see also https://github.com/FillZpp/sys-info-rs/issues/80
|
|
@${SED} -i '' -e '/get_cpu/ s|unsigned long|uint64_t|; /get_proc_total/ s|unsigned long|uint64_t|' ${WRKSRC}/cargo-crates/sys-info-0.9.1/c/*.[ch]
|
|
|
|
post-build:
|
|
@${CARGO_TARGET_DIR}/release/dedup_headers \
|
|
${CARGO_TARGET_DIR}/include/datadog/common.h \
|
|
${CARGO_TARGET_DIR}/include/datadog/crashtracker.h \
|
|
${CARGO_TARGET_DIR}/include/datadog/profiling.h \
|
|
${CARGO_TARGET_DIR}/include/datadog/telemetry.h \
|
|
${CARGO_TARGET_DIR}/include/datadog/data-pipeline.h
|
|
@${CC} -I ${CARGO_TARGET_DIR}/include/ -L ${CARGO_TARGET_DIR}/release/ -ldatadog_profiling_ffi \
|
|
${WRKSRC}/crashtracker/libdatadog-crashtracking-receiver.c -o ${WRKSRC}/libdatadog-crashtracking-receiver
|
|
@${MV} ${CARGO_TARGET_DIR}/release/libtest_spawn_from_lib.so ${CARGO_TARGET_DIR}/release/libtest_spawn_from_lib.so.skip
|
|
|
|
do-install:
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/include/datadog/
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/lib/cmake/libdatadog/
|
|
${MKDIR} ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
|
|
${INSTALL_PROGRAM} ${WRKSRC}/libdatadog-crashtracking-receiver ${STAGEDIR}${PREFIX}/bin/
|
|
${INSTALL_DATA} ${CARGO_TARGET_DIR}/include/datadog/*.h ${STAGEDIR}${PREFIX}/include/datadog/
|
|
${INSTALL_DATA} ${WRKSRC}/*.cmake ${STAGEDIR}${PREFIX}/lib/cmake/libdatadog/
|
|
${INSTALL_DATA} ${CARGO_TARGET_DIR}/release/*.a ${STAGEDIR}${PREFIX}/lib/
|
|
${INSTALL_LIB} ${CARGO_TARGET_DIR}/release/*.so ${STAGEDIR}${PREFIX}/lib/
|
|
${INSTALL_DATA} ${WRKSRC}/datadog_profiling*.pc ${STAGEDIR}${PREFIX}/libdata/pkgconfig/
|
|
|
|
.include <bsd.port.mk>
|