1 { stdenv, lib, fetchFromGitHub, fetchurl, ocaml, findlib }:
4 if lib.versionAtLeast ocaml.version "4.07" then rec {
6 src = fetchFromGitHub {
10 hash = "sha256-fKuO/e5YbA2B7XcghWl9pXxwvKw9YlhnmZDZcuKe3cs=";
12 } else if lib.versionOlder ocaml.version "4.06" then {
13 version = "20120619-1";
15 url = "http://dypgen.free.fr/dypgen-20120619-1.tar.bz2";
16 sha256 = "ecb53d6e469e9ec4d57ee6323ff498d45b78883ae13618492488e7c5151fdd97";
18 } else throw "dypgen is not available for OCaml ${ocaml.version}"
21 stdenv.mkDerivation rec {
22 pname = "ocaml${ocaml.version}-dypgen";
23 inherit (params) src version;
25 nativeBuildInputs = [ ocaml findlib ];
29 createFindlibDestdir = true;
35 makeFlags = [ "BINDIR=$(out)/bin" "MANDIR=$(out)/usr/share/man/man1" "DYPGENLIBDIR=$(out)/lib/ocaml/${ocaml.version}/site-lib" ];
38 homepage = "http://dypgen.free.fr";
39 description = "Dypgen GLR self extensible parser generator";
40 license = lib.licenses.cecill-b;
41 inherit (ocaml.meta) platforms;