Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / tools / parsing / byacc / default.nix
blob17df32083cdc098b87bb07d2f96c348d42576486
1 { lib
2 , stdenv
3 , fetchurl
4 }:
6 stdenv.mkDerivation (finalAttrs: {
7   pname = "byacc";
8   version = "20230521";
10   src = fetchurl {
11     urls = [
12       "https://invisible-mirror.net/archives/byacc/byacc-${finalAttrs.version}.tgz"
13       "ftp://ftp.invisible-island.net/byacc/byacc-${finalAttrs.version}.tgz"
14     ];
15     hash = "sha256-WtkVp9WDOqOKXjG9B3UFZmApw142Xf+Faf5FmOqp/vI=";
16   };
18   configureFlags = [
19     # change yacc to byacc
20     "--program-transform-name='s,^,b,'"
21   ];
23   doCheck = true;
25   postInstall = ''
26     ln -s $out/bin/byacc $out/bin/yacc
27   '';
29   meta = {
30     homepage = "https://invisible-island.net/byacc/byacc.html";
31     description = "Berkeley YACC";
32     longDescription = ''
33       Berkeley Yacc (byacc) is generally conceded to be the best yacc variant
34       available. In contrast to bison, it is written to avoid dependencies upon
35       a particular compiler.
37       Byacc was written around 1990 by Robert Corbett who is the original author
38       of bison. Byacc is noted in Lex & Yacc by John Levine et al (O'Reilly,
39       1992) for its compatibility with the original yacc program.
41       Nowadays byacc is maintained by Thomas E. Dickey.
42     '';
43     changelog = "https://invisible-island.net/byacc/CHANGES.html";
44     license = lib.licenses.publicDomain;
45     maintainers = with lib.maintainers; [ AndersonTorres ];
46     platforms = lib.platforms.unix;
47   };