summary refs log tree commit diff
path: root/pkgs/development/tools/cdecl/default.nix
blob: 7eefc4fc92d00ffa39498d4d41685263897235d8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{lib, stdenv, fetchurl, bison, flex, readline, ncurses, gnused}:

stdenv.mkDerivation rec {
  pname = "cdecl";
  version = "2.5";
  src = fetchurl {
    url = "https://www.cdecl.org/files/${pname}-blocks-${version}.tar.gz";
    sha256 = "1b7k0ra30hh8mg8fqv0f0yzkaac6lfg6n376drgbpxg4wwml1rly";
  };

  patches = [ ./cdecl-2.5-lex.patch ];
  preBuild = ''
    ${gnused}/bin/sed 's/getline/cdecl_getline/g' -i cdecl.c;
    makeFlagsArray=(CFLAGS="-DBSD -DUSE_READLINE -std=gnu89" LIBS=-lreadline);
    makeFlags="$makeFlags PREFIX=$out BINDIR=$out/bin MANDIR=$out/man1 CATDIR=$out/cat1 CC=$CC";
    mkdir -p $out/bin;
  '';
  buildInputs = [bison flex readline ncurses];

  meta = {
    description = "Translator English -- C/C++ declarations";
    license = lib.licenses.publicDomain;
    maintainers = with lib.maintainers; [joelteon];
    platforms = lib.platforms.unix;
  };
}