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)

Reply via email to