summaryrefslogtreecommitdiff
path: root/gnu/packages/check.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r--gnu/packages/check.scm54
1 files changed, 52 insertions, 2 deletions
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index afaf5571e5..5349ede0fa 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -1,6 +1,8 @@
;;; 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>
+;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -23,7 +25,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
@@ -86,12 +90,18 @@ with a flexible variety of user interfaces.")
(version "1.12.1")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/cppunit/" name "/"
+ (uri (string-append "mirror://sourceforge/cppunit/" name "/"
name "-"
version ".tar.gz"))
(sha256
(base32
"0jm49v5rmc5qw34vqs56gy8xja1dhci73bmh23cig4kcir6a0a5c"))))
+ ;; Explicitly link with libdl. This is expected to be done by packages
+ ;; relying on cppunit for their tests. However, not all of them do.
+ ;; If we added the linker flag to such packages, we would pollute all
+ ;; binaries, not only those used for testing.
+ (arguments
+ `(#:make-flags '("LDFLAGS=-ldl")))
(build-system gnu-build-system)
(home-page "http://sourceforge.net/projects/cppunit/")
(synopsis "Unit testing framework for C++")
@@ -99,3 +109,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)))