diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-01-07 14:59:01 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-01-07 15:09:30 +0100 |
commit | 67eebb19b70acfe997b40d8c7978f9dc0673a4af (patch) | |
tree | b56ea514508ac7dd09ac4f73ab47fb8f1e2ac09c /gnu/packages/llvm.scm | |
parent | 37e461e6f4e68966b914cf5e0fc831a640f7b09b (diff) | |
download | guix-67eebb19b70acfe997b40d8c7978f9dc0673a4af.tar.gz |
gnu: Fix top-level circular references between emacs.scm and llvm.scm.
Previously, loading either of these two modules could fail somewhat non-deterministically because each top-level was referencing a variable defined by the other module's top-level. * gnu/packages/emacs.scm (package-elisp-from-package): Move to... * gnu/packages/llvm.scm (package-elisp-from-package): Here. Keep private.
Diffstat (limited to 'gnu/packages/llvm.scm')
-rw-r--r-- | gnu/packages/llvm.scm | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm index 6dab9c5195..b1e41d72f9 100644 --- a/gnu/packages/llvm.scm +++ b/gnu/packages/llvm.scm @@ -479,6 +479,35 @@ code analysis tools.") "This package provides a Python binding to LLVM for use in Numba.") (license license:bsd-3))) +(define (package-elisp-from-package source-package package-name + source-files) + "Return a package definition named PACKAGE-NAME that packages the Emacs Lisp +SOURCE-FILES found in SOURCE-PACKAGE." + (let ((orig (package-source source-package))) + (package + (inherit source-package) + (name package-name) + (build-system emacs-build-system) + (source (origin + (method (origin-method orig)) + (uri (origin-uri orig)) + (sha256 (origin-sha256 orig)) + (file-name (string-append package-name "-" + (package-version source-package))) + (modules '((guix build utils) + (srfi srfi-1) + (ice-9 ftw))) + (snippet + `(let* ((source-files (quote ,source-files)) + (basenames (map basename source-files))) + (map copy-file + source-files basenames) + (map delete-file-recursively + (fold delete + (scandir ".") + (append '("." "..") basenames))) + #t))))))) + (define-public emacs-clang-format (package (inherit clang) |