GNU bug report logs - #55545
[PATCH] Get ~emacs-promise~ to build in emacs 28

Previous Next

Package: guix-patches;

Reported by: Andrew Patterson <andrewpatt7 <at> gmail.com>

Date: Fri, 20 May 2022 19:58:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 55545 AT debbugs.gnu.org.

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

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


Report forwarded to guix-patches <at> gnu.org:
bug#55545; Package guix-patches. (Fri, 20 May 2022 19:58:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Andrew Patterson <andrewpatt7 <at> gmail.com>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Fri, 20 May 2022 19:58:02 GMT) Full text and rfc822 format available.

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

From: Andrew Patterson <andrewpatt7 <at> gmail.com>
To: guix-patches <at> gnu.org
Subject: [PATCH] Get ~emacs-promise~ to build in emacs 28
Date: Fri, 20 May 2022 15:55:10 -0400
[0001-Get-emacs-promise-to-build-in-emacs-28.patch (text/x-patch, inline)]
From 0df304239efa6dc480e87d2ad833195d15011053 Mon Sep 17 00:00:00 2001
From: Andrew Patterson <andrewpatt7 <at> gmail.com>
Date: Fri, 20 May 2022 15:06:07 -0400
Subject: [PATCH] Get ~emacs-promise~ to build in emacs 28

Emacs 28 added a third required argument to ~define-obsolete-function-alias~
and friends.  Upstream has removed the aliases, but hasn't released a new version.
---
 gnu/packages/emacs-xyz.scm | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index ae81f4e395..ca4dec7795 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -30347,19 +30347,29 @@ (define-public emacs-promise
   (package
     (name "emacs-promise")
     (version "1.1")
-    (source
-     (origin
-       (method git-fetch)
-       (uri (git-reference
-             (url "https://github.com/chuntaro/emacs-promise")
-             (commit version)))
-       (file-name (git-file-name name version))
-       (sha256
-        (base32 "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/chuntaro/emacs-promise")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
     (build-system emacs-build-system)
+    (arguments
+     `(#:phases (modify-phases %standard-phases
+                  (add-after 'unpack 'patch-obsolete
+                    (lambda* _
+                      (substitute* "promise.el"
+                        (("\\(define-obsolete-function-alias (.*) (.*)\\)" _
+                          obsolete cur) (format #f
+                                         "(define-obsolete-function-alias ~a ~a ~a)"
+                                         obsolete cur "\"2020-01-10\""))))))))
     (home-page "https://github.com/chuntaro/emacs-promise")
     (synopsis "Promises/A+ for Emacs")
-    (description "This is a simple implementation of Promises/A+.
+    (description
+     "This is a simple implementation of Promises/A+.
 
 This implementation ports the following Promises/A+ features
 faithfully.  See @url{https://github.com/then/promise}.
@@ -30371,7 +30381,8 @@ (define-public emacs-promise
 @item It supports \"thenable\".
 @item It supports \"Inheritance of Promise\".
 @item It supports \"rejection-tracking\".
-@end itemize\n")
+@end itemize
+")
     (license license:gpl3+)))
 
 (define-public emacs-async-await

base-commit: 598f7289db9955584457ffc11c8504f3938a1618
-- 
2.36.1

[Message part 2 (text/plain, inline)]
-- 
Andrew Patterson

John H. Cochrane is a professor of economics at Chicago, which is 
like being a professor of economics but more so.
   --<https://putanumonit.com/2018/12/14/defense-of-finance/>

Information forwarded to guix-patches <at> gnu.org:
bug#55545; Package guix-patches. (Sun, 05 Jun 2022 19:15:01 GMT) Full text and rfc822 format available.

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

From: Mathieu Othacehe <othacehe <at> gnu.org>
To: Andrew Patterson <andrewpatt7 <at> gmail.com>
Cc: 55545 <at> debbugs.gnu.org
Subject: Re: bug#55545: [PATCH] Get ~emacs-promise~ to build in emacs 28
Date: Sun, 05 Jun 2022 21:14:38 +0200
Hello Andrew,

> -    (source
> -     (origin
> -       (method git-fetch)
> -       (uri (git-reference
> -             (url "https://github.com/chuntaro/emacs-promise")
> -             (commit version)))
> -       (file-name (git-file-name name version))
> -       (sha256
> -        (base32 "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/chuntaro/emacs-promise")
> +                    (commit version)))
> +              (file-name (git-file-name name version))
> +              (sha256
> +               (base32
> +                "1xb34zdbwjvahfhycjphdkm925kgd22dr298c57hwxza4ljc2hxj"))))

This change is not related to the build fix, it shouldn't be part of
this commit.

>      (build-system emacs-build-system)
> +    (arguments
> +     `(#:phases (modify-phases %standard-phases
> +                  (add-after 'unpack 'patch-obsolete
> +                    (lambda* _
> +                      (substitute* "promise.el"
> +                        (("\\(define-obsolete-function-alias (.*) (.*)\\)" _
> +                          obsolete cur) (format #f
> +                                         "(define-obsolete-function-alias ~a ~a ~a)"
> +                                         obsolete cur "\"2020-01-10\""))))))))

This has been fixed upstream, so you could also update the package to
the latest commit, see how it's done in the emacs-libgit package for
instance.

>      (home-page "https://github.com/chuntaro/emacs-promise")
>      (synopsis "Promises/A+ for Emacs")
> -    (description "This is a simple implementation of Promises/A+.
> +    (description
> +     "This is a simple implementation of Promises/A+.
>  
>  This implementation ports the following Promises/A+ features
>  faithfully.  See @url{https://github.com/then/promise}.
> @@ -30371,7 +30381,8 @@ (define-public emacs-promise
>  @item It supports \"thenable\".
>  @item It supports \"Inheritance of Promise\".
>  @item It supports \"rejection-tracking\".
> -@end itemize\n")
> +@end itemize
> +")
>      (license license:gpl3+)))

Those changes also shouldn't be part of this patch.

Could you please send an update version?

Thanks,

Mathieu




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

Previous Next


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