A text-based calendar and scheduling application
Clone or download
lhca and Lukas Fleischer Overflow check for 32-bit types only
Included is a check of the 'until' date for pasted recurrent items.

Signed-off-by: Lars Henriksen <LarsHenriksen@get2net.dk>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
Latest commit 870fa1a Jan 16, 2019




Install the following build dependencies. If your distro segments development files from core packages (i.e., *-devel or *-dev packages), you may need to install those as well:

  • gcc
  • automake
  • asciidoc
  • gettext with development files
  • ncurses with development files

If you are using a release tarball, the following commands can be used to build and install calcurse:

$ ./configure
$ make
$ make install

Note that make install needs to be run as root. When working on a Git checkout, you need to run ./autogen.sh before ./configure.

Package Overview

  • build-aux: auxiliary files for the build process
  • contrib: useful tools such as hooks or the CalDAV synchronization script
  • doc: detailed documentation in plain text and HTML
  • po: translations and i18n-related files
  • scripts: additional official scripts, such as calcurse-upgrade
  • src: the actual calcurse source files
  • test: test suite and test cases for calcurse


calcurse was originally authored by Frederic Culot and is currently maintained by Lukas Fleischer.

Of course, there are numerous other contributors. Check the Git commit log and the Thanks section in the manual for a list of people who have contributed by reporting bugs, sending fixes, or suggesting improvements.

Contributing and Donations

Patches, bug reports and other requests are always welcome! You can submit them to one of our mailing lists (check the patch submission guidelines for details) or via GitHub.

We are also extremely grateful for donations which help us continue developing calcurse as open source software and are used to cover recurring costs, such as for our servers. You can use https://calcurse.org/donate/ for a one-time payment. If you prefer another form of donation, do not hesitate to contact us!