base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / ca / calcurse / package.nix
blob49d8a9e42d421b044edd43091bd5c13dc4165418
1 { lib, stdenv, fetchurl, ncurses, gettext, python3, python3Packages, makeWrapper }:
3 stdenv.mkDerivation rec {
4   pname = "calcurse";
5   version = "4.8.1";
7   src = fetchurl {
8     url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
9     hash = "sha256-2GuzcBT9abjYPMuQSsl5xrjd9Z7j28gPWidFJeTVgwo=";
10   };
12   buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
13   nativeBuildInputs = [ makeWrapper ];
15   postInstall = ''
16     patchShebangs .
17     buildPythonPath "${python3Packages.httplib2} ${python3Packages.oauth2client}"
18     patchPythonScript $out/bin/calcurse-caldav
19   '';
21   meta = with lib; {
22     description = "Calendar and scheduling application for the command line";
23     longDescription = ''
24       calcurse is a calendar and scheduling application for the command line. It helps
25       keep track of events, appointments and everyday tasks. A configurable notification
26       system reminds users of upcoming deadlines, the curses based interface can be
27       customized to suit user needs and a very powerful set of command line options can
28       be used to filter and format appointments, making it suitable for use in scripts.
29     '';
30     homepage = "https://calcurse.org/";
31     changelog = "https://git.calcurse.org/calcurse.git/plain/CHANGES.md?h=v${version}";
32     license = licenses.bsd2;
33     platforms = platforms.unix;
34     maintainers = [ maintainers.matthiasbeyer ];
35   };