[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

Debbugs page

John Kehayias wrote 2 years ago
(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
Nicolas Goaziou wrote 2 years ago
(name . John Kehayias via Guix-patches via)(address . guix-patches@gnu.org)(name . John Kehayias)(address . john.kehayias@protonmail.com)(address . 62314@debbugs.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
Nicolas Goaziou wrote 2 years ago
(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
John Kehayias wrote 2 years ago
(name . Nicolas Goaziou)(address . mail@nicolasgoaziou.fr)(address . 62314@debbugs.gnu.org)(name . John Kehayias via Guix-patches via)(address . guix-patches@gnu.org)
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
?
Your comment

This issue is archived.

To comment on this conversation send an email to 62314@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 62314
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help