aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2020-07-11 23:16:27 +0200
committerJulien Lepiller <julien@lepiller.eu>2020-07-11 23:47:37 +0200
commit89c9e647489d9114861082f27f4deb1f00fdf871 (patch)
treeb64969f605af4c587a98ff554430f8a94e2718d0 /gnu
parent12d69fc5745759b11d6e19cdcdad64d34ecd9dd4 (diff)
downloadguix-89c9e647489d9114861082f27f4deb1f00fdf871.tar.gz
guix-89c9e647489d9114861082f27f4deb1f00fdf871.zip
gnu: Add kcov.
* gnu/packages/code.scm (kcov): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/code.scm44
1 files changed, 44 insertions, 0 deletions
diff --git a/gnu/packages/code.scm b/gnu/packages/code.scm
index 6334c97ef2..7a1dfa5c8c 100644
--- a/gnu/packages/code.scm
+++ b/gnu/packages/code.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2019 Hartmut Goebel <h.goebel@goebel-consult.de>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -47,6 +48,8 @@
#:use-module (gnu packages c)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages elf)
#:use-module (gnu packages emacs)
#:use-module (gnu packages gcc)
#:use-module (gnu packages graphviz)
@@ -522,6 +525,47 @@ textual @command{gcov} output to implement the following enhanced
functionality such as HTML output.")
(license license:gpl2+))))
+(define-public kcov
+ (package
+ (name "kcov")
+ (version "38")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/SimonKagstrom/kcov")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0zqg21xwivi16csl6a5wby6679ny01bjaw4am3y4qcgjdyihifp8"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f ;no test target
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'fix-/bin/bash-references
+ (lambda _
+ (substitute* (find-files "src" ".*\\.cc?$")
+ (("/bin/bash") (which "bash"))
+ (("/bin/sh") (which "sh")))
+ #t)))))
+ (inputs
+ `(("curl" ,curl)
+ ("elfutils" ,elfutils)
+ ("libelf" ,libelf)
+ ("zlib" ,zlib)))
+ (native-inputs
+ `(("python" ,python)))
+ (home-page "https://github.com/SimonKagstrom/kcov")
+ (synopsis "Code coverage tester for compiled languages, Python and Bash")
+ (description "Kcov is a FreeBSD/Linux/OSX code coverage tester for compiled
+languages, Python and Bash. Kcov was originally a fork of Bcov, but has since
+evolved to support a large feature set in addition to that of Bcov.
+
+Kcov uses DWARF debugging information for compiled programs to make it
+possible to collect coverage information without special compiler switches.")
+ (license license:gpl2+)))
+
(define-public rtags
(package
(name "rtags")