Subject: Re: [bug#28327] [PATCH] gnu: Add emacs-bash-completion.

From: Alex Kost <[email-masked]>
Date: Mon, 04 Sep 2017 21:48:42 +0300

Jan Nieuwenhuizen (2017-09-02 11:11 +0200) wrote:

> ---
>  gnu/packages/emacs.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 612126eb3..f6165ba54 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -59,6 +59,7 @@
>    #:use-module (guix build-system trivial)
>    #:use-module (gnu packages)
>    #:use-module (gnu packages audio)
> +  #:use-module (gnu packages bash)
>    #:use-module (gnu packages code)
>    #:use-module (gnu packages guile)
>    #:use-module (gnu packages gtk)
> @@ -5444,3 +5445,27 @@ key.  Optionally, a mouse pop-up can be added by binding
>  version of Idris, and some features may rely on the latest Git version of
>  Idris.")
>      (license license:gpl3+)))
> +
> +(define-public emacs-batch-completion
> +  (package
> +    (name "emacs-bash-completion")
> +    (version "20170901.1445")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "http://melpa.org/packages/bash-completion-"

Please use the source directly from the upstream, i.e.:

  https://github.com/szermatt/emacs-bash-completion/archive/v2.0.0.tar.gz

There is a problem with MELPA: when there will be a new commit in the
repo, the new melpa tarball will be generated and the previous one
("20170901.1445") will be *removed*, so this package will lose its
source.

> +             version
> +             ".tar"))

I wouldn't leave ‘version’ and ‘".tar"’ on separate lines, but it's a
matter of taste :-)

> +       (sha256
> +        (base32
> +         "12ggygcfhny5sqq18zn6qyyqbh9314niywjagv9nclwxfa0i9pvr"))))
> +    (native-inputs `(("bash" ,bash)))

You probably meant to make this package call this "bash" (btw it should
be 'input', not 'native-input') from store, but this is not enough.  You
also need to patch 'bash-completion-prog' variable using
'emacs-substitute-variables' procedure (see (gnu packages emacs) module
for the examples).

> +    (build-system emacs-build-system)
> +    (home-page "https://github.com/szermatt/emacs-bash-completion")
> +    (synopsis "BASH completion for the shell buffer")
> +    (description
> +     "@code{bash-completion} defines dynamic completion hooks for shell-mode
> +and shell-command prompts that are based on bash completion.
> +")

Please put this quote and parenthesis to the previous line.

> +    (license license:gpl3+)))

I see GPL 2 or later in "bash-completion.el".

-- 
Alex