Subject: [bug#39931] [PATCH] gnu: Added emacs-org-journal

From: Martin Becze <[email-masked]>
Date: Fri, 6 Mar 2020 11:05:07 -0500

Thanks for the review Nicolas!

Attached is an updated patch.

On 3/5/20 3:18 PM, Nicolas Goaziou wrote:
> Hello,
> 
> Martin Becze <[email-masked]> writes:
> 
>> * gnu/packages/emacs-xyz.scm (emacs-org-journal): New Variable.
> 
> Thank you!
> 
>> +(define-public emacs-org-journal
>> +  (package
>> +    (name "emacs-org-journal")
>> +    (version "2.0.0")
>> +    (home-page "https://github.com/bastibe/org-journal")
> 
> Usually, `home-page' is lower in the package definition, right above `synopsis'.
> 
>> +    (source
>> +     (origin
>> +       (method git-fetch)
>> +       (uri (git-reference
>> +             (url home-page)
> 
> It may be just me, but I'm not a big fan of this trick, because it binds
> two information that might be unrelated at some point. I suggest to use
> the full URL instead.
> 
> OTOH, the above is not a strong argument either, so it's up to you.
> 
>> +             (commit version)))
>> +       (file-name (git-file-name name version))
>> +       (sha256
>> +        (base32
>> +         "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"))))
>> +    (build-system emacs-build-system)
>> +    (synopsis "A simple org-mode based journaling mode")
> 
> I suggest "Simple Org mode based journaling mode". In any case, I think
> "guix lint" complains when a synopsis starts with an article.
> 
>> +    (description "@code{org-journal} maintains a set of files, depending on the value
>> + of @{org-journal-file-type}, a file represents a day, week, month or year. When
>> +@code{org-journal-file-type} is set to =’daily=, each file represent a day. In case
>> +@{org-journal-file-type} is set to =’weekly=, a file represents
>> a week, etc.
> 
> "Org Journal maintains a set of files, which may represent a day,
> a week, a month or a year."
> 
> IOW, I think description should not leak the innards of the package.
> 
>> + Convenient bindings allow the creation of journal records in the current daily,
>> + weekly, monthly or yearly file and search within all records or specified time
>> + intervals. All records can be browsed and searched from the Emacs Calendar for
>> + convenience.")
> 
> You need to add two spaces after full stops.
> 
> Could you send an updated patch?
> 
> Regards,
> 
>From a767bfa8094be4bcd5fcdca9c4f4862114b5a07a Mon Sep 17 00:00:00 2001
From: Martin Becze <[email-masked]>
Date: Thu, 5 Mar 2020 12:40:42 -0500
Subject: [PATCH v2] gnu: Added emacs-org-journal

* gnu/packages/emacs-xyz.scm (emacs-org-journal): New Variable.
---
 gnu/packages/emacs-xyz.scm | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 19c4ed7571..f20ea14174 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -60,6 +60,7 @@
 ;;; Copyright © 2020 Paul Garlick <[email-masked]>
 ;;; Copyright © 2020 Robert Smith <[email-masked]>
 ;;; Copyright © 2020 Evan Straw <[email-masked]>
+;;; Copyright © 2020 Martin Becze <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21732,3 +21733,30 @@ supports generation of phonetic and numeric passwords.")
 Separated Value) files.  It follows the format as defined in RFC 4180 \"Common
 Format and MIME Type for CSV Files\" (@url{http://tools.ietf.org/html/rfc4180}).")
     (license license:gpl3+)))
+
+(define-public emacs-org-journal
+  (package
+    (name "emacs-org-journal")
+    (version "2.0.0")
+    (home-page "https://github.com/bastibe/org-journal")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url home-page)
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "18dqd0jy2x530lk0h4fcn9cld9qh4w7b3vxa60fpiia628vsv1dg"))))
+    (build-system emacs-build-system)
+    (synopsis "A simple org-mode based journaling mode")
+    (description "@code{org-journal} maintains a set of files, depending on the value
+ of @{org-journal-file-type}, a file represents a day, week, month or year. When
+@code{org-journal-file-type} is set to =’daily=, each file represent a day. In case
+@{org-journal-file-type} is set to =’weekly=, a file represents a week, etc.
+ Convenient bindings allow the creation of journal records in the current daily,
+ weekly, monthly or yearly file and search within all records or specified time
+ intervals. All records can be browsed and searched from the Emacs Calendar for
+ convenience.")
+    (license license:bsd-3)))
-- 
2.25.1