From fda77fbd33933065a3d18f4db60fbf53f5908970 Mon Sep 17 00:00:00 2001
From: Tim Gesthuizen <tim.gesthuizen@yahoo.de>
Date: Fri, 4 Jan 2019 22:34:56 +0100
Subject: [PATCH 5/5] gnu: Use package-elisp-from-package for clangs emacs lisp
files
Use package-elisp-from-package for emacs-clang-format and emacs-clang-rename.
Also remove package-from-clang-elisp-file as it is not needed anymore.
* gnu/packages/llvm.scm (emacs-clang-format): Use package-elisp-from-package
* gnu/packages/llvm.scm (emacs-clang-rename): Use package-elisp-from-package
* gnu/packages/llvm.scm (package-from-clang-elisp-file): Remove function
---
gnu/packages/llvm.scm | 70 ++++++++++---------------------------------
1 file changed, 15 insertions(+), 55 deletions(-)
@@ -39,6 +39,7 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages bootstrap) ;glibc-dynamic-linker
#:use-module (gnu packages compression)
+ #:use-module (gnu packages emacs)
#:use-module (gnu packages libffi)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
@@ -479,69 +480,28 @@ code analysis tools.")
"This package provides a Python binding to LLVM for use in Numba.")
(license license:bsd-3)))
-;;; Returns a package definition that packages an emacs-lisp file from the
-;;; clang source. The package has the name PKGNAME and packages the file
-;;; SRC-FILE from the clang source in its root directory with the name
-;;; TARGET-FILE where SUBST substitutions will be performed on the elisp file
-;;; and SYN and DESC as the package synopsis an description.
-(define (package-from-clang-elisp-file pkgname src-file target-file subst syn desc)
- (package
- (inherit clang)
- (name pkgname)
- (source (let ((orig (package-source clang)))
- (origin
- (method (origin-method orig))
- (uri (origin-uri orig))
- (sha256 (origin-sha256 orig))
- (file-name (string-append pkgname "-" (package-version clang)))
- (modules '((guix build utils)
- (srfi srfi-1)
- (ice-9 ftw)))
- (snippet
- `(begin
- ;; Copy target file to source root and delete all other files
- (copy-file (string-append ,src-file)
- ,target-file)
- (map delete-file-recursively
- (fold delete
- (scandir ".")
- '("." ".." ,target-file)))
- #t)))))
- (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")))
- (emacs-substitute-variables ,target-file
- ,subst))
- #t)))))
- (synopsis syn)
- (description desc)))
-
(define-public emacs-clang-format
- (package-from-clang-elisp-file
+ (package-elisp-from-package
+ clang
"emacs-clang-format"
"tools/clang-format/clang-format.el"
- "clang-format.el"
- '("clang-format-executable"
- (string-append clang "/bin/clang-format"))
- "Format code using clang-format"
- "This package allows to filter code through @code{clang-format}
+ #:inputs `(("clang" ,clang))
+ #:substitutions '("clang-format-executable"
+ (string-append (assoc-ref inputs "clang") "/bin/clang-format"))
+ #:synopsis "Format code using clang-format"
+ #:description "This package allows to filter code through @code{clang-format}
to fix its formatting. @code{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}."))
(define-public emacs-clang-rename
- (package-from-clang-elisp-file
+ (package-elisp-from-package
+ clang
"emacs-clang-rename"
"tools/clang-rename/clang-rename.el"
- "clang-rename.el"
- '("clang-rename-binary"
- (string-append clang "/bin/clang-rename"))
- "Rename every occurrence of a symbol using clang-rename"
- "This package renames every occurrence of a symbol at point
+ #:inputs `(("clang" ,clang))
+ #:substitutions '("clang-rename-binary"
+ (string-append (assoc-ref inputs "clang") "/bin/clang-rename"))
+ #:synopsis "Rename every occurrence of a symbol using clang-rename"
+ #:description "This package renames every occurrence of a symbol at point
using @code{clang-rename}."))
--
2.20.1