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();
+ }

Reply via email to