aboutsummaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLiliana Marie Prikler <liliana.prikler@gmail.com>2024-03-02 16:56:13 +0100
committerLiliana Marie Prikler <liliana.prikler@gmail.com>2024-03-02 16:56:13 +0100
commit7f3f70eedbbec74481a0ca9fea4c19250961685e (patch)
tree6dbe9bb6b9a990735f0ceba7496baa91fbe1bf69 /guix
parent3d4fc910f73220f47e5f2459853333a7c83c5d1d (diff)
downloadguix-7f3f70eedbbec74481a0ca9fea4c19250961685e.tar
guix-7f3f70eedbbec74481a0ca9fea4c19250961685e.tar.gz
guix: emacs-utils: Make emacs-compile-directory forwards-compatible.
Newer (development) builds of Emacs 30 mark a number of functions related to native compilation as ‘internal’. Since we rely on such functions and there does not appear to be a high-level replacement at the moment, let's work around this case. * guix/build/emacs-utils.scm (emacs-compile-directory): Require comp early and check if ‘comp-write-bytecode-file’ is available. Fixes: Upstream renamed comp-write-bytecode-file <https://bugs.gnu.org/69201>
Diffstat (limited to 'guix')
-rw-r--r--guix/build/emacs-utils.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index eca42bf305..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
@@ -152,7 +159,7 @@ If native code is not supported, compile to bytecode instead."
(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))