diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix new file mode 100644 index 00000000000..183640f5985 --- /dev/null +++ b/pkgs/development/compilers/mezzo/default.nix @@ -0,0 +1,29 @@ +{stdenv, fetchurl, ocaml, findlib, menhir, yojson, ulex, pprint, fix, functory}: + +stdenv.mkDerivation { + + name = "mezzo-0.0.m8"; + + src = fetchurl { + url = https://github.com/protz/mezzo/archive/m8.tar.gz; + sha256 = "17mfapgqp8ssa5x9blv72zg9l561zbiwv3ikwi6nl9dd36lwkkc6"; + }; + + buildInputs = [ ocaml findlib yojson menhir ulex pprint fix functory ]; + + createFindlibDestdir = true; + + postInstall = '' + mkdir $out/bin + cp mezzo $out/bin/ + ''; + + meta = with stdenv.lib; { + homepage = http://protz.github.io/mezzo/; + description = "A programming language in the ML tradition, which places strong emphasis on the control of aliasing and access to mutable memory"; + license = licenses.gpl2; + platforms = ocaml.meta.platforms; + }; +} + + diff --git a/pkgs/development/ocaml-modules/fix/default.nix b/pkgs/development/ocaml-modules/fix/default.nix new file mode 100644 index 00000000000..5ead575d088 --- /dev/null +++ b/pkgs/development/ocaml-modules/fix/default.nix @@ -0,0 +1,23 @@ +{stdenv, fetchurl, ocaml, findlib}: + +stdenv.mkDerivation { + + name = "ocaml-fix-20130611"; + + src = fetchurl { + url = http://gallium.inria.fr/~fpottier/fix/fix-20130611.tar.gz; + sha256 = "1phlqcs1nb93x9cf0w0hnq2ck4dmn71zm4mxf60w96vb9yb9qzp0"; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + homepage = http://gallium.inria.fr/~fpottier/fix/; + description = "A simple OCaml module for computing the least solution of a system of monotone equations"; + license = licenses.cecill-c; + platforms = ocaml.meta.platforms; + }; +} + diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix new file mode 100644 index 00000000000..b596272655e --- /dev/null +++ b/pkgs/development/ocaml-modules/functory/default.nix @@ -0,0 +1,26 @@ +{stdenv, fetchurl, ocaml, findlib}: + +stdenv.mkDerivation { + + name = "ocaml-functory-0.5"; + + src = fetchurl { + url = https://www.lri.fr/~filliatr/functory/download/functory-0.5.tar.gz; + sha256 = "1j17rhifdjv1z262dma148ywg34x0zjn8vczdrnkwajsm4qg1hw3"; + }; + + buildInputs = [ ocaml findlib ]; + + installTargets = "ocamlfind-install"; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + homepage = https://www.lri.fr/~filliatr/functory/; + description = "A distributed computing library for Objective Caml which facilitates distributed execution of parallelizable computations in a seamless fashion"; + license = licenses.lgpl21; + platforms = ocaml.meta.platforms; + }; +} + + diff --git a/pkgs/development/ocaml-modules/pprint/default.nix b/pkgs/development/ocaml-modules/pprint/default.nix new file mode 100644 index 00000000000..e025801bb21 --- /dev/null +++ b/pkgs/development/ocaml-modules/pprint/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, ocaml, findlib}: + +stdenv.mkDerivation { + + name = "ocaml-pprint-20140424"; + + src = fetchurl { + url = http://gallium.inria.fr/~fpottier/pprint/pprint-20140424.tar.gz; + sha256 = "0sc9q89dnyarcg24czyhr6ams0ylqvia3745s6rfwd2nldpygsdk"; + }; + + buildInputs = [ ocaml findlib ]; + + createFindlibDestdir = true; + + dontBuild = true; + installFlags = "-C src"; + + meta = with stdenv.lib; { + homepage = http://gallium.inria.fr/~fpottier/pprint/; + description = "An OCaml adaptation of Wadler’s and Leijen’s prettier printer"; + license = licenses.cecill-c; + platforms = ocaml.meta.platforms; + }; +} + + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dc567d13238..7e1097e719e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3376,6 +3376,10 @@ let findlib = callPackage ../development/tools/ocaml/findlib { }; + fix = callPackage ../development/ocaml-modules/fix { }; + + functory = callPackage ../development/ocaml-modules/functory { }; + javalib = callPackage ../development/ocaml-modules/javalib { extlib = ocaml_extlib_maximal; }; @@ -3407,6 +3411,8 @@ let merlin = callPackage ../development/tools/ocaml/merlin { }; + mezzo = callPackage ../development/compilers/mezzo { }; + mldonkey = callPackage ../applications/networking/p2p/mldonkey { }; mlgmp = callPackage ../development/ocaml-modules/mlgmp { }; @@ -3488,6 +3494,8 @@ let minimal = false; }; + pprint = callPackage ../development/ocaml-modules/pprint { }; + pycaml = callPackage ../development/ocaml-modules/pycaml { }; opam_1_0_0 = callPackage ../development/tools/ocaml/opam/1.0.0.nix { };