diff options
Diffstat (limited to 'gnu/packages/check.scm')
-rw-r--r-- | gnu/packages/check.scm | 54 |
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))) |