[PATCH] gnu: emacs-buttercup: Fix build with native compilation.

  • Done
  • quality assurance status badge
Details
2 participants
  • John Kehayias
  • Nicolas Goaziou
Owner
unassigned
Submitted by
John Kehayias
Severity
normal
J
J
John Kehayias wrote on 21 Mar 2023 03:26
(name . Guix-patches)(address . guix-patches@gnu.org)
87a606c00u.fsf@protonmail.com
Hi Guix,

Here's a patch to fix emacs-buttercup failing with native-comp, i.e. guix build emacs-buttercup --with-input=emacs-minimal=emacs.

Here is the link to the upstream issue: https://github.com/jorgenschaefer/emacs-buttercup/issues/236

In short, it should be fixed but the fix used a variable name in current git Emacs which is different in the current release. So this patch adds the older variable name with the same fix.

I checked that it lints and native-comp and regular both build. I'll wait for QA to check for any other breakages. And I welcome any input on the commit message/code comment here.

Thanks!
John
From e6a0fda045ef016845c1b247c1b57074702a9b59 Mon Sep 17 00:00:00 2001
From: John Kehayias <john.kehayias@protonmail.com>
Date: Mon, 20 Mar 2023 22:13:40 -0400
Subject: [PATCH] gnu: emacs-buttercup: Fix build with native compilation.
The spy-on test fails with native compilation, which was fixed in v1.30 but
with a variable name for newer versions than stable Emacs. Here we add the
same fix but using the current variable name.
* gnu/packages/emacs-xyz.scm (emacs-buttercup)[phases]{fix-spy-on-test}: New
phase.
---
gnu/packages/emacs-xyz.scm | 9 +++++++++
1 file changed, 9 insertions(+)
Toggle diff (22 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 0a1846ea4c..74968d421b 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -27141,6 +27141,15 @@ (define-public emacs-buttercup
#:test-command #~(list "make" "test")
#:phases
#~(modify-phases %standard-phases
+ (add-after 'unpack 'fix-spy-on-test
+ (lambda _
+ (substitute* "buttercup.el"
+ ;; The spy-on test fails with native compilation, which was
+ ;; fixed in v1.30 but with a variable name for Emacs newer
+ ;; than 28.2. Add in the same fix with the current variable
+ ;; name. Upstream bug and fix:
+ ;; <https://github.com/jorgenschaefer/emacs-buttercup/issues/236>
+ (("61880") "61880\n(comp-enable-subr-trampolines nil)\n"))))
(add-after 'install 'install-bin
(lambda _
(install-file "bin/buttercup"
--
2.39.2
N
N
Nicolas Goaziou wrote on 21 Mar 2023 10:34
(name . John Kehayias via Guix-patches via)(address . guix-patches@gnu.org)
87355y30so.fsf@nicolasgoaziou.fr
Hello,

John Kehayias via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (3 lines)
> Subject: [PATCH] gnu: emacs-buttercup: Fix build with native
> compilation.

Thank you.

Toggle quote (10 lines)
> + (add-after 'unpack 'fix-spy-on-test
> + (lambda _
> + (substitute* "buttercup.el"
> + ;; The spy-on test fails with native compilation, which was
> + ;; fixed in v1.30 but with a variable name for Emacs newer
> + ;; than 28.2. Add in the same fix with the current variable
> + ;; name. Upstream bug and fix:
> + ;; <https://github.com/jorgenschaefer/emacs-buttercup/issues/236>
> + (("61880") "61880\n(comp-enable-subr-trampolines nil)\n"))))

Nitpick: I'm surprised by the choice of your anchor: 61880 is at the end
of a comment. Wouldn't

(("\\(native-comp-enable-subr-trampolines nil\\)" all)
(string-append all "\n(comp-enable-subr-trampolines nil)"))

be more explicit?

Regards,
--
Nicolas Goaziou
N
N
Nicolas Goaziou wrote on 24 Mar 2023 10:17
(address . 62314-done@debbugs.gnu.org)
878rfmzexl.fsf@nicolasgoaziou.fr
Hello,

John Kehayias via Guix-patches via <guix-patches@gnu.org> writes:

Toggle quote (2 lines)
> Here's a patch to fix emacs-buttercup failing with native-comp, i.e. guix build emacs-buttercup --with-input=emacs-minimal=emacs.

Applied, with my suggested change. Thanks.

Regards,
--
Nicolas Goaziou
Closed
J
J
John Kehayias wrote on 24 Mar 2023 20:38
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)
87355uaqip.fsf@protonmail.com
Hi,

On Tue, Mar 21, 2023 at 10:34 AM, Nicolas Goaziou wrote:

Toggle quote (27 lines)
> Hello,
>
> John Kehayias via Guix-patches via <guix-patches@gnu.org> writes:
>
>> Subject: [PATCH] gnu: emacs-buttercup: Fix build with native
>> compilation.
>
> Thank you.
>
>> + (add-after 'unpack 'fix-spy-on-test
>> + (lambda _
>> + (substitute* "buttercup.el"
>> + ;; The spy-on test fails with native compilation, which was
>> + ;; fixed in v1.30 but with a variable name for Emacs newer
>> + ;; than 28.2. Add in the same fix with the current variable
>> + ;; name. Upstream bug and fix:
>> + ;; <https://github.com/jorgenschaefer/emacs-buttercup/issues/236>
>> + (("61880") "61880\n(comp-enable-subr-trampolines nil)\n"))))
>
> Nitpick: I'm surprised by the choice of your anchor: 61880 is at the end
> of a comment. Wouldn't
>
> (("\\(native-comp-enable-subr-trampolines nil\\)" all)
> (string-append all "\n(comp-enable-subr-trampolines nil)"))
>
> be more explicit?

TIL what the second part of the first form for substitute is...thanks for that! Yes, that is better and something I will use in the future. Thanks also for pushing!

John
?