gnu: icecat: Update to 78.10.0-guix0-preview1 [security fixes].
[jackhill/guix/guix.git] / gnu / packages / calcurse.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
3 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
4 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
5 ;;;
6 ;;; This file is part of GNU Guix.
7 ;;;
8 ;;; GNU Guix is free software; you can redistribute it and/or modify it
9 ;;; under the terms of the GNU General Public License as published by
10 ;;; the Free Software Foundation; either version 3 of the License, or (at
11 ;;; your option) any later version.
12 ;;;
13 ;;; GNU Guix is distributed in the hope that it will be useful, but
14 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 ;;; GNU General Public License for more details.
17 ;;;
18 ;;; You should have received a copy of the GNU General Public License
19 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21 (define-module (gnu packages calcurse)
22 #:use-module (guix packages)
23 #:use-module (guix licenses)
24 #:use-module (guix download)
25 #:use-module (guix build-system gnu)
26 #:use-module (gnu packages)
27 #:use-module (gnu packages base)
28 #:use-module (gnu packages ncurses))
29
30 (define-public calcurse
31 (package
32 (name "calcurse")
33 (version "4.5.1")
34 (source
35 (origin
36 (method url-fetch)
37 (uri (string-append "https://calcurse.org/files/calcurse-"
38 version ".tar.gz"))
39 (sha256
40 (base32 "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk"))))
41 (build-system gnu-build-system)
42 (inputs `(("ncurses" ,ncurses)))
43 (native-inputs `(("tzdata" ,tzdata-for-tests)))
44 (arguments
45 ;; The ical tests all want to create a ".calcurse" directory, and may
46 ;; fail with "cannot create directory '.calcurse': File exists" if run
47 ;; concurently.
48 `(#:configure-flags
49 (list (string-append "--docdir=" (assoc-ref %outputs "out")
50 "/share/doc/" ,name "-" ,version))
51 #:parallel-tests? #f
52 ;; Since this tzdata is only used for tests and not referenced by the
53 ;; built package, used the "fixed" obsolete version of tzdata and ensure
54 ;; it does not sneak in to the closure.
55 #:disallowed-references (,tzdata-for-tests)
56 #:phases (modify-phases %standard-phases
57 (add-after 'unpack 'respect-docdir
58 ;; doc/Makefile disregards ./configure's --docdir option.
59 (lambda _
60 (substitute* "doc/Makefile.in"
61 (("(docdir =) .*" _ match)
62 (format #f "~a @docdir@\n" match)))
63 #t))
64 (add-before 'check 'check-setup
65 (lambda* (#:key inputs #:allow-other-keys)
66 (setenv "TZDIR" ; for test/ical-007.sh
67 (string-append (assoc-ref inputs "tzdata")
68 "/share/zoneinfo")))))))
69 (home-page "https://www.calcurse.org")
70 (synopsis "Text-based calendar and scheduling")
71 (description
72 "Calcurse is a text-based calendar and scheduling application. It helps
73 keep track of events, appointments and everyday tasks. A configurable
74 notification system reminds user of upcoming deadlines, and the curses based
75 interface can be customized to suit user needs. All of the commands are
76 documented within an online help system.")
77 (license bsd-2)))