Subject: Re: [bug#42525] [PATCH 1/2] gnu: Add emacs-pretty-hydra.

From: Oleg Pykhalov <[email-masked]>
Date: Sat, 25 Jul 2020 16:20:57 +0300

Hi Joseph,

Joseph LaFreniere <[email-masked]> writes:

> Patch file is attached.  Note that `guix lint` reports "the source file name
> should contain the package name";  I'm not sure how to resolve that.

You could fix this by providing a ‘(file-name (git-file-name name
version))’ as in other Emacs packages.

[…]

> * gnu/packages/emacs-xyz.scm (emacs-pretty-hydra): New variable.
> ---
>  gnu/packages/emacs-xyz.scm | 56 ++++++++++++++++++++++++++++++++++++++
>  1 file changed, 56 insertions(+)
>
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index 55afda50df..147c6b476b 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -649,6 +649,34 @@ process, passing on the arguments as command line arguments.")
>         "Magit-annex adds a few git-annex operations to the Magit interface.")
>        (license license:gpl3+))))
>  
> +(define-public emacs-pretty-hydra
> +  (package
> +    ...
> +    (arguments
> +     `(#:install '("^pretty-hydra\\.el$")))

'emacs-build-system' handles '*.el' files, unless you exclude them with
the recipe bellow.  :-)

[…]

The following duplicates emacs-pretty-hydra above.

> +(define-public emacs-pretty-hydra
> +  (package
> +    (name "emacs-pretty-hydra")
> +    (version "0.2.2")
> +    (source
> +     (origin
> +       (method git-fetch)
> +       (uri (git-reference
> +             (url "https://github.com/jerrypnz/major-mode-hydra.el.git")
> +             (commit version)))
> +       (sha256
> +        (base32
> +         "08a15knkdq35pzjq82imff016fbfdib5q4glg2xmdy2b5fnk7jqa"))))
> +    (build-system emacs-build-system)
> +    (propagated-inputs
> +     `(("emacs-dash" ,emacs-dash)
> +       ("emacs-hydra" ,emacs-hydra)
> +       ("emacs-s" ,emacs-s)))
> +    (arguments
> +     `(#:exclude (cons "^major-mode-hydra\\.el" %default-exclude)))

As I see there is no reason to exclude or include '*.el'.

Also could you take a look on running a test suite?

Thanks,
Oleg.