nixpkgs/pkgs/applications/misc/calcurse/default.nix
Patrick Hilhorst f7e390e6d4 treewide: fix redirected urls (run 3)
Related:
 - 9fc5e7e473
 - 593e11fd94
 - 508ae42a0f

Since the last time I ran this script, the Repology API changed, so I had to
adapt the script used in the previous PR. The new API should be more robust, so
overall this is a positive (no more grepping the error messages for our relevant
data but just a nice json structure).

Here's the new script I used:

```sh
curl https://repology.org/api/v1/repository/nix_unstable/problems \
   | jq -r '.[] | select(.type == "homepage_permanent_https_redirect") | .data | "s@\(.url)@\(.target)@"' \
   | sort | uniq | tee script.sed
find -name '*.nix' | xargs -P4 -- sed -f script.sed -i
```

I will also add this script to `maintainers/scripts`.
2020-10-02 09:01:35 -07:00

35 lines
1.2 KiB
Nix

{ stdenv, fetchurl, ncurses, gettext, python3, python3Packages, makeWrapper }:
stdenv.mkDerivation rec {
pname = "calcurse";
version = "4.6.0";
src = fetchurl {
url = "https://calcurse.org/files/${pname}-${version}.tar.gz";
sha256 = "0hzhdpkkn75jlymanwzl69hrrf1pw29hrchr11wlxqjpl43h62gs";
};
buildInputs = [ ncurses gettext python3 python3Packages.wrapPython ];
nativeBuildInputs = [ makeWrapper ];
postInstall = ''
patchShebangs .
buildPythonPath ${python3Packages.httplib2}
patchPythonScript $out/bin/calcurse-caldav
'';
meta = with stdenv.lib; {
description = "A calendar and scheduling application for the command line";
longDescription = ''
calcurse is a calendar and scheduling application for the command line. It helps
keep track of events, appointments and everyday tasks. A configurable notification
system reminds users of upcoming deadlines, the curses based interface can be
customized to suit user needs and a very powerful set of command line options can
be used to filter and format appointments, making it suitable for use in scripts.
'';
homepage = "https://calcurse.org/";
license = licenses.bsd2;
platforms = platforms.linux;
};
}