[bug#78260,1/2] gnu: Add yactfr.

Message ID a09224f38ca4a9e961997a2f1d12d9ca3c4dd43c.1746448905.git.olivier.dion@polymtl.ca
State New
Headers
Series [bug#78260,1/2] gnu: Add yactfr. |

Commit Message

Olivier Dion May 5, 2025, 12:42 p.m. UTC
  From: Olivier Dion <olivier.dion@polymtl.ca>

* gnu/packages/instrumentation.scm (yactfr): New variable.

Change-Id: I48203e19513cd52ebd97faa307ad524b8a5c5dcd
---
 gnu/packages/instrumentation.scm | 35 ++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)


base-commit: 0b83a27b67ae92e988795322ae988518ec3e6972
  

Patch

diff --git a/gnu/packages/instrumentation.scm b/gnu/packages/instrumentation.scm
index 09314519a9b..1e26a14720e 100644
--- a/gnu/packages/instrumentation.scm
+++ b/gnu/packages/instrumentation.scm
@@ -655,3 +655,38 @@  (define-public uftrace
 performance.  It provides the command @command{uftrace}.  By default, it is
 bundled with python-3 and luajit that you can delete in a package variant.")
     (license license:gpl2)))
+
+(define-public yactfr
+  (let ((commit "796eaff018e2432ecc8f1f103101afafc9f38518")
+        (revision "0"))
+    (package
+      (name "yactfr")
+      (version(git-version "1.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/eepp/yactfr")
+                      (commit commit)))
+                (file-name (git-file-name name version))
+                (sha256
+                 (base32
+                  "1p4nqsq689hr2srdvg59v9yfig2aaq9psdy6fhwnya0vszssyvn5"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:test-target "check"))
+      (native-inputs
+       (list
+        boost
+        python-pytest
+        ))
+      (home-page "https://github.com/eepp/yactfr")
+      (synopsis "yet another CTF reader: a CTF reading library offering a C++14 API")
+      (description "While the CTF reading libraries focus on decoding and
+providing completed and ordered event record objects, the yactfr API offers a
+lower level of CTF processing.  Allowing iteration over individual element
+sequences to obtain elements: beginning/end of packet, beginning/end of event
+record, beggining/end of structure, individual data stream scalar values like
+fixed-length integers, fixed-length floating point numbers, and
+null-terminated strings, specific clock value update, known data stream ID,
+and the rest.")
+      (license license:expat))))