gnu: alacritty: Embed absolute references to required libraries.
[jackhill/guix/guix.git] / gnu / packages / task-management.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Tomáš Čech <sleep_walker@suse.cz>
3 ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages task-management)
21 #:use-module ((guix licenses) #:prefix license:)
22 #:use-module (guix packages)
23 #:use-module (gnu packages freedesktop)
24 #:use-module (gnu packages gettext)
25 #:use-module (gnu packages glib)
26 #:use-module (gnu packages gnome)
27 #:use-module (gnu packages gstreamer)
28 #:use-module (gnu packages gtk)
29 #:use-module (gnu packages linux)
30 #:use-module (gnu packages lua)
31 #:use-module (gnu packages pkg-config)
32 #:use-module (gnu packages python)
33 #:use-module (gnu packages tls)
34 #:use-module (guix download)
35 #:use-module (guix git-download)
36 #:use-module (guix utils)
37 #:use-module (guix build-system cmake)
38 #:use-module (guix build-system meson))
39
40 (define-public taskwarrior
41 (package
42 (name "taskwarrior")
43 (version "2.5.1")
44 (source
45 (origin
46 (method url-fetch)
47 (uri (string-append
48 "http://taskwarrior.org/download/task-" version ".tar.gz"))
49 (sha256 (base32
50 "059a9yc58wcicc6xxsjh1ph7k2yrag0spsahp1wqmsq6h7jwwyyq"))))
51 (build-system cmake-build-system)
52 (inputs
53 `(("gnutls" ,gnutls)
54 ("lua" ,lua)
55 ("util-linux" ,util-linux "lib")))
56 (arguments
57 `(#:tests? #f ; No tests implemented.
58 #:phases
59 (modify-phases %standard-phases
60 (add-before
61 'patch-source-shebangs 'remove-broken-symlinks
62 (lambda _
63 ;; These files are broken symlinks - delete them.
64 (delete-file "src/cal")
65 (delete-file "src/calendar")
66 (delete-file "src/tw"))))))
67 (home-page "https://taskwarrior.org")
68 (synopsis "Command line task manager")
69 (description
70 "Taskwarrior is a command-line task manager following the Getting Things
71 Done time management method. It supports network synchronization, filtering
72 and querying data, exposing task data in multiple formats to other tools.")
73 (license license:expat)))
74
75 (define-public blanket
76 (package
77 (name "blanket")
78 (version "0.3.1")
79 (source
80 (origin
81 (method git-fetch)
82 (uri (git-reference
83 (url "https://github.com/rafaelmardojai/blanket/")
84 (commit version)))
85 (file-name (git-file-name name version))
86 (sha256
87 (base32 "13xip9b2p2ai2jchkck71c849s2rlxzfvlbsgpraw9hswi0rk0jg"))))
88 (build-system meson-build-system)
89 (arguments
90 `(#:glib-or-gtk? #t
91 #:tests? #f ;the "Validate appstream file" test fails
92 #:phases
93 (modify-phases %standard-phases
94 (add-after 'wrap 'wrap-libs
95 (lambda* (#:key outputs #:allow-other-keys)
96 (let* ((out (assoc-ref outputs "out"))
97 (gi-typelib-path (getenv "GI_TYPELIB_PATH"))
98 (gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH"))
99 (python-path (getenv "PYTHONPATH")))
100 (wrap-program (string-append out "/bin/blanket")
101 `("GI_TYPELIB_PATH" ":" prefix (,gi-typelib-path))
102 `("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path))
103 `("PYTHONPATH" ":" prefix (,python-path))))
104 #t)))))
105 (native-inputs
106 `(("desktop-file-utils" ,desktop-file-utils)
107 ("gettext" ,gettext-minimal)
108 ("glib:bin" ,glib "bin")
109 ("gobject-introspection" ,gobject-introspection)
110 ("gtk+:bin" ,gtk+ "bin")
111 ("pkg-config" ,pkg-config)))
112 (inputs
113 `(("appstream-glib" ,appstream-glib)
114 ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
115 ("gst-plugins-bad" ,gst-plugins-bad)
116 ("gst-plugins-good" ,gst-plugins-good) ;for ScaleTempo plugin
117 ("gtk+" ,gtk+)
118 ("libhandy" ,libhandy)
119 ("python-gst" ,python-gst)
120 ("python-pygobject" ,python-pygobject)))
121 (home-page "https://github.com/rafaelmardojai/blanket")
122 (synopsis "Ambient sound and noise player")
123 (description
124 "Blanket provides different ambient sounds and types of noise to listen
125 to with the goal of improving your focus and enhancing your productivity.
126 You can also use it to fall asleep in a noisy environment.")
127 (license license:gpl3+)))