;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
+;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
+;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
-(define-module (gnu packages autogen)
+(define-module (gnu packages calcurse)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages ncurses))
(define-public calcurse
(package
(name "calcurse")
- (version "3.1.4")
+ (version "4.5.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "http://calcurse.org/files/calcurse-"
- version ".tar.gz"))
- (sha256
- (base32
- "1qwhffwhfg7bjxrviwlcrhnfw0976d39da8kfspq6dgd9nqv68a1"))))
+ (method url-fetch)
+ (uri (string-append "https://calcurse.org/files/calcurse-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0cgkd285x5pk62lmdx9fjxl46c5lj8wj2cqbxq7d99yb4il5fdjk"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)))
- (home-page "http://www.calcurse.org")
+ (native-inputs `(("tzdata" ,tzdata-for-tests)))
+ (arguments
+ ;; The ical tests all want to create a ".calcurse" directory, and may
+ ;; fail with "cannot create directory '.calcurse': File exists" if run
+ ;; concurently.
+ `(#:configure-flags
+ (list (string-append "--docdir=" (assoc-ref %outputs "out")
+ "/share/doc/" ,name "-" ,version))
+ #:parallel-tests? #f
+ ;; Since this tzdata is only used for tests and not referenced by the
+ ;; built package, used the "fixed" obsolete version of tzdata and ensure
+ ;; it does not sneak in to the closure.
+ #:disallowed-references (,tzdata-for-tests)
+ #:phases (modify-phases %standard-phases
+ (add-after 'unpack 'respect-docdir
+ ;; doc/Makefile disregards ./configure's --docdir option.
+ (lambda _
+ (substitute* "doc/Makefile.in"
+ (("(docdir =) .*" _ match)
+ (format #f "~a @docdir@\n" match)))
+ #t))
+ (add-before 'check 'check-setup
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "TZDIR" ; for test/ical-007.sh
+ (string-append (assoc-ref inputs "tzdata")
+ "/share/zoneinfo")))))))
+ (home-page "https://www.calcurse.org")
(synopsis "Text-based calendar and scheduling")
(description
- "Calcurse is a text-based calendar and scheduling application. It helps
-keep track of events, appointments and everyday tasks. A configurable
+ "Calcurse is a text-based calendar and scheduling application. It helps
+keep track of events, appointments and everyday tasks. A configurable
notification system reminds user of upcoming deadlines, and the curses based
-interface can be customized to suit user needs. All of the commands are
+interface can be customized to suit user needs. All of the commands are
documented within an online help system.")
(license bsd-2)))