From bc5d4139c28c10fc5a52466fd2b4182560fed8c6 Mon Sep 17 00:00:00 2001 From: Tim Gesthuizen Date: Mon, 12 Nov 2018 22:27:41 +0100 Subject: [PATCH] * gnu: Add emacs-clang-tooling. --- gnu/packages/emacs.scm | 73 +++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 36 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 3e32998a9..e1e751d4b 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -12490,42 +12490,43 @@ correctly.") @end itemize\n") (license license:gpl3+)))) -(define-public emacs-clang-format - (let ((commit "5556c31528af2661bed3011bd63ffc0ed44e18a0")) - (package - (name "emacs-clang-format") - (version (git-version "0.0.0" "1" commit)) - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/emacsorphanage/clang-format") - (commit commit))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "0ynvnp3vrcpngmwakb23xv4xn7jbkg43s196q7pg9nkl13x4n2nq")))) - (build-system emacs-build-system) - (inputs - `(("clang" ,clang))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'configure - (lambda* (#:key inputs #:allow-other-keys) - (let ((clang (assoc-ref inputs "clang"))) - ;; Repo is read-only. - (chmod "clang-format.el" #o644) - (emacs-substitute-variables "clang-format.el" - ("clang-format-executable" - (string-append clang "/bin/clang-format")))) - #t))))) - (home-page "https://github.com/emacsorphanage/clang-format") - (synopsis "Format code using clang-format") - (description "This package allows to filter code through clang-format to -fix its formatting. @command{clang-format} is a tool that formats C/C++/Obj-C -code according to a set of style options, see -@url{http://clang.llvm.org/docs/ClangFormatStyleOptions.html}.") - (license license:gpl3+)))) +(define-public emacs-clang-tooling + (package + (inherit clang) + (name "emacs-clang-tooling") + (version (package-version clang)) + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/cfe-" version ".src.tar.xz")) + (sha256 (base32 "0rxn4rh7rrnsqbdgp4gzc8ishbkryhpl1kd3mpnxzpxxhla3y93w")) + (snippet + '(begin + (copy-file "tools/clang-rename/clang-rename.el" "clang-rename.el") + (copy-file "tools/clang-format/clang-format.el" "clang-format.el"))))) + (build-system emacs-build-system) + (inputs + `(("clang" ,clang))) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'configure + (lambda* (#:key inputs #:allow-other-keys) + (let ((clang (assoc-ref inputs "clang"))) + ;; Repo is read-only. + (chmod "clang-format.el" #o644) + (emacs-substitute-variables "clang-format.el" + ("clang-format-executable" + (string-append clang "/bin/clang-format"))) + (chmod "clang-rename.el" #o644) + (emacs-substitute-variables "clang-rename.el" + ("clang-rename-binary" + (string-append clang "/bin/clang-rename")))) + #t))))) + (synopsis "Integration of clang-tooling into emacs") + (description "This package provides integration of clang tooling into emacs. +It can be used with C/C++/Obj-C code."))) (define-public emacs-gtk-look (package -- 2.19.1