summary refs log tree commit diff
path: root/pkgs/development/tools/ocaml/camlp5/5.15.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/development/tools/ocaml/camlp5/5.15.nix')
-rw-r--r--pkgs/development/tools/ocaml/camlp5/5.15.nix44
1 files changed, 44 insertions, 0 deletions
diff --git a/pkgs/development/tools/ocaml/camlp5/5.15.nix b/pkgs/development/tools/ocaml/camlp5/5.15.nix
new file mode 100644
index 000000000000..7247041cb1d4
--- /dev/null
+++ b/pkgs/development/tools/ocaml/camlp5/5.15.nix
@@ -0,0 +1,44 @@
+{stdenv, fetchurl, ocaml, transitional ? false}:
+
+let
+  ocaml_version = (builtins.parseDrvName ocaml.name).version;
+  pname = "camlp5";
+  version = "5.15";
+  webpage = http://pauillac.inria.fr/~ddr/camlp5/;
+  metafile = ./META;
+in
+
+stdenv.mkDerivation {
+
+  name = "${pname}${if transitional then "_transitional" else ""}-${version}";
+
+  src = fetchurl {
+    url = "${webpage}/distrib/src/${pname}-${version}.tgz";
+    sha256 = "1sx5wlfpydqskm97gp7887p3avbl3vanlmrwj35wx5mbzj6kn9nq";
+  };
+
+  buildInputs = [ ocaml ];
+
+  prefixKey = "-prefix ";
+
+  preConfigure = "configureFlagsArray=(" +  (if transitional then "--transitional" else "--strict") +
+                  " --libdir $out/lib/ocaml/${ocaml_version}/site-lib)";
+
+  buildFlags = "world.opt";
+
+  postInstall = "cp ${metafile} $out/lib/ocaml/${ocaml_version}/site-lib/camlp5/META";
+
+  meta = {
+    description = "Preprocessor-pretty-printer for OCaml";
+    longDescription = ''
+      Camlp5 is a preprocessor and pretty-printer for OCaml programs.
+      It also provides parsing and printing tools.
+    '';
+    homepage = "${webpage}";
+    license = "BSD";
+    platforms = ocaml.meta.platforms;
+    maintainers = [
+      stdenv.lib.maintainers.z77z
+    ];
+  };
+}