aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2019-01-07 14:59:01 +0100
committerLudovic Courtès <ludo@gnu.org>2019-01-07 15:09:30 +0100
commit67eebb19b70acfe997b40d8c7978f9dc0673a4af (patch)
treeb56ea514508ac7dd09ac4f73ab47fb8f1e2ac09c
parent37e461e6f4e68966b914cf5e0fc831a640f7b09b (diff)
downloadguix-67eebb19b70acfe997b40d8c7978f9dc0673a4af.tar
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.
-rw-r--r--gnu/packages/emacs.scm29
-rw-r--r--gnu/packages/llvm.scm29
2 files changed, 29 insertions, 29 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 0c39a9c5ad..33b011c294 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -331,35 +331,6 @@ editor (without an X toolkit)" )
(lambda _
(invoke "mkdir" "-p" "src/deps")))))))))
-(define-public (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)))))))
-
;;;
;;; Emacs hacking.
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)