gnu: Add compiledb.

* gnu/packages/build-tools.scm (compiledb): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
This commit is contained in:
Yuval Kogman 2020-05-28 20:28:49 -04:00 committed by Leo Famulari
parent 29ac40e9be
commit 6560c4976f
No known key found for this signature in database
GPG key ID: 2646FA30BACA7F08

View file

@ -9,6 +9,7 @@
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,12 +34,14 @@ (define-module (gnu packages build-tools)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages lua)
#:use-module (gnu packages package-management)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ninja)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
@ -310,3 +313,38 @@ (define-public osc
majority of the OBS functionality is available via commands and the rest can
be reached via direct API calls.")
(license license:gpl2+)))
(define-public compiledb
(package
(name "compiledb")
(version "0.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "compiledb" version))
(sha256
(base32 "0vlngsdxfakyl8b7rnvn8h3l216lhbrrydr04yhy6kd03zflgfq6"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'no-compat-shim-dependency
;; shutilwhich is only needed for python 3.3 and earlier
(lambda _
(substitute* "setup.py" (("^ *'shutilwhich'\n") ""))
(substitute* "compiledb/compiler.py" (("shutilwhich") "shutil")))))))
(propagated-inputs
`(("python-bashlex" ,python-bashlex)
("python-click" ,python-click)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page
"https://github.com/nickdiego/compiledb")
(synopsis
"Generate Clang JSON Compilation Database files for make-based build systems")
(description
"@code{compiledb} provides a @code{make} python wrapper script which,
besides executing the make build command, updates the JSON compilation
database file corresponding to that build, resulting in a command-line
interface similar to Bear.")
(license license:gpl3)))