gnu: Add dstask.

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

Signed-off-by: Léo Le Bouter <lle-bout@zaclys.net>
This commit is contained in:
Stefan Reichör 2021-02-21 21:55:58 +01:00 committed by Léo Le Bouter
parent 9fe7106452
commit 515f561370
No known key found for this signature in database
GPG key ID: 45A8B1E86BCD10A6

View file

@ -2,6 +2,7 @@
;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2021 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,6 +37,7 @@ (define-module (gnu packages task-management)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system go)
#:use-module (guix build-system meson))
(define-public taskwarrior
@ -66,6 +68,53 @@ (define-public taskwarrior
and querying data, exposing task data in multiple formats to other tools.")
(license license:expat)))
(define-public dstask
(package
(name "dstask")
(version "0.24.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/naggie/dstask")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03rl2wh58xd6a80ji43c7ak3h0ysi3ddg570pn8ry24s7s45zsz2"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/naggie/dstask"
#:install-source? #f
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(invoke "go" "build" "-o" "dstask" "cmd/dstask/main.go")
(invoke "go" "build" "-o" "dstask-import"
"cmd/dstask-import/main.go"))))
(replace 'install
(lambda* (#:key import-path outputs #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(let* ((out (assoc-ref outputs "out"))
(bindir (string-append out "/bin"))
(zsh-completion (string-append
out "/share/zsh/site-functions/_dstask"))
(bash-completion
(string-append
out "/share/bash-completion/completions/_dstask")))
(install-file "dstask" bindir)
(install-file "dstask-import" bindir)
(install-file ".dstask-bash-completions.sh" bash-completion)
(install-file ".dstask-zsh-completions.sh" zsh-completion)))
#t)))))
(synopsis "CLI-based TODO manager with git-based sync + markdown notes per task")
(description "dstask is a personal task tracker that uses git for
synchronization. It offers a note command to attach a Markdown based note to
a task.")
(home-page "https://github.com/naggie/dstask")
(license license:expat)))
(define-public blanket
(package
(name "blanket")