[PATCH] gnu: Add emacs-flymake-shellcheck.

  • Done
  • quality assurance status badge
Details
3 participants
  • Fredrik Salomonsson via web
  • Nicolas Goaziou
  • Fredrik Salomonsson
Owner
unassigned
Submitted by
Fredrik Salomonsson
Severity
normal
F
F
Fredrik Salomonsson wrote on 6 Jun 2020 01:33
(address . guix-patches@gnu.org)(name . Fredrik Salomonsson)(address . plattfot@gmail.com)
20200605233349.140049-1-plattfot@gmail.com
* gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck): New variable.
---
gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6110374281..73d030f239 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -992,6 +992,34 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+)))) ;+GFDLv1.3+ for the manual
+(define-public emacs-flymake-shellcheck
+ ;; No tag, version grabbed from source .el file.
+ (let ((commit "78956f0e5bb9c4d35989657a55929e8e3f5691e6")
+ (revision "0"))
+ (package
+ (name "emacs-flymake-shellcheck")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/federicotdn/flymake-shellcheck.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "068mx5p4drwgppy4ry1rfq6qi79w6d82b4rnpl2jm37grsg94lix"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("shellcheck" ,shellcheck)))
+ (home-page "https://github.com/federicotdn/flymake-shellcheck")
+ (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
+ (description
+ "This package provides a backend for Flymake (emacs-26+) to use the
+tool @command{shellcheck} for static analyzing @command{bash} and @command{sh}
+scripts. Please see the description on @command{shellcheck} for more
+information on what it can do.")
+ (license license:gpl3+))))
+
(define-public emacs-a
(package
(name "emacs-a")
--
2.26.2
N
N
Nicolas Goaziou wrote on 6 Jun 2020 09:44
(name . Fredrik Salomonsson)(address . plattfot@gmail.com)(address . 41731@debbugs.gnu.org)
871rmsab9j.fsf@nicolasgoaziou.fr
Hello,

Fredrik Salomonsson <plattfot@gmail.com> writes:

Toggle quote (2 lines)
> * gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck): New variable.

Thank you. Some comments follow.

Toggle quote (3 lines)
> + (propagated-inputs
> + `(("shellcheck" ,shellcheck)))

I don't think we should do that. It is up to the user to install
ShellCheck if they want.

For example, installing `emacs-flycheck-haskell' doesn't pull GHC in
user's profile.

Toggle quote (5 lines)
> + (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
> + (description
> + "This package provides a backend for Flymake (emacs-26+) to use the

Nitpick: you can remove the (emacs-26+) part.

Toggle quote (2 lines)
> +tool @command{shellcheck} for static analyzing @command{bash} and @command{sh}

Nitpick: since you seem to talk about the tool as a whole, I suggest:

@command{shellcheck} -> ShellCheck

Toggle quote (3 lines)
> +scripts. Please see the description on @command{shellcheck} for more
> +information on what it can do."

I think you can remove the last sentence.

Could you send an updated patch?

Regards,

--
Nicolas Goaziou
F
F
Fredrik Salomonsson wrote on 6 Jun 2020 18:55
[PATCH] gnu: Add emacs-flymake-shellcheck.
(address . 41731@debbugs.gnu.org)(name . Fredrik Salomonsson)(address . plattfot@gmail.com)
20200606165512.2471-1-plattfot@gmail.com
* gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck): New variable.
---
gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (41 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6110374281..73d030f239 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -992,6 +992,34 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+)))) ;+GFDLv1.3+ for the manual
+(define-public emacs-flymake-shellcheck
+ ;; No tag, version grabbed from source .el file.
+ (let ((commit "78956f0e5bb9c4d35989657a55929e8e3f5691e6")
+ (revision "0"))
+ (package
+ (name "emacs-flymake-shellcheck")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/federicotdn/flymake-shellcheck.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "068mx5p4drwgppy4ry1rfq6qi79w6d82b4rnpl2jm37grsg94lix"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("shellcheck" ,shellcheck)))
+ (home-page "https://github.com/federicotdn/flymake-shellcheck")
+ (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
+ (description
+ "This package provides a backend for Flymake (emacs-26+) to use the
+tool @command{shellcheck} for static analyzing @command{bash} and @command{sh}
+scripts. Please see the description on @command{shellcheck} for more
+information on what it can do.")
+ (license license:gpl3+))))
+
(define-public emacs-a
(package
(name "emacs-a")
--
2.26.2
F
F
Fredrik Salomonsson via web wrote on 6 Jun 2020 18:58
(address . 41731@debbugs.gnu.org)
7fb6383380f0.6fc48000b697ae9@guile.gnu.org
Thanks for the feedback.
I was debating to myself whether to include shellcheck or not. As when I looked around in emacs-xyz.scm, for example `emacs-ag' does propagate the-silver-searcher but `emacs-direnv' does not.

Anyway, I removed it in the latest patch.
F
F
Fredrik Salomonsson wrote on 6 Jun 2020 19:01
(address . 41731@debbugs.gnu.org)(name . Fredrik Salomonsson)(address . plattfot@gmail.com)
20200606170137.3343-1-plattfot@gmail.com
* gnu/packages/emacs-xyz.scm (emacs-flymake-shellcheck): New variable.
---
gnu/packages/emacs-xyz.scm | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)

Toggle diff (38 lines)
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6110374281..d957497a06 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -992,6 +992,31 @@ different tools. It highlights errors and warnings inline in the buffer, and
provides an optional IDE-like error list.")
(license license:gpl3+)))) ;+GFDLv1.3+ for the manual
+(define-public emacs-flymake-shellcheck
+ ;; No tag, version grabbed from source .el file.
+ (let ((commit "78956f0e5bb9c4d35989657a55929e8e3f5691e6")
+ (revision "0"))
+ (package
+ (name "emacs-flymake-shellcheck")
+ (version (git-version "0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/federicotdn/flymake-shellcheck.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "068mx5p4drwgppy4ry1rfq6qi79w6d82b4rnpl2jm37grsg94lix"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/federicotdn/flymake-shellcheck")
+ (synopsis "Flymake backend for Bash/Sh powered by ShellCheck")
+ (description
+ "This package provides a backend for Flymake to use the
+tool ShellCheck for static analyzing @command{bash} and @command{sh}
+scripts.")
+ (license license:gpl3+))))
+
(define-public emacs-a
(package
(name "emacs-a")
--
2.26.2
F
F
Fredrik Salomonsson wrote on 6 Jun 2020 19:04
(address . 41731@debbugs.gnu.org)
CABZcOARiY0Kuwq19QyXKh1=SG4XNO-GYx52QL=RzRkiob=64nQ@mail.gmail.com
Sorry, sent the old patch again. The last one should be the correct one.

--
s/Fred[re]+i[ck]+/Fredrik/g
Attachment: file
N
N
Nicolas Goaziou wrote on 7 Jun 2020 21:22
Re: [bug#41731] [PATCH] gnu: Add emacs-flymake-shellcheck.
(name . Fredrik Salomonsson via web)(address . issues.guix.gnu.org@elephly.net)(address . 41731-done@debbugs.gnu.org)
875zc27kaa.fsf@nicolasgoaziou.fr
Hello,

Fredrik Salomonsson via web <issues.guix.gnu.org@elephly.net> writes:

Toggle quote (4 lines)
> I was debating to myself whether to include shellcheck or not. As when
> I looked around in emacs-xyz.scm, for example `emacs-ag' does
> propagate the-silver-searcher but `emacs-direnv' does not.

emacs-ag package contains a comment explaining why the propagated inputs
is required.

Sometimes, it is unavoidable, but usage of propagated-inputs should be
as limited as possible.

Toggle quote (2 lines)
> Anyway, I removed it in the latest patch.

Thank you. I applied your patch.

Regards,

--
Nicolas Goaziou
Closed
?