commit: 55a12dc641d85a35d3a20f73e7095d86ff89559d Author: Alfredo Tupone <tupone <AT> gentoo <DOT> org> AuthorDate: Fri Aug 22 07:35:37 2025 +0000 Commit: Alfredo Tupone <tupone <AT> gentoo <DOT> org> CommitDate: Fri Aug 22 07:35:37 2025 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=55a12dc6
dev-libs/dynolog: add 0.5.0 Signed-off-by: Alfredo Tupone <tupone <AT> gentoo.org> dev-libs/dynolog/Manifest | 2 + dev-libs/dynolog/dynolog-0.5.0.ebuild | 134 +++++++++++++++++++++ dev-libs/dynolog/files/dynolog-0.5.0-musl.patch | 25 ++++ .../dynolog/files/dynolog-0.5.0-unbundling.patch | 12 ++ 4 files changed, 173 insertions(+) diff --git a/dev-libs/dynolog/Manifest b/dev-libs/dynolog/Manifest index 77dcaec1f570..65cf2bd02738 100644 --- a/dev-libs/dynolog/Manifest +++ b/dev-libs/dynolog/Manifest @@ -9,6 +9,8 @@ DIST dynolog-0.2.2.tar.gz 1692663 BLAKE2B 2ee03874b9f86209f2fb1dbcc127358fdbfd17 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 dynolog-0.5.0.tar.gz 2109270 BLAKE2B ea4823635b6914f204b092ca581bbcb27704fd1da3635c49086d6603297fc5f6ee5ba3e5a6442aa7fb819ab16c4fd6032b9e3b7ddb0f919dcc3429bdb4b7e617 SHA512 3ede1eacd6f98d9db7a708c03e6e85d6dddc0e113c2a59fc060b1e2c30f27c23566d0c48763b1d501adbff11b21322e7c58df72975c335d0a56eb6beddcb375c +DIST dynolog-0.5.0_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.5.0.ebuild b/dev-libs/dynolog/dynolog-0.5.0.ebuild new file mode 100644 index 000000000000..d859ea0b9534 --- /dev/null +++ b/dev-libs/dynolog/dynolog-0.5.0.ebuild @@ -0,0 +1,134 @@ +# 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-unbundling.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-riscv.patch + "${FILESDIR}"/${P}-musl.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-nofmt.patch + "${FILESDIR}"/${PN}-0.3.1_p20230126-nojson.patch + "${FILESDIR}"/${PN}-0.3.1-gentoo.patch + "${FILESDIR}"/${P}-unbundling.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.5.0-musl.patch b/dev-libs/dynolog/files/dynolog-0.5.0-musl.patch new file mode 100644 index 000000000000..3890e68c4585 --- /dev/null +++ b/dev-libs/dynolog/files/dynolog-0.5.0-musl.patch @@ -0,0 +1,25 @@ +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); diff --git a/dev-libs/dynolog/files/dynolog-0.5.0-unbundling.patch b/dev-libs/dynolog/files/dynolog-0.5.0-unbundling.patch new file mode 100644 index 000000000000..6fb73bae0ad7 --- /dev/null +++ b/dev-libs/dynolog/files/dynolog-0.5.0-unbundling.patch @@ -0,0 +1,12 @@ +--- a/dynolog/src/rdmamon/CMakeLists.txt 2025-08-22 09:22:27.653494653 +0200 ++++ b/dynolog/src/rdmamon/CMakeLists.txt 2025-08-22 09:22:58.096166699 +0200 +@@ -2,6 +2,8 @@ + + file (GLOB dynolog_rdmamon_files "*.h" "*.cpp") + add_library(dynolog_rdmamon_lib ${dynolog_rdmamon_files}) +-target_link_libraries(dynolog_rdmamon_lib PUBLIC gflags::gflags) ++target_link_libraries(dynolog_rdmamon_lib PUBLIC gflags) ++find_package(glog) + target_link_libraries(dynolog_rdmamon_lib PUBLIC glog::glog) ++find_package(fmt) + target_link_libraries(dynolog_rdmamon_lib PUBLIC fmt::fmt)
