From 89c9e647489d9114861082f27f4deb1f00fdf871 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 11 Jul 2020 23:16:27 +0200 Subject: gnu: Add kcov. * gnu/packages/code.scm (kcov): New variable. --- gnu/packages/code.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) (limited to 'gnu/packages/code.scm') 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 ;;; Copyright © 2020 Maxim Cournoyer ;;; Copyright © 2020 Marius Bakke +;;; Copyright © 2020 Julien Lepiller ;;; ;;; 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") -- cgit v1.2.3