nixpkgs/pkgs/tools/misc/wyrd/default.nix
Sergei Trofimovich d5abc055d2 ncurses: 6.2 -> 6.3
The biggest nixpkgs-specific change is addition of printf()-style
attribute annotations for many ncurses APIs. -Werror=format-security
now flags parameter inconsistencies and fails the build.

The fixes are usually one-liners like adding "%s" format string for
non-literals or just using `hardeningDisable [ "format" ];` for software
where backporting or fixing is not practical.

Drop -DNCURSES_INTERNALS=1 workaround required only for ncurses-6.2
and build-incompatible with ncurses-6.3.
2021-12-16 07:55:06 +00:00

36 lines
1.1 KiB
Nix

{ lib, stdenv, fetchurl, ocamlPackages, ncurses, remind }:
stdenv.mkDerivation rec {
version = "1.4.6";
pname = "wyrd";
src = fetchurl {
url = "http://pessimization.com/software/wyrd/wyrd-${version}.tar.gz";
sha256 = "0zlrg602q781q8dij62lwdprpfliyy9j1rqfqcz8p2wgndpivddj";
};
preConfigure = ''
substituteInPlace curses/curses.ml --replace 'pp gcc' "pp $CC"
'';
buildInputs = [ ocamlPackages.ocaml ncurses remind ocamlPackages.camlp4 ];
preferLocalBuild = true;
meta = with lib; {
description = "A text-based front-end to Remind";
longDescription = ''
Wyrd is a text-based front-end to Remind, a sophisticated
calendar and alarm program. Remind's power lies in its
programmability, and Wyrd does not hide this capability behind
flashy GUI dialogs. Rather, Wyrd is designed to make you more
efficient at editing your reminder files directly.
'';
homepage = "http://pessimization.com/software/wyrd/";
downloadPage = "http://pessimization.com/software/wyrd/";
license = licenses.gpl2;
maintainers = [ maintainers.prikhi ];
platforms = platforms.linux;
};
}