Subject: Re: [PATCH] gnu: Add ubench-h

From: "Artyom V. Poptsov" <[email-masked]>
Date: Wed, 04 Jan 2023 00:43:19 +0300

Hello,

I've rebased my patch that adds "ubench.h" benchmark framework onto the
"master" branch.
From c2f163bb8f8f2acf82432893f3860e35dbb95d5a Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <[email-masked]>
Date: Wed, 4 Jan 2023 00:39:27 +0300
Subject: [PATCH] gnu: Add ubench-h.

* gnu/packages/c.scm (ubench-h): New variable.
---
 gnu/packages/c.scm | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)

diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 04c9fcdc62..0bdc6e9fc5 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1376,3 +1376,39 @@ (define-public utest-h
       (description
        "This package provides a header-only unit testing library for C/C++.")
       (license license:unlicense))))
+
+(define-public ubench-h
+  ;; The latest commit is used as there is no release.
+  (let ((commit "bcf152d83c3495242aa46df69cecdc9f3fbdf687") (revision "0"))
+    (package
+      (name "ubench-h")
+      (version (git-version "0.0.0" revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url "https://github.com/sheredom/ubench.h")
+                      (commit commit)))
+                (file-name (git-file-name "ubench.h" version))
+                (sha256
+                 (base32
+                  "0sdnycxmrp78zhwydqbca985c3cg7px3n90vfs8c3agzra7xrhsi"))))
+      (build-system cmake-build-system)
+      (arguments
+       `(#:phases (modify-phases %standard-phases
+                    (delete 'build)
+                    (delete 'configure)
+                    (replace 'check
+                      (lambda* (#:key tests? #:allow-other-keys)
+                        (when tests?
+                          (with-directory-excursion "test"
+                                                    (invoke "cmake" ".")
+                                                    (invoke "make")))))
+                    (replace 'install
+                      (lambda* (#:key outputs #:allow-other-keys)
+                        (let ((out (assoc-ref outputs "out")))
+                          (install-file "ubench.h"
+                                        (string-append out "/include"))))))))
+      (home-page "https://github.com/sheredom/ubench.h")
+      (synopsis "Single header benchmark framework for C and C++")
+      (description "A simple one header solution to benchmarking for C/C++.")
+      (license license:unlicense))))
-- 
2.34.1

Could you please review the patch?

Thanks,
avp

-- 
Artyom "avp" Poptsov <[email-masked]>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F