Subject: [bug#75159] [PATCH v2 1/3] gnu: Add trompeloeil.

From: Ashvith Shetty <[email-masked]>
Date: Tue, 31 Dec 2024 23:39:47 +0530

From: Ashvith Shetty <[email-masked]>

* gnu/packages/check.scm (trompeloeil): New variable.

Change-Id: I442cd0b5e84e8f9956b16b7d9235f67d9f5f693e
---
 gnu/packages/check.scm | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 5fef10485b..151c6fb5c4 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -52,6 +52,7 @@
 ;;; Copyright © 2024 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2024 Navid Afkhami <[email-masked]>
 ;;; Copyright © 2024 gemmaro <[email-masked]>
+;;; Copyright © 2024 Ashvith Shetty <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3806,6 +3807,36 @@ (define-public toml-test
 tests.  The output format is JSON.")
     (license license:expat)))
 
+(define-public trompeloeil
+  (package
+    (name "trompeloeil")
+    (version "49")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/rollbear/trompeloeil")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0m4bfzcj033qfk3sihbikrhk9krsdbsqk79nsambnsnqqcgc2903"))))
+    (build-system cmake-build-system)
+    (arguments
+     (list
+      #:configure-flags #~(list "-D TROMPELOEIL_BUILD_TESTS=yes")
+      #:test-target "test/self_test"
+      #:phases #~(modify-phases %standard-phases
+                   (replace 'check
+                     (lambda* (#:key tests? test-target #:allow-other-keys)
+                       (when tests?
+                         (invoke test-target)))))))
+    (native-inputs (list catch2-3))
+    (home-page "https://github.com/rollbear/trompeloeil")
+    (synopsis "Header only C++14 mocking framework")
+    (description
+     "Trompeloeil is a thread-safe header-only mocking framework for C++11/14.")
+    (license license:boost1.0)))
+
 (define-public unittest-cpp
   (package
     (name "unittest-cpp")
-- 
2.46.0