From 6560c4976f775db5b494356df2beaa0fcec6f9c0 Mon Sep 17 00:00:00 2001 From: Yuval Kogman Date: Thu, 28 May 2020 20:28:49 -0400 Subject: gnu: Add compiledb. * gnu/packages/build-tools.scm (compiledb): New variable. Signed-off-by: Leo Famulari --- gnu/packages/build-tools.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) 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 ;;; Copyright © 2019 Jonathan Brielmaier ;;; Copyright © 2020 Leo Prikler +;;; Copyright © 2020 Yuval Kogman ;;; ;;; 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))) -- cgit v1.2.3