summary refs log tree commit diff
path: root/gnu/packages/build-tools.scm
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 /gnu/packages/build-tools.scm
parent29ac40e9befb3fb9425e2d457fc52f0898ab24a7 (diff)
downloadguix-6560c4976f775db5b494356df2beaa0fcec6f9c0.tar.gz
gnu: Add compiledb.
* gnu/packages/build-tools.scm (compiledb): New variable.

Signed-off-by: Leo Famulari <leo@famulari.name>
Diffstat (limited to 'gnu/packages/build-tools.scm')
-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)))