2022-11-21 17:40:18 +00:00
|
|
|
{ lib
|
|
|
|
, stdenv
|
|
|
|
, fetchurl
|
|
|
|
}:
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2023-04-29 16:46:19 +00:00
|
|
|
stdenv.mkDerivation (finalAttrs: {
|
2020-04-24 23:36:52 +00:00
|
|
|
pname = "byacc";
|
2023-03-08 16:32:21 +00:00
|
|
|
version = "20230219";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
|
|
|
src = fetchurl {
|
2023-04-29 16:46:19 +00:00
|
|
|
urls = [
|
|
|
|
"https://invisible-mirror.net/archives/byacc/byacc-${finalAttrs.version}.tgz"
|
|
|
|
"ftp://ftp.invisible-island.net/byacc/byacc-${finalAttrs.version}.tgz"
|
2020-04-24 23:36:52 +00:00
|
|
|
];
|
2023-03-08 16:32:21 +00:00
|
|
|
hash = "sha256-NrlyptSul1hN0YaSX7vDl9JssgYyp2wvUqx2U80IG1g=";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
configureFlags = [
|
2023-03-08 16:32:21 +00:00
|
|
|
# change yacc to byacc
|
2020-04-24 23:36:52 +00:00
|
|
|
"--program-transform-name='s,^,b,'"
|
|
|
|
];
|
|
|
|
|
|
|
|
doCheck = true;
|
|
|
|
|
|
|
|
postInstall = ''
|
|
|
|
ln -s $out/bin/byacc $out/bin/yacc
|
|
|
|
'';
|
|
|
|
|
2023-03-08 16:32:21 +00:00
|
|
|
meta = {
|
2020-04-24 23:36:52 +00:00
|
|
|
homepage = "https://invisible-island.net/byacc/byacc.html";
|
2022-11-21 17:40:18 +00:00
|
|
|
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";
|
2023-03-08 16:32:21 +00:00
|
|
|
license = lib.licenses.publicDomain;
|
|
|
|
maintainers = with lib.maintainers; [ AndersonTorres ];
|
|
|
|
platforms = lib.platforms.unix;
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
2022-11-21 17:40:18 +00:00
|
|
|
})
|