diff mbox series

[bug#60871,v2] gnu: add timewarrior

Message ID 20230117054823.28799-2-trev@trevdev.ca
State New
Headers show
Series [bug#60871,v2] gnu: add timewarrior | expand

Commit Message

Trevor Richards Jan. 17, 2023, 5:48 a.m. UTC
Signed-off-by: Trevor Richards <trev@trevdev.ca>
---
 gnu/packages/task-management.scm | 37 +++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

Comments

Nicolas Goaziou Jan. 28, 2023, 10:05 a.m. UTC | #1
Hello,

Trevor Richards <trev@trevdev.ca> writes:

> +(define-public timewarrior

Thank you.

Unfortunately, this is a duplicate of
<https://issues.guix.gnu.org/55874>.

Anyway, your work enticed me to resume this pending work, and applied
it. Let me know if something is not working for you. Meanwhile, I'm
closing this report.

> +    (synopsis "A command line tool for tracking time")

For future reference, synopsis must not start with article "A".

> +    (description "Timewarrior is Free and Open Source Software that tracks
> +time from the command line.")

Also, we don't mention "Free and Open Source" in description, since
everything is as such in Guix.

Regards,
Tobias Geerinckx-Rice Jan. 28, 2023, 11:12 a.m. UTC | #2
Another minor note: you don't need to sign off on your own patches.

We do use 'Signed-off-by' in Guix, but not exactly as it's used for Linux's DCO.  Here, it means 'approved & committed by' someone else.

Kind regards,

T G-R

Sent on the go.  Excuse or enjoy my brevity.
diff mbox series

Patch

diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index c4f7f99049..741cd7841d 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -29,6 +29,7 @@  (define-module (gnu packages task-management)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix gexp)
   #:use-module (guix packages)
+  #:use-module (gnu packages bash)
   #:use-module (gnu packages check)
   #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gettext)
@@ -46,6 +47,7 @@  (define-module (gnu packages task-management)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages ruby)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
   #:use-module (guix download)
@@ -146,7 +148,7 @@  (define-public taskwarrior
        #:phases
        (modify-phases %standard-phases
          (delete 'install-license-files)))) ; Already installed by package
-     (home-page "https://taskwarrior.org")
+    (home-page "https://taskwarrior.org")
     (synopsis "Command line task manager")
     (description
      "Taskwarrior is a command-line task manager following the Getting Things
@@ -154,6 +156,39 @@  (define-public taskwarrior
 and querying data, exposing task data in multiple formats to other tools.")
     (license license:expat)))
 
+(define-public timewarrior
+  (package
+    (name "timewarrior")
+    (version "1.4.3")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://github.com/GothenburgBitFactory/timewarrior/"
+                    "releases/download/v"
+                    version
+                    "/timew-"
+                    version
+                    ".tar.gz"))
+              (sha256
+               (base32
+                "0lyaqzcg8np2fpsmih0hlkjxd3qbadc7khr24m1pq9lsdhq7xpy4"))))
+    (build-system cmake-build-system)
+    (inputs (list python ruby-asciidoctor bash-minimal))
+    (arguments
+     (list #:phases #~(modify-phases %standard-phases
+                        (add-after 'patch-source-shebangs 'patch-hardcoded-paths
+                          (lambda _
+                            (substitute* "src/commands/CMakeLists.txt"
+                              (("/bin/sh")
+                               (string-append #$(this-package-input
+                                                 "bash-minimal")
+                                              "/bin/sh"))))))))
+    (home-page "https://timewarrior.net")
+    (synopsis "A command line tool for tracking time")
+    (description "Timewarrior is Free and Open Source Software that tracks
+time from the command line.")
+    (license license:expat)))
+
 (define-public tasksh
   (package
     (name "tasksh")