diff mbox series

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

Message ID 87ftd9r0p0.fsf@asu.edu
State Accepted
Headers show
Series [bug#40301] Fixed some issues with the patches. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

John Soo April 12, 2020, 12:45 a.m. UTC
Hi Nicolas,

Nicolas Goaziou <mail@nicolasgoaziou.fr> 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

Comments

Nicolas Goaziou April 12, 2020, 9:04 a.m. UTC | #1
Hello,

John Soo <jsoo1@asu.edu> writes:

> 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.

If there is no proper versioning for the package (e.g., no releases, or
version strings hidden in a source file), we have to rely on commit
hashes. But commit hashes are not monotonic. So, if you package, e.g.,
"emacs-psc-ide" with commit "bbbb", and later, update it to include
latest commit "aaaa", you have, from Guix's point of view, downgraded
the package, even though "aaaa" is more advanced than "bbbb".

The revision number solves that. Each time you update the commit
message, you increase the revision number, so you releases are
monotonic. E.g., your first package will be "emacs-psc-ide-1-bbbb", and
the other "emacs-psc-ide-2-aaaa".

> Subject: [PATCH] gnu: Add emacs-psc-ide.
>
> * gnu/packages/emacs-xyz.scm (emacs-psc-ide): New variable.

Thank you. Applied as 8a00a2202ef2a0a0173e17479359370f5656ecd0.

Regards,
diff mbox series

Patch

From 20e7f672bb002e8e0e784300789c3e11aeabd41f Mon Sep 17 00:00:00 2001
From: John Soo <jsoo1@asu.edu>
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