commit: 1084703386d38f946d45d497aa5c6aa38ba9d816 Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org> AuthorDate: Fri Aug 22 06:59:32 2025 +0000 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> CommitDate: Fri Aug 22 06:59:32 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10847033
dev-libs/dynolog: add 0.3.2 Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org> dev-libs/dynolog/Manifest | 2 + dev-libs/dynolog/dynolog-0.3.2.ebuild | 135 ++++++++++++++++++++++ dev-libs/dynolog/files/dynolog-0.3.1-gentoo.patch | 10 ++ dev-libs/dynolog/files/dynolog-0.3.2-musl.patch | 40 +++++++ 4 files changed, 187 insertions(+) diff --git a/dev-libs/dynolog/Manifest b/dev-libs/dynolog/Manifest index 97b75c4e8422..77dcaec1f570 100644 --- a/dev-libs/dynolog/Manifest +++ b/dev-libs/dynolog/Manifest @@ -7,6 +7,8 @@ DIST clap_derive-3.2.25.crate 28212 BLAKE2B 8782f6425ed46197c5e5293e2f06fd82b2d1 DIST clap_lex-0.2.4.crate 9652 BLAKE2B 5120b508dedf52507068c0c369a45ddfbe0369e5c05b65bc5a78c422b2a4bf488f9ef1e0bed4e335450f2c08b80148eb5f7efed678039b5a94b5bd666385939f SHA512 6c05e5fd850befd45be9005af7252385f2304aa28a107413bbe329d97aea835f7acfd0bd169c99f69f466ab93d6e1c35d73a4e48343457a06fe2d6be5bedde0f DIST dynolog-0.2.2.tar.gz 1692663 BLAKE2B 2ee03874b9f86209f2fb1dbcc127358fdbfd17ad8da2ffb28593b70e591e4938e7e3c76afff0e27ff1227c4dd64a0cb667b143e3b2a8ab4a3de2c6a85becd0fc SHA512 fbc7a13194bf712afe557302eddedd6b9a7d71853a444845c380683eb37dff114ec9c727be442c4c26b359ebc861f3bbf7ece6861c24357b6b65cef0b3e035f9 DIST dynolog-0.2.2_dcgm.tar.gz 7454762 BLAKE2B 2dcf7af3931ac7924a6f8fbd95d2bd5f0ad1278f22cd402188c4afb56b01548871beb451dc54fad49539b4c9dd1bac3c12ffb799bf7947a26fd00fcf2bfef019 SHA512 eed862d96c33eb2b08f312c65e1febc76a6a0f6351fd6f87c236ae4a08729975b3ad529f8cfede338b483453015800b4774f5ddba062dd00646c656335fc3365 +DIST dynolog-0.3.2.tar.gz 1799112 BLAKE2B 3557b9556127a21ab69fe7f5d57ffd965686f2dfbe6625ee20416ff9544be84c0a9265164be2595ea92f8339ffaf65c381ebf8780ee2201e0c35836901470899 SHA512 903855d0319f7d05b6f64d3cb03659a4675e0a8a1808463c4b79e90c03c3ebe2d0bd2952ef9a4eee595043a3f930d67f13734e5639d51bda925066431ee36eaf +DIST dynolog-0.3.2_dcgm.tar.gz 7454762 BLAKE2B 2dcf7af3931ac7924a6f8fbd95d2bd5f0ad1278f22cd402188c4afb56b01548871beb451dc54fad49539b4c9dd1bac3c12ffb799bf7947a26fd00fcf2bfef019 SHA512 eed862d96c33eb2b08f312c65e1febc76a6a0f6351fd6f87c236ae4a08729975b3ad529f8cfede338b483453015800b4774f5ddba062dd00646c656335fc3365 DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76 DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8 DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a diff --git a/dev-libs/dynolog/dynolog-0.3.2.ebuild b/dev-libs/dynolog/dynolog-0.3.2.ebuild new file mode 100644 index 000000000000..e37176ada37f --- /dev/null +++ b/dev-libs/dynolog/dynolog-0.3.2.ebuild @@ -0,0 +1,135 @@ +# Copyright 2023-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# Partially auto-Generated by cargo-ebuild 0.5.4-r1 + +EAPI=8 + +CRATES=" + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] + [email protected] +" + +inherit cargo cmake dot-a + +DcgmCommitId=ffde4e54bc7249a6039a5e6b45b395141e1217f9 + +DESCRIPTION="Performance monitoring daemon for heterogeneous CPU-GPU systems" +HOMEPAGE="https://github.com/facebookincubator/dynolog" +SRC_URI="https://github.com/facebookincubator/${PN}/archive/refs/tags/v${PV}.tar.gz + -> ${P}.tar.gz + https://github.com/NVIDIA/DCGM/archive/${DcgmCommitId}.tar.gz + -> ${P}_dcgm.tar.gz + ${CARGO_CRATE_URIS}" + +LICENSE="BSD Apache-2.0 Boost-1.0 MIT Unicode-DFS-2016 Unlicense" +SLOT="0" +KEYWORDS="~amd64 ~arm64" +IUSE="perf-events test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-cpp/gflags + dev-cpp/glog:= + dev-libs/libfmt:= + dev-libs/pfs +" + +DEPEND=" + ${RDEPEND} + dev-cpp/nlohmann_json:= +" +BDEPEND="test? ( dev-cpp/gtest )" + +# Partially rust build +QA_FLAGS_IGNORED=/usr/bin/dyno + +PATCHES=( + "${FILESDIR}"/${PN}-0.3.1_p20230126-gcc13.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-unbundling.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-riscv.patch + "${FILESDIR}"/${P}-musl.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-libcxx.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-nofmt.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-nojson.patch + "${FILESDIR}"/${PN}-0.3.1-gentoo.patch +) + +CMAKE_SKIP_TESTS=( "Defs.CpuSet" "KernelCollecterTest.NetworkStatsTest" ) + +src_prepare() { + mv "${WORKDIR}"/DCGM-${DcgmCommitId}/* third_party/DCGM/ || die + sed -i \ + -e "s:__u64:ino_t:g" \ + hbt/src/common/System.h \ + || die + cmake_src_prepare + cmake_comment_add_subdirectory third_party/fmt + cmake_comment_add_subdirectory third_party/gflags + cmake_comment_add_subdirectory third_party/glog + cmake_comment_add_subdirectory third_party/json + cmake_comment_add_subdirectory third_party/pfs +} + +src_configure() { + lto-guarantee-fat + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DBUILD_TESTS=$(usex test) + -DUSE_JSON_GENERATED_PERF_EVENTS=$(usex perf-events) + ) + cmake_src_configure + cd cli + cargo_src_configure +} + +src_compile() { + cmake_src_compile + cd cli + cargo_src_compile +} + +src_install() { + mkdir -p headers/dynolog/src/ipcfabric + cp dynolog/src/ipcfabric/FabricManager.h \ + headers/dynolog/src/ipcfabric || die + doheader -r dynolog + einstalldocs + cd cli + cargo_src_install + strip-lto-bytecode + + dobin "${BUILD_DIR}"/${PN}/src/${PN} +} diff --git a/dev-libs/dynolog/files/dynolog-0.3.1-gentoo.patch b/dev-libs/dynolog/files/dynolog-0.3.1-gentoo.patch new file mode 100644 index 000000000000..75da2fac0844 --- /dev/null +++ b/dev-libs/dynolog/files/dynolog-0.3.1-gentoo.patch @@ -0,0 +1,10 @@ +--- a/hbt/src/perf_event/CpuArch.h 2025-08-22 08:36:48.218963948 +0200 ++++ b/hbt/src/perf_event/CpuArch.h 2025-08-22 08:37:08.810742811 +0200 +@@ -8,6 +8,7 @@ + #pragma once + + #include <sstream> ++#include <cstdint> + + namespace facebook::hbt::perf_event { + diff --git a/dev-libs/dynolog/files/dynolog-0.3.2-musl.patch b/dev-libs/dynolog/files/dynolog-0.3.2-musl.patch new file mode 100644 index 000000000000..321df5637da1 --- /dev/null +++ b/dev-libs/dynolog/files/dynolog-0.3.2-musl.patch @@ -0,0 +1,40 @@ +diff --git a/dynolog/src/gpumon/Utils.h b/dynolog/src/gpumon/Utils.h +index 0728cdc..844076d 100644 +--- a/dynolog/src/gpumon/Utils.h ++++ b/dynolog/src/gpumon/Utils.h +@@ -1,19 +1,20 @@ + // (c) Meta Platforms, Inc. and affiliates. Confidential and proprietary. + + #pragma once + ++#include <unistd.h> + #include <string> + #include <unordered_map> + #include <vector> + + namespace dynolog { + + // Assume at most one pid running on each gpu device_id + // Result[i] is the pid running on device_id i, + // or -1 if no process is running + std::vector<pid_t> getPidsOnGpu(); + // Input map is type <environment variable name, metadata name> + // output map is type <metadata name, metadata value> + std::unordered_map<std::string, std::string> getMetadataForPid( + pid_t pid, + const std::unordered_map<std::string, std::string>& keysMap); +--- a/hbt/src/perf_event/BPerfEventsGroup.cpp ++++ b/hbt/src/perf_event/BPerfEventsGroup.cpp +@@ -76,10 +76,10 @@ + name, + metric.makeNoCpuTopologyConfs(pmu_manager), + cgroup_update_level) {} +-inline auto mapFdWrapperPtrIntoInode( ++inline ino_t mapFdWrapperPtrIntoInode( + const std::shared_ptr<FdWrapper>& fd_wrapper) { + if (fd_wrapper == nullptr) { +- return 0ull; ++ return (ino_t)0; + } + return fd_wrapper->getInode(); + }
