GNU bug report logs -
#68709
[PATCH] gnu: emacs-citar: Fix autoloads and restore tests
Previous Next
Reported by: Edward Wilson <bienjensu <at> gmail.com>
Date: Thu, 25 Jan 2024 04:35:03 UTC
Severity: normal
Tags: patch
Done: Andrew Tropin <andrew <at> trop.in>
Bug is archived. No further changes may be made.
Full log
Message #13 received at 68709-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Just to let you know, on my side I had written this patch to provide a
more general solution, I don't know if setting a particular emacs
package is a good solution in the long run.
[0001-emacs-build-system-cl-defstruct-autoloads.patch (text/x-patch, inline)]
From d8cbd304da0e4a9a073a213002c9876fe3011fe3 Mon Sep 17 00:00:00 2001
From: Nicolas Graves <ngraves <at> ngraves.fr>
Date: Wed, 15 Nov 2023 08:48:44 +0100
Subject: [PATCH] emacs-build-system: cl-defstruct autoloads.
Change-Id: If46b1d44fcc7f93da58de2573e1515a702c4dd52
---
guix/build/emacs-utils.scm | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm
index 8e12b5b6d4..b7820d6390 100644
--- a/guix/build/emacs-utils.scm
+++ b/guix/build/emacs-utils.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2018, 2020, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
;;; Copyright © 2019 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
;;; Copyright © 2022 Fredrik Salomonsson <plattfot <at> posteo.net>
+;;; Copyright © 2023 Nicolas Graves <ngraves <at> ngraves.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -119,7 +120,14 @@ (define (emacs-generate-autoloads name directory)
((fboundp 'make-directory-autoloads)
;; Emacs 28
(make-directory-autoloads ,directory ,file))
- (t (update-directory-autoloads ,directory))))))
+ (t (update-directory-autoloads ,directory)))
+ (when (file-exists-p ,file)
+ (with-temp-buffer
+ (insert-file-contents ,file)
+ (when (search-forward "(cl-defstruct" nil t)
+ (beginning-of-line)
+ (insert "(require 'cl-lib)\n")
+ (write-region (point-min) (point-max) ,file)))))))
(emacs-batch-eval expr #:dynamic? #t)))
(define* (emacs-byte-compile-directory dir)
--
2.41.0
[Message part 3 (text/plain, inline)]
I'm deleting it from my local guix, feel free to rework on it if useful.
Nicolas
On 2024-01-26 19:49, Andrew Tropin via Guix-patches via wrote:
> On 2024-01-24 22:34, Edward Wilson wrote:
>
>> The default build-system emacs doesn't properly expand cl-lib macros when
>> compiling autoloads. This patch changes the `#:emacs` build argument, fixing a
>> present bug (reproducible by requiring citar-autoloads in a minimal
>> environment). This change also allows the validation of compiled autoloads to
>> succeed, hence the test phase is restored.
>>
>> * gnu/packages/emacs-xyz.scm (emacs-citar): Change build-system emacs and
>> restore tests
>>
>> Change-Id: Id56de922e5220383f8c5015a01e39b4aa2ea8cfb
>> ---
>> gnu/packages/emacs-xyz.scm | 6 ++----
>> 1 file changed, 2 insertions(+), 4 deletions(-)
>>
>> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
>> index ad8c72e97d..b8c97d1767 100644
>> --- a/gnu/packages/emacs-xyz.scm
>> +++ b/gnu/packages/emacs-xyz.scm
>> @@ -23633,6 +23633,7 @@ (define-public emacs-citar
>> (build-system emacs-build-system)
>> (arguments
>> (list
>> + #:emacs emacs-no-x
>> #:tests? #true
>> #:test-command #~(list "emacs" "--batch" "-L" "."
>> "-l" "test/citar-test.el"
>> @@ -23642,10 +23643,7 @@ (define-public emacs-citar
>> #:phases #~(modify-phases %standard-phases
>> (add-before 'build 'set-home
>> (lambda _
>> - (setenv "HOME" "/tmp")))
>> - ;; XXX: The following phase reports bogus errors. Suppress
>> - ;; it for now.
>> - (delete 'validate-compiled-autoloads))))
>> + (setenv "HOME" "/tmp"))))))
>> (propagated-inputs (list emacs-auctex
>> emacs-citeproc-el
>> emacs-embark
>>
>> base-commit: ffc5fefce370f5fc01091869e13fdf525be1e0c0
>
> Hi Edward!
>
> Thank you very much for the fix, added a trailing dot to commit message
> and pushed as
> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=8ae8b9804f
--
Best regards,
Nicolas Graves
This bug report was last modified 1 year and 115 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.