GNU bug report logs - #68709
[PATCH] gnu: emacs-citar: Fix autoloads and restore tests

Previous Next

Package: guix-patches;

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.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 68709 in the body.
You can then email your comments to 68709 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org:
bug#68709; Package guix-patches. (Thu, 25 Jan 2024 04:35:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Edward Wilson <bienjensu <at> gmail.com>:
New bug report received and forwarded. Copy sent to andrew <at> trop.in, cox.katherine.e+guix <at> gmail.com, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org. (Thu, 25 Jan 2024 04:35:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Edward Wilson <bienjensu <at> gmail.com>
To: guix-patches <at> gnu.org
Cc: Edward Wilson <bienjensu <at> gmail.com>
Subject: [PATCH] gnu: emacs-citar: Fix autoloads and restore tests
Date: Wed, 24 Jan 2024 22:34:40 +0000
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
-- 
2.41.0





Reply sent to Andrew Tropin <andrew <at> trop.in>:
You have taken responsibility. (Fri, 26 Jan 2024 16:50:02 GMT) Full text and rfc822 format available.

Notification sent to Edward Wilson <bienjensu <at> gmail.com>:
bug acknowledged by developer. (Fri, 26 Jan 2024 16:50:02 GMT) Full text and rfc822 format available.

Message #10 received at 68709-done <at> debbugs.gnu.org (full text, mbox):

From: Andrew Tropin <andrew <at> trop.in>
To: Edward Wilson <bienjensu <at> gmail.com>, 68709-done <at> debbugs.gnu.org
Cc: Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Edward Wilson <bienjensu <at> gmail.com>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#68709] [PATCH] gnu: emacs-citar: Fix autoloads and restore
 tests
Date: Fri, 26 Jan 2024 19:49:12 +0300
[Message part 1 (text/plain, inline)]
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,
Andrew Tropin
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#68709; Package guix-patches. (Sat, 27 Jan 2024 12:21:02 GMT) Full text and rfc822 format available.

Message #13 received at 68709-done <at> debbugs.gnu.org (full text, mbox):

From: Nicolas Graves <ngraves <at> ngraves.fr>
To: Andrew Tropin <andrew <at> trop.in>, Edward Wilson <bienjensu <at> gmail.com>,
 68709-done <at> debbugs.gnu.org
Cc: Katherine Cox-Buday <cox.katherine.e+guix <at> gmail.com>,
 Edward Wilson <bienjensu <at> gmail.com>,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: bug#68709: [PATCH] gnu: emacs-citar: Fix autoloads and restore
 tests
Date: Sat, 27 Jan 2024 13:20:20 +0100
[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

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 24 Feb 2024 12:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 114 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.