From 0df304239efa6dc480e87d2ad833195d15011053 Mon Sep 17 00:00:00 2001 From: Andrew Patterson 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