Subject: [bug#51364] [PATCH] gnu: emacs-flymake-shellcheck: Add shellcheck as an input

From: Efraim Flashner <[email-masked]>
Date: Mon, 25 Oct 2021 14:39:40 +0300

On Sat, Oct 23, 2021 at 06:21:28PM -0400, [email-masked] wrote:
> From: Morgan Smith <[email-masked]>
> 
> * gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck)
> [inputs]: Add shellcheck.
> [arguments]: Add substitute-shellcheck-path phase.
> ---
>  gnu/packages/emacs-xyz.scm | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
> index aeb6aa4aba..602e6067a4 100644
> --- a/gnu/packages/emacs-xyz.scm
> +++ b/gnu/packages/emacs-xyz.scm
> @@ -1649,6 +1649,18 @@ (define-public emacs-flymake-shellcheck
>           (sha256
>            (base32 "04yfb4sy41spjzk9mhm4gy0h8vnjx09p2g6nm1yzgd9a5ph9sqgl"))))
>        (build-system emacs-build-system)
> +      (arguments
> +       '(#:phases
> +         (modify-phases %standard-phases
> +           (add-after 'unpack 'substitute-shellcheck-path
> +             (lambda* (#:key inputs #:allow-other-keys)
> +               (chmod "flymake-shellcheck.el" #o644)

This line I'd change to
(make-file-writable "flymake-shellcheck.el")

> +               (emacs-substitute-variables "flymake-shellcheck.el"
> +                 ("flymake-shellcheck-path"
> +                  (string-append (assoc-ref inputs "shellcheck")
> +                                 "/bin/shellcheck"))))))))
> +      (inputs
> +       `(("shellcheck" ,shellcheck)))
>        (home-page "https://github.com/federicotdn/flymake-shellcheck")
>        (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
>        (description
> -- 
> 2.33.1
> 

I'm not sure about hardcoding the path to shellcheck and removing the
option to override it in the normal way of the file, by setting
flymake-shellcheck-path¹. I am not sure of the exact return value of
(executable-find "shellcheck") but it seems safer to replace that.

Can you send an updated patch?

¹ I assume, I don't actually use emacs

-- 
Efraim Flashner   <[email-masked]>   רנשלפ םירפא
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted