summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuval Kogman <nothingmuch@woobling.org>2020-05-28 20:28:49 -0400
committerLeo Famulari <leo@famulari.name>2020-05-28 20:31:20 -0400
commit6560c4976f775db5b494356df2beaa0fcec6f9c0 (patch)
treea98baeac59eb6ca1c2d5b8a50cb9999a0a502954
parent29ac40e9befb3fb9425e2d457fc52f0898ab24a7 (diff)
gnu: Add compiledb.
* gnu/packages/build-tools.scm (compiledb): New variable. Signed-off-by: Leo Famulari <leo@famulari.name>
-rw-r--r--gnu/packages/build-tools.scm38
1 files changed, 38 insertions, 0 deletions
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index a8ffa56bc6..9ff32b22f9 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -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 @@
#: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 @@ Service. It allows you to checkout, commit, perform reviews etc. The vast
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)))