Subject: [bug#34482] [PATCH 2/3] gnu: Add cxxtest.

From: Kei Kebreau <[email-masked]>
Date: Fri, 15 Feb 2019 07:26:23 -0500

* gnu/packages/check.scm (cxxtest): New variable.
---
 gnu/packages/check.scm | 47 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 46 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index d689c96648..6f4ba579eb 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -22,7 +22,7 @@
 ;;; Copyright © 2017, 2018 Arun Isaac <[email-masked]>
 ;;; Copyright © 2017 Frederick M. Muriithi <[email-masked]>
 ;;; Copyright © 2017 Mathieu Othacehe <[email-masked]>
-;;; Copyright © 2017 Kei Kebreau <[email-masked]>
+;;; Copyright © 2017, 2019 Kei Kebreau <[email-masked]>
 ;;; Copyright © 2017 Nils Gillmann <[email-masked]>
 ;;; Copyright © 2015, 2017, 2018 Ricardo Wurmus <[email-masked]>
 ;;; Copyright © 2016, 2017, 2018 Marius Bakke <[email-masked]>
@@ -324,6 +324,51 @@ normally do not detect.  The goal is to detect only real errors in the code
 (i.e. have zero false positives).")
     (license license:gpl3+)))
 
+(define-public cxxtest
+  (package
+    (name "cxxtest")
+    (version "4.4")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/cxxtest/cxxtest/"
+                                  version "/cxxtest-" version ".tar.gz"))
+              (sha256
+               (base32
+                "1n7pbj4z9ivx005hqvivj9ddhq8awynzg6jishfbypf6j7ply58w"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'chdir-to-source
+           (lambda _
+             (chdir "python")
+             #t))
+         (add-after 'install 'install-headers
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (include-dir (string-append out "/include/cxxtest")))
+               (for-each (lambda (header-file)
+                           (install-file header-file include-dir))
+                         (find-files "../cxxtest"))
+               #t)))
+         (add-after 'install 'install-doc
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (doc-dir (string-append out "/share/doc/cxxtest")))
+               (install-file "../README" doc-dir)
+               (install-file "../doc/guide.txt" doc-dir)
+               (copy-recursively "../sample" (string-append doc-dir "/sample"))
+               #t))))))
+    (propagated-inputs
+     `(("python-ply" ,python-ply)))
+    (home-page "https://cxxtest.com/")
+    (synopsis "Unit testing framework for C++")
+    (description "CxxTest is a unit testing framework for C++ that is similar
+in spirit to JUnit, CppUnit, and xUnit.  CxxTest does not require precompiling
+a CxxTest testing library, it employs no advanced features of C++ (e.g. RTTI)
+and it supports a very flexible form of test discovery.")
+    (license license:lgpl3+)))
+
 (define-public go-gopkg.in-check.v1
   (let ((commit "20d25e2804050c1cd24a7eea1e7a6447dd0e74ec")
         (revision "0"))
-- 
2.20.1