guix-devel
[Top][All Lists]
Advanced

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

[PATCH 1/3] gnu: Add Catch.


From: Eric Bavier
Subject: [PATCH 1/3] gnu: Add Catch.
Date: Fri, 27 Mar 2015 16:24:38 -0500

* gnu/packages/check.scm (catch-framework): New variable.
---
 gnu/packages/check.scm |   45 ++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 44 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index afaf557..3e686cc 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012 Nikita Karetnikov <address@hidden>
 ;;; Copyright © 2015 Paul van der Walt <address@hidden>
+;;; Copyright © 2015 Eric Bavier <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,7 +24,9 @@
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix git-download)
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system trivial))
 
 (define-public check
   (package
@@ -99,3 +102,43 @@ with a flexible variety of user interfaces.")
 unit testing.  Test output is in XML for automatic testing and GUI based for
 supervised tests.")
     (license lgpl2.1))) ; no copyright notices. LGPL2.1 is in the tarball
+
+(define-public catch-framework
+  (package
+    (name "catch")
+    (version "1.0.53")                  ;Sub-minor is the build number
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/philsquared/Catch";)
+                    ;; Semi-arbitrary.  Contains mostly documentation fixes
+                    ;; since build 53.
+                    (commit "b9ec8a1")))
+              (file-name (string-append name "-" version))
+              (sha256
+               (base32
+                "05iijiwjwcjbza7qamwd32d0jypi0lpywmilmmj2xh280mcl4dbd"))))
+    (build-system trivial-build-system)
+    (arguments
+     `(#:modules ((guix build utils))
+       #:builder (begin
+                   (use-modules (guix build utils))
+                   (let* ((source (assoc-ref %build-inputs "source"))
+                          (output (assoc-ref %outputs "out"))
+                          (incdir (string-append output "/include"))
+                          (docdir (string-append output "/share/doc/catch-"
+                                                 ,version)))
+                     (begin
+                       (for-each mkdir-p (list incdir docdir))
+                       (copy-file (string-append source
+                                                 "/single_include/catch.hpp")
+                                  (string-append incdir
+                                                 "/catch.hpp"))
+                       (copy-recursively (string-append source "/docs")
+                                         docdir))))))
+    (home-page "http://catch-lib.net/";)
+    (synopsis "Automated test framework for C++ and Objective-C")
+    (description
+     "Catch stands for C++ Automated Test Cases in Headers and is a
+multi-paradigm automated test framework for C++ and Objective-C.")
+    (license boost1.0)))
-- 
1.7.9.5




reply via email to

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