From 67eebb19b70acfe997b40d8c7978f9dc0673a4af Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 7 Jan 2019 14:59:01 +0100 Subject: 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. --- gnu/packages/llvm.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gnu/packages/llvm.scm') 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) -- cgit v1.2.3