Subject: [bug#40301] [PATCH] Fixed some issues with the patches.

From: John Soo <[email-masked]>
Date: Sat, 11 Apr 2020 17:45:47 -0700

Hi Nicolas,

Nicolas Goaziou <[email-masked]> writes:

>> +(define-public emacs-psc-ide
>> +  (package
>> +    (name "emacs-psc-ide")
>> +    (version "0.0.0")
>
> According to "Version:" keyword in "psc-ide.el", it is "0.1.0". Also,
> you need to add a revision number, "0", or "1" at this point.
> ...
>> +    (source
>> +     (origin
>> +       (method git-fetch)
>> +       (uri
>> +        (git-reference
>> +         (url "https://github.com/purescript-emacs/psc-ide-emacs")
>> +         (commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe")))
>
> The commit should be moved in a top-level `let' at the beginning of the
> package definition.
>
>> +       (file-name (git-file-name name "0.0.0"))
>
> This should use version, along with the revision number.
>> +    (synopsis "Emacs integration for PureScript's psc-ide tool")
>> +    (description
>> +     "Emacs integration for PureScript's psc-ide tool. Featuring:

Ok I added the revision and the commit and used git-version and
git-file-name. As an aside, what does the revision mean? Maybe if I
really understand it I can submit better patches in the future.

> Description should be made of full sentences. Also, it might be useful
> to explain what "psc-ide" tool is.

I think I clarified the description a little. This was an excellent
detailed review, thank you so much.

Also, I changed inputs->propagated-inputs.

Kindly,

John

>From 20e7f672bb002e8e0e784300789c3e11aeabd41f Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Tue, 24 Mar 2020 07:36:28 -0700
Subject: [PATCH] gnu: Add emacs-psc-ide.

* gnu/packages/emacs-xyz.scm (emacs-psc-ide): New variable.
---
 gnu/packages/emacs-xyz.scm | 41 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index e700920266..530eee7eb7 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -12334,6 +12334,47 @@ keychains.  The keychain entries are displayed in a directory-like structure
 and can be consulted and modified.")
     (license license:gpl3+)))
 
+(define-public emacs-psc-ide
+  (let ((revision "1")
+        (commit "7fc2b841be25f5bc5e1eb7d0634436181c38b3fe"))
+    (package
+      (name "emacs-psc-ide")
+      (version (git-version "0.1.0" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/purescript-emacs/psc-ide-emacs")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "0r0fymyai30jimm34z1cmav4wgij8ci6s1d9y7qigygfbbfrdsmj"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-company" ,emacs-company)
+         ("emacs-dash" ,emacs-dash)
+         ("emacs-flycheck" ,emacs-flycheck)
+         ("emacs-let-alist" ,emacs-let-alist)
+         ("emacs-s" ,emacs-s)
+         ("emacs-seq" ,emacs-seq)))
+      (home-page "https://github.com/purescript-emacs/psc-ide-emacs")
+      (synopsis "Emacs integration for PureScript's psc-ide tool")
+      (description
+       "PureScript implements an ide protocol in its compiler called psc-ide.
+This package provices Emacs integration for psc-ide.  It features:
+
+@itemize
+@item Completions
+@item Type at point
+@item Go to definition
+@item Automatic imports
+@item Case split
+@item Build system integration, and
+@item Flycheck support
+@end itemize")
+      (license license:gpl3+))))
+
 (define-public emacs-evil-anzu
   (package
     (name "emacs-evil-anzu")
-- 
2.26.0