summaryrefslogtreecommitdiff
path: root/guix/build/emacs-utils.scm
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2024-03-31 20:46:45 -0400
committerJohn Kehayias <john.kehayias@protonmail.com>2024-03-31 20:46:45 -0400
commit155f23a52e626e8ac60f818937d5bb1a3ebe3184 (patch)
treea19317812471db31ae2a97844d6cf74e45057466 /guix/build/emacs-utils.scm
parentd9dee5ea2f564fa6979ae552fd9bd5ac22f86ecc (diff)
parent1cba1f8ce6f84c4737650401c0eb0473a45f9ff7 (diff)
Merge branch 'master' into mesa-updates
Change-Id: I4cd94a58b62d8c3987e4a60c76b37894ad851e35
Diffstat (limited to 'guix/build/emacs-utils.scm')
-rw-r--r--guix/build/emacs-utils.scm15
1 files changed, 12 insertions, 3 deletions
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 8e12b5b6d4..aeb364133a 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -136,7 +136,14 @@ If native code is not supported, compile to bytecode instead."
(emacs-batch-eval
`(let ((byte-compile-debug t) ; for proper exit status
(byte+native-compile (native-comp-available-p))
- (files (directory-files-recursively ,dir "\\.el$")))
+ (files (directory-files-recursively ,dir "\\.el$"))
+ (write-bytecode
+ (and (native-comp-available-p)
+ (progn
+ (require 'comp)
+ (if (fboundp 'comp-write-bytecode-file)
+ 'comp-write-bytecode-file
+ 'comp--write-bytecode-file)))))
(mapc
(lambda (file)
(let (byte-to-native-output-buffer-file
@@ -146,11 +153,13 @@ If native code is not supported, compile to bytecode instead."
(cadr native-comp-eln-load-path))))
(if byte+native-compile
(native-compile file
- (comp-el-to-eln-filename file eln-dir))
+ (comp-el-to-eln-filename
+ (file-relative-name file ,dir)
+ eln-dir))
(byte-compile-file file))
;; After native compilation, write the bytecode file.
(unless (null byte-to-native-output-buffer-file)
- (comp-write-bytecode-file nil))))
+ (funcall write-bytecode nil))))
files))
#:dynamic? #t))