guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#67454] [PATCH] gnu: Add munit.


From: Wamm K. D
Subject: [bug#67454] [PATCH] gnu: Add munit.
Date: Sun, 26 Nov 2023 03:19:04 -0600

While the library is incredibly simple, – for some reason – the most
important file of the package gets skipped by =meson-build-system=.

To compensate for this, I've added a phase that just manually copies
the file over but let me know if there's a more appropriate way to
handle this.

* gnu/packages/check.scm (munit): New variable.
---
 gnu/packages/check.scm | 52 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 1f5b886977..ca6d8fe3be 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -47,6 +47,7 @@
 ;;; Copyright © 2023 Bruno Victal <mirai@makinata.eu>
 ;;; Copyright © 2023 Reza Housseini <reza@housseini.me>
 ;;; Copyright © 2023 Hilton Chain <hako@ultrarare.space>
+;;; Copyright © 2023 Wamm K. D. <jaft.r@outlook.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3648,3 +3649,54 @@ (define-public subunit
 command line filters to process a subunit stream and language bindings for
 Python, C, C++ and shell.  Bindings are easy to write for other languages.")
     (license (list license:asl2.0 license:bsd-3)))) ;user can pick
+
+(define-public munit
+  ;; A ton of commits have been made since the last version tag was done (in 
2016)
+  (let ((version "0.2.0")
+        (commit "fbbdf1467eb0d04a6ee465def2e529e4c87f2118")
+        (revision "0"))
+    (package
+      (name "munit")
+      (version (git-version version revision commit))
+      (source (origin
+                (method git-fetch)
+                (uri (git-reference
+                      (url (string-append "https://github.com/nemequ/"; name 
"/"))
+                      (commit commit)))
+                (sha256
+                 (base32 
"13725v4pps2bpndniksa58nqi9gvx0f0900k0rqvp95bxw5z8vda"))))
+      (build-system meson-build-system)
+      (arguments
+       (list
+        #:phases #~(modify-phases %standard-phases
+                     (add-after 'install 'install-lib
+                       (lambda _
+                         (copy-file "libmunit.so"
+                                    (string-append #$output
+                                                   "/lib/libmunit.so")))))))
+      (synopsis "Unit testing framework for C")
+      (description "µnit is a unit testing framework.  Prioritizing a small
+size, it has no dependencies beyond @code{libc}.
+
+Features include:
+@itemize @bullet
+@item
+Assertion macros for nice error messages
+@item
+Reproducible cross-platform random number generation, including support for
+supplying a seed via CLI
+@item
+Timing of both wall-clock and CPU time
+@item
+Parameterized tests
+@item
+Nested test suites
+@item
+Flexible CLI
+@item
+Forking (except on Windows)
+@item
+Hiding output of successful tests
+@end itemize")
+      (home-page "https://nemequ.github.io/munit/";)
+      (license license:expat))))
-- 
2.41.0






reply via email to

[Prev in Thread] Current Thread [Next in Thread]