diff mbox series

[bug#62314] gnu: emacs-buttercup: Fix build with native compilation.

Message ID 87a606c00u.fsf@protonmail.com
State New
Headers show
Series [bug#62314] gnu: emacs-buttercup: Fix build with native compilation. | expand

Commit Message

John Kehayias March 21, 2023, 2:26 a.m. UTC
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

Comments

Nicolas Goaziou March 21, 2023, 9:34 a.m. UTC | #1
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?

Regards,
Nicolas Goaziou March 24, 2023, 9:17 a.m. UTC | #2
Hello,

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

> 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,
John Kehayias March 24, 2023, 7:38 p.m. UTC | #3
Hi,

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

> 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
diff mbox series

Patch

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(+)

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