Subject: Re: [bug#40304] [PATCH] gnu: Add emacs-dhall-mode.

From: John Soo <[email-masked]>
Date: Mon, 30 Mar 2020 11:39:49 -0700

Hi Nicolas,

Thanks again!

Nicolas Goaziou <[email-masked]> writes:

> Hello,
>
> John Soo <[email-masked]> writes:
>
>> dhall-mode provides language support for the dhall configuration
>> language.
>
> Thank you.
>
>> +(define-public emacs-dhall-mode
>> +  (package
>> +    (name "emacs-dhall-mode")
>> +    (version "0.1.0")
>
> This version is not accurate. The ".el" file mentions 0.1.3, but I think
> we should use Github versioning, i.e., there is no versioning at all, so
> we should do the commit + revision dance again, and use "0.1.3" as the
> base of the version string.

Done.

>> +    (source
>> +     (origin
>> +       (method git-fetch)
>> +       (uri
>> +        (git-reference
>> +         (url "https://github.com/psibi/dhall-mode")
>> +         (commit "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2")))
>
> This should go in a dedicated variable.

Did you mean the commit? If so that is also done.

>> +       (file-name (git-file-name name version))
>> +       (sha256
>> +        (base32
>> +         "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384"))))
>
> Nitpick: I usually put `base32' on the same line as the string.

Ok, I like that better. Done.

>> +    (inputs
>
> Nitpick: Emacs build system uses `propagated-inputs', although this is
> the same.

Oh! I think that's a bug, then. If the input is not propagated, there
will be an error when the user uses the package, right?  Fixed.

>> +     `(("emacs-reformatter" ,emacs-reformatter)))
>> +    (build-system emacs-build-system)
>
> Nitpick: `build-system' is usually above

No problem. Done.

>> +    (home-page "https://github.com/psibi/dhall-mode")
>> +    (synopsis "Major mode for working with Dhall configuration language")
>> +    (description
>> +     "Emacs Major mode for working with Dhall configuration
>> language.")
>
> The description must be a full sentence.

Fixed and added some more detail.

>> +    (license license:gpl2+)))
>
> The license looks wrong. I see GPL3+ in this package.

Ah, fixed, sorry.

> Could you send an updated patch?

Sure. Attached.

Thanks again,

John

>From f964bffab06a381e6476410e5dd409ac5b690fd3 Mon Sep 17 00:00:00 2001
From: John Soo <[email-masked]>
Date: Tue, 24 Mar 2020 08:38:05 -0700
Subject: [PATCH] gnu: Add emacs-dhall-mode.

* gnu/packages/emacs-xyz.scm (emacs-dhall-mode): New variable.
---
 gnu/packages/emacs-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index c029d1ed3d..fa64ef16bc 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -21965,3 +21965,37 @@ enables modal editing and composition of commands, too.  It combines ideas of
 other Editors like Vim or Kakoune and tries to align them with regular Emacs
 conventions.")
     (license license:gpl3+)))
+
+(define-public emacs-dhall-mode
+  (let ((revision "0")
+        (commit  "ef4d33debe224c6ba37e51a29b9dc8b74f20f1c2"))
+    (package
+      (name "emacs-dhall-mode")
+      (version (git-version "0.1.3" revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri
+          (git-reference
+           (url "https://github.com/psibi/dhall-mode")
+           (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1232y2k4l3bsz90pgis78zxmrw7jv09dfaip21yc1w4vpxfyr384"))))
+      (build-system emacs-build-system)
+      (propagated-inputs
+       `(("emacs-reformatter" ,emacs-reformatter)))
+      (home-page "https://github.com/psibi/dhall-mode")
+      (synopsis "Major mode for working with Dhall configuration language")
+      (description
+       "Dhall-mode provides an Emacs Major mode for working with the Dhall
+configuration language. It features:
+
+@itemize
+@item Syntax highlighting
+@item Multiline support for String
+@item Basic indendation, commenting
+@item Automatic formatting on save using dhall-format.
+@item Error highlighting.
+@end itemize")
+      (license license:gpl3+))))
-- 
2.26.0