nixpkgs/pkgs/development/tools/parsing/byacc/default.nix
2023-06-01 00:46:10 +00:00

49 lines
1.4 KiB
Nix

{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation (finalAttrs: {
pname = "byacc";
version = "20230521";
src = fetchurl {
urls = [
"https://invisible-mirror.net/archives/byacc/byacc-${finalAttrs.version}.tgz"
"ftp://ftp.invisible-island.net/byacc/byacc-${finalAttrs.version}.tgz"
];
hash = "sha256-WtkVp9WDOqOKXjG9B3UFZmApw142Xf+Faf5FmOqp/vI=";
};
configureFlags = [
# change yacc to byacc
"--program-transform-name='s,^,b,'"
];
doCheck = true;
postInstall = ''
ln -s $out/bin/byacc $out/bin/yacc
'';
meta = {
homepage = "https://invisible-island.net/byacc/byacc.html";
description = "Berkeley YACC";
longDescription = ''
Berkeley Yacc (byacc) is generally conceded to be the best yacc variant
available. In contrast to bison, it is written to avoid dependencies upon
a particular compiler.
Byacc was written around 1990 by Robert Corbett who is the original author
of bison. Byacc is noted in Lex & Yacc by John Levine et al (O'Reilly,
1992) for its compatibility with the original yacc program.
Nowadays byacc is maintained by Thomas E. Dickey.
'';
changelog = "https://invisible-island.net/byacc/CHANGES.html";
license = lib.licenses.publicDomain;
maintainers = with lib.maintainers; [ AndersonTorres ];
platforms = lib.platforms.unix;
};
})