summaryrefslogtreecommitdiff
path: root/gnu/packages/task-management.scm
diff options
context:
space:
mode:
authorJohannes Christ <jc@jchri.st>2026-02-28 21:22:55 +0100
committerEfraim Flashner <efraim@flashner.co.il>2026-03-05 13:39:11 +0200
commite66f8bf3ce596f9bbe3117d5e274cede64da61ac (patch)
tree5885848930df3bc0e2e819c3bf8470be91d8c7d5 /gnu/packages/task-management.scm
parent6b94452c24478861de40c41f3c0a7968ab4a73a3 (diff)
gnu: taskwarrior: Update to 3.4.2.
* gnu/packages/task-management.scm (taskwarrior): Update to 3.4.2. [source]: Update to new release location. Add patch for proper SQLite linking. Add snippet to remove sourceless PDF. [native-inputs]: Add dependencies for Rust code. [inputs]: Add sqlite-next. [arguments] <#:phases>: Adjust for Rust dependency build. * gnu/packages/rust-crates.scm (lookup-cargo-inputs): Add entry for taskwarrior. * gnu/packages/patches/task-link-taskchampion-cpp-with-sqlite3.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Change-Id: Ica26c93347dedcba83a473cb60b176cf1195a806 Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu/packages/task-management.scm')
-rw-r--r--gnu/packages/task-management.scm55
1 files changed, 45 insertions, 10 deletions
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index 1efe7a9dc61..a827ff50f2d 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -38,6 +38,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages bash)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
@@ -64,6 +65,8 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby-xyz)
+ #:use-module (gnu packages rust)
+ #:use-module (gnu packages sqlite)
#:use-module (gnu packages terminals)
#:use-module (gnu packages time)
#:use-module (gnu packages tls)
@@ -72,6 +75,7 @@
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module (guix utils)
+ #:use-module (guix build-system cargo)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system go)
@@ -313,24 +317,55 @@ to finish tasks, not organize them.")
(define-public taskwarrior
(package
(name "taskwarrior")
- (version "2.6.2")
+ (version "3.4.2")
(source
(origin
(method url-fetch)
(uri (string-append
- "https://taskwarrior.org/download/task-" version ".tar.gz"))
- (sha256 (base32
- "1v6gca4cfrlh7adjn95j3jg3qq81w3h68037803dc3yd03qaglxi"))))
+ "https://github.com/GothenburgBitFactory/taskwarrior"
+ "/releases/download/v" version
+ "/task-" version ".tar.gz"))
+ (sha256
+ (base32 "05p70bfjimv87qxxxamwq18bs6n6d0mklqa5lnjy8s0jrlgpc0nk"))
+ (patches (search-patches
+ "taskwarrior-link-taskchampion-cpp-with-sqlite3.patch"))
+ (snippet
+ #~(begin (use-modules (guix build utils))
+ (delete-file-recursively "doc/ref")
+ (substitute* "doc/CMakeLists.txt"
+ ((".*task-ref.*") ""))))))
(build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;No tests implemented.
+ #:imported-modules `(,@%cargo-build-system-modules
+ ,@%cmake-build-system-modules)
+ #:modules '(((guix build cargo-build-system) #:prefix cargo:)
+ (guix build cmake-build-system)
+ (guix build utils))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-cargo-build-system
+ (lambda args
+ (for-each
+ (lambda (phase)
+ (format #t "Running cargo phase: ~a~%" phase)
+ (apply (assoc-ref cargo:%standard-phases phase)
+ #:cargo-target #$(cargo-triplet) args))
+ '(unpack-rust-crates
+ configure
+ check-for-pregenerated-files
+ patch-cargo-checksums)))))))
(inputs
(list gnutls
+ ;; needs sqlite3_is_interrupted, not present on 3.39.3
+ sqlite-next
`(,util-linux "lib")))
- (arguments
- `(#:tests? #f ; No tests implemented.
- #:phases
- (modify-phases %standard-phases
- (delete 'install-license-files)))) ; Already installed by package
- (home-page "https://taskwarrior.org")
+ (native-inputs
+ (cons* corrosion
+ rust
+ (cargo-inputs 'taskwarrior)))
+ (home-page "https://taskwarrior.org")
(synopsis "Command line task manager")
(description
"Taskwarrior is a command-line task manager following the Getting Things