summaryrefslogtreecommitdiff
path: root/guix/build/emacs-utils.scm
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2024-04-19 13:17:08 +0100
committerChristopher Baines <mail@cbaines.net>2024-04-19 13:52:11 +0100
commit5fec94f3a3d4c67b748f11847064ed60d67c5ade (patch)
tree9f2c7a21ad8f2c061a8d46aac817e4c68d307086 /guix/build/emacs-utils.scm
parent6931ca9baaaee4c7e85cf3cd5d0f7e4eb5cfd88e (diff)
parent949f97f7f98ac74306b9de79c93790337d804e32 (diff)
Merge remote-tracking branch 'savannah/master' into core-updates
Change-Id: I4f15bcb3e575062c4dd3b6c07a48470300413f24 Conflicts: gnu/local.mk gnu/packages/bioinformatics.scm gnu/packages/dictionaries.scm gnu/packages/display-managers.scm gnu/packages/engineering.scm gnu/packages/geo.scm gnu/packages/gl.scm gnu/packages/glib.scm gnu/packages/gnome-xyz.scm gnu/packages/gnome.scm gnu/packages/gtk.scm gnu/packages/image-processing.scm gnu/packages/linux.scm gnu/packages/mail.scm gnu/packages/patches/eudev-rules-directory.patch gnu/packages/plotutils.scm gnu/packages/sdl.scm gnu/packages/syndication.scm
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))