Subject: [PATCH] gnu: Add ubench-h

From: "Artyom V. Poptsov" <[email-masked]>
Date: Sun, 26 Jun 2022 23:23:12 +0300

Hello,

this patch adds "ubench.h"[1] under the name "ubench-h".

From 032c55ab247ce50dfe22fe37b742634c69ab4f94 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <[email-masked]>
Date: Sun, 26 Jun 2022 23:19:38 +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 bcacccfd03..0d929ff892 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1166,3 +1166,39 @@ string.h, but with a utf8* prefix instead of the str* prefix.")
       (synopsis "Single header unit testing framework for C and C++")
       (description "A simple one header solution to unit testing 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.25.1

Thanks,

- Artyom

References:
1. https://github.com/sheredom/ubench.h

-- 
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