[PATCH] gnu: Add munit.

  • Open
  • quality assurance status badge
Details
One participant
  • Wamm K. D
Owner
unassigned
Submitted by
Wamm K. D
Severity
normal
W
W
Wamm K. D wrote on 26 Nov 2023 10:19
(address . guix-patches@gnu.org)(name . Wamm K. D)(address . jaft.r@outlook.com)
BY5PR07MB7029B33C3C4BEC6F9CE0CE3299BEA@BY5PR07MB7029.namprd07.prod.outlook.com
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(+)

Toggle diff (69 lines)
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
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 67454@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 67454
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch