@@ -1649,6 +1649,19 @@ (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)
+ (make-file-writable "flymake-shellcheck.el")
+ (emacs-substitute-sexps "flymake-shellcheck.el"
+ ("defcustom flymake-shellcheck-path"
+ `(or (executable-find "shellcheck")
+ ,(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
From: Morgan Smith <Morgan.J.Smith@outlook.com> * gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck) [inputs]: Add shellcheck. [arguments]: Add substitute-shellcheck-path phase. --- Sorry for the late reply, I didn't see this in my email. People would still have been able to set the variable from their configuration. The value I'm editing just determines the default value. However, I think I came up with a nice solution that should make everyone happy. It first checks if there is shellcheck in your path and only hard codes the path if you don't have it. Apparently Emacs even re-evaluates defcustoms in certain situations so this *might* even work if someone installs shellcheck after this file has been loaded. gnu/packages/emacs-xyz.scm | 13 +++++++++++++ 1 file changed, 13 insertions(+)