On 2024-03-02 16:56, Liliana Marie Prikler wrote:
Toggle quote (45 lines)
> 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>
> ---
> guix/build/emacs-utils.scm | 11 +++++++++--
> 1 file 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 @@ (define* (emacs-compile-directory dir)
> (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 @@ (define* (emacs-compile-directory 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))
>
>
> base-commit: 3d4fc910f73220f47e5f2459853333a7c83c5d1d