diff options
Diffstat (limited to 'pkgs/development/ocaml-modules/menhir/default.nix')
-rw-r--r-- | pkgs/development/ocaml-modules/menhir/default.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/ocaml-modules/menhir/default.nix b/pkgs/development/ocaml-modules/menhir/default.nix new file mode 100644 index 0000000000000..7c1a2bfe829ae --- /dev/null +++ b/pkgs/development/ocaml-modules/menhir/default.nix @@ -0,0 +1,47 @@ +{stdenv, fetchurl, ocaml, findlib}: + +let + ocaml_version = (builtins.parseDrvName ocaml.name).version; + version = "20090505"; +in + +stdenv.mkDerivation { + name = "menhir-${version}"; + + src = fetchurl { + url = "http://pauillac.inria.fr/~fpottier/menhir/menhir-${version}.tar.gz"; + sha256 = "1dsy80wp7k9wbxc89pjzy2izdkk4b72104m9ik747xzy23mssbyx"; + }; + + buildInputs = [ocaml findlib]; + + configurePhase = "true"; # Skip configure + + preBuild = '' + #Fix makefiles. + RM=$(type -p rm) + CHMOD=$(type -p chmod) + ENV=$(type -p env) + for f in src/Makefile demos/OMakefile* demos/Makefile* demos/ocamldep.wrapper + do + substituteInPlace $f \ + --replace /bin/rm $RM \ + --replace /bin/chmod $CHMOD \ + --replace /usr/bin/env $ENV + done + + export PREFIX=$out + ''; + + meta = { + homepage = http://pauillac.inria.fr/~fpottier/menhir/; + description = "A LR(1) parser generator for OCaml"; + longDescription = '' + Menhir is a LR(1) parser generator for the Objective Caml programming + language. That is, Menhir compiles LR(1) grammar specifications down + to OCaml code. Menhir was designed and implemented by François Pottier + and Yann Régis-Gianas. + ''; + license = "QPL,LGPL+linking exceptions"; + }; +} |