Subject: [PATCH v1] gnu: Add annextimelog.

From: Matthias Riße <[email-masked]>
Date: Fri, 31 Jan 2025 22:17:06 +0100

* gnu/packages/task-management.scm (annextimelog): New variable.

Change-Id: I7adf4263422fdb1edcb5dfc878cb1decb529c27e
---
 gnu/packages/task-management.scm | 38 ++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index af99c08a6a..f02203d22f 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -45,6 +45,7 @@ (define-module (gnu packages task-management)
   #:use-module (gnu packages golang-xyz)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages haskell-apps)
   #:use-module (gnu packages hunspell)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
@@ -60,6 +61,7 @@ (define-module (gnu packages task-management)
   #:use-module (gnu packages ruby)
   #:use-module (gnu packages time)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages version-control)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix hg-download)
@@ -113,6 +115,42 @@ (define-public clikan
 following the Japanese kanban (boarding) style.")
       (license license:expat))))
 
+(define-public annextimelog
+  (package
+    (name "annextimelog")
+    (version "0.14.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "annextimelog" version))
+       (sha256
+        (base32 "0m1q0pbjy7d4yvgkflg7208gmdrqn1cx346b4li0mlss1kr91hvz"))))
+    (build-system pyproject-build-system)
+    (arguments
+     '(#:phases (modify-phases %standard-phases
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (when tests?
+                        (invoke "python" "-m" "unittest"))))
+                  (add-after 'create-entrypoints 'wrap-with-runtime-dependencies
+                    (lambda* (#:key outputs #:allow-other-keys)
+                      (let ((bin (string-append (assoc-ref outputs "out")
+                                                "/bin")))
+                        (for-each (lambda (file)
+                                    (wrap-program file
+                                      `("PATH" ":" prefix
+                                        (,(dirname (which "git"))
+                                         ,(dirname (which "git-annex"))))))
+                                  (list (string-append bin "/annextimelog")
+                                        (string-append bin "/atl")))))))))
+    (propagated-inputs (list python-rich python-tzdata))
+    (inputs (list bash-minimal git git-annex))
+    (native-inputs (list python-poetry-core))
+    (home-page "https://gitlab.com/nobodyinperson/annextimelog")
+    (synopsis "Track time spent on projects, backed by Git Annex")
+    (description "Track time spent on projects, backed by Git Annex.")
+    (license license:gpl3+)))
+
 (define-public t-todo-manager
   ;; Last release is more than 10 years old.  Using latest commit.
   (let ((changeset "89ad444c000b")

base-commit: c788962baeeb6bf021b30c9ad774d472f592fdb5
-- 
2.47.1