aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-03-27 16:12:01 -0500
committerEric Bavier <bavier@member.fsf.org>2015-03-29 14:28:11 -0500
commit3bfc99c74cfc0cf6613f7c39c1f39bbe08b586d0 (patch)
treeaf67e208dc708cb66ae77f67263d1b6d8f454321
parent2babe98e4e24ed91bbda9ad2e89731c1f345a75e (diff)
downloadpatches-3bfc99c74cfc0cf6613f7c39c1f39bbe08b586d0.tar
patches-3bfc99c74cfc0cf6613f7c39c1f39bbe08b586d0.tar.gz
gnu: Add Catch.
* gnu/packages/check.scm (catch-framework): New variable.
-rw-r--r--gnu/packages/check.scm45
1 files changed, 44 insertions, 1 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index afaf5571e5..3e686cc743 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 <nikita@karetnikov.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; 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)))