unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: Tim Gesthuizen <tim.gesthuizen@yahoo.de>
To: 33359@debbugs.gnu.org
Subject: bug#33359: On emacs-clang-format
Date: Mon, 12 Nov 2018 22:40:13 +0100	[thread overview]
Message-ID: <dbdd6fc0-e6c7-6f7a-f140-c742bcdf2734@yahoo.de> (raw)


[-- Attachment #1.1.1: Type: text/plain, Size: 857 bytes --]

Hi,
I noticed that someone packaged emacs-clang-format.
There are some problems with the current package definition:

- clang already distributes the same functionality (Maybe I am missing a
  feature that clangs version does not have though).
- The package also includes integration for clang-rename.
- The package should probably have a more generic name and function as a
  package for all emacs integration clang offers.
- The clang package is installing the same files under share/clang.
  Maybe those should be removed.
- The license is incorrect. The version that is cloned from github
  also seems to have some licensing issues (Missing full license...)

You'll find an example package definition attached.
This can probably be optimized a little bit more so that the full clang
tarball does not need to be extracted twice.

Tim.

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.1.2: 0001-gnu-Add-emacs-clang-tooling.patch --]
[-- Type: text/x-patch; name="0001-gnu-Add-emacs-clang-tooling.patch", Size: 3805 bytes --]

From bc5d4139c28c10fc5a52466fd2b4182560fed8c6 Mon Sep 17 00:00:00 2001
From: Tim Gesthuizen <tim.gesthuizen@yahoo.de>
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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

             reply	other threads:[~2018-11-12 21:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-12 21:40 Tim Gesthuizen [this message]
2018-11-14 10:25 ` bug#33359: On emacs-clang-format Ludovic Courtès
2018-11-14 10:48   ` Pierre Neidhardt
2018-11-14 15:56     ` Tim Gesthuizen
2018-11-26 13:54       ` Pierre Neidhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=dbdd6fc0-e6c7-6f7a-f140-c742bcdf2734@yahoo.de \
    --to=tim.gesthuizen@yahoo.de \
    --cc=33359@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).