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 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at> ;;; Copyright © 2020 Leo Prikler <leo.prikler@student.tugraz.at>
;;; Copyright © 2020 Yuval Kogman <nothingmuch@woobling.org>
;;; ;;;
;;; This file is part of GNU Guix. ;;; 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 git-download)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages lua) #:use-module (gnu packages lua)
#:use-module (gnu packages package-management) #:use-module (gnu packages package-management)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages python-crypto) #:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web) #:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages ninja) #:use-module (gnu packages ninja)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python)) #: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 majority of the OBS functionality is available via commands and the rest can
be reached via direct API calls.") be reached via direct API calls.")
(license license:gpl2+))) (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)))