From 3bfc99c74cfc0cf6613f7c39c1f39bbe08b586d0 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 27 Mar 2015 16:12:01 -0500 Subject: [PATCH] gnu: Add Catch. * 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 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 ;;; Copyright © 2015 Paul van der Walt +;;; Copyright © 2015 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,7 +24,9 @@ (define-module (gnu packages check) #: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 @@ (define-public cppunit 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)))