~ruther/guix-local

7f3f70eedbbec74481a0ca9fea4c19250961685e — Liliana Marie Prikler 2 years ago 3d4fc91
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>
1 files changed, 9 insertions(+), 2 deletions(-)

M guix/build/emacs-utils.scm
M guix/build/emacs-utils.scm => guix/build/emacs-utils.scm +9 -2
@@ 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))