nixpkgs/pkgs/by-name/by/byacc/package.nix
Anderson Torres f0e64ce16f treewide: migrate packages maintained by AndersonTorres to by-name
Manual migration for the sake of by-name migration is no longer discouraged
since #340235.
2024-09-16 14:26:47 -03:00

48 lines
1.4 KiB
Nix

{ lib
, stdenv
, fetchurl
}:
stdenv.mkDerivation (finalAttrs: {
pname = "byacc";
version = "20240109";
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-8ol3eQFxifGpR1dwXvb24V3JII7wee6n8oq+xXfghEY=";
};
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;
};
})