Subject: [bug#60871] [PATCH v2] gnu: add timewarrior

From: Trevor Richards <[email-masked]>
Date: Mon, 16 Jan 2023 21:48:23 -0800

Signed-off-by: Trevor Richards <[email-masked]>
---
 gnu/packages/task-management.scm | 37 +++++++++++++++++++++++++++++++-
 1 file changed, 36 insertions(+), 1 deletion(-)

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")
-- 
2.38.1