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

DoneSubmitted by Fredrik Salomonsson.
Details
3 participants
  • Fredrik Salomonsson via web
  • Nicolas Goaziou
  • Fredrik Salomonsson
Owner
unassigned
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
?
Your comment

This issue is archived.

To comment on this conversation send email to 41731@debbugs.gnu.org