nerdfonts: fix wrong attribute name in error message (#364463)
[NixPkgs.git] / pkgs / development / ocaml-modules / dypgen / default.nix
blob2be5bdf3e5967d989899e20469d8f17bc38003bc
2   stdenv,
3   lib,
4   fetchFromGitHub,
5   fetchurl,
6   ocaml,
7   findlib,
8 }:
10 let
11   params =
12     if lib.versionAtLeast ocaml.version "4.07" then
13       rec {
14         version = "0.2";
15         src = fetchFromGitHub {
16           owner = "grain-lang";
17           repo = "dypgen";
18           rev = version;
19           hash = "sha256-fKuO/e5YbA2B7XcghWl9pXxwvKw9YlhnmZDZcuKe3cs=";
20         };
21       }
22     else if lib.versionOlder ocaml.version "4.06" then
23       {
24         version = "20120619-1";
25         src = fetchurl {
26           url = "http://dypgen.free.fr/dypgen-20120619-1.tar.bz2";
27           sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97";
28         };
29       }
30     else
31       throw "dypgen is not available for OCaml ${ocaml.version}";
34 stdenv.mkDerivation rec {
35   pname = "ocaml${ocaml.version}-dypgen";
36   inherit (params) src version;
38   nativeBuildInputs = [
39     ocaml
40     findlib
41   ];
43   strictDeps = true;
45   createFindlibDestdir = true;
47   buildPhase = ''
48     make
49   '';
51   makeFlags = [
52     "BINDIR=$(out)/bin"
53     "MANDIR=$(out)/usr/share/man/man1"
54     "DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib"
55   ];
57   meta = {
58     homepage = "http://dypgen.free.fr";
59     description = "Dypgen GLR self extensible parser generator";
60     license = lib.licenses.cecill-b;
61     inherit (ocaml.meta) platforms;
62   };