diff --git a/pkgs/development/ocaml-modules/macaque/default.nix b/pkgs/development/ocaml-modules/macaque/default.nix new file mode 100644 index 00000000000..f2d13ad1f13 --- /dev/null +++ b/pkgs/development/ocaml-modules/macaque/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchurl, ocaml, findlib, pgocaml, camlp4}: + +stdenv.mkDerivation { + name = "ocaml-macaque-0.7.1"; + src = fetchurl { + url = https://github.com/ocsigen/macaque/archive/0.7.1.tar.gz; + sha256 = "0wnq3pgpcrfpivr8j7p827rhag6hdx0yr0bdvma0hw1g30vwf9qa"; + }; + + buildInputs = [ ocaml findlib camlp4 ]; + propagatedBuildInputs = [ pgocaml ]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + description = "Macros for Caml Queries"; + homepage = https://github.com/ocsigen/macaque; + license = licenses.lgpl2; + platforms = ocaml.meta.platforms; + maintainers = with maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/development/ocaml-modules/pgocaml/default.nix b/pkgs/development/ocaml-modules/pgocaml/default.nix new file mode 100644 index 00000000000..f1166d1c324 --- /dev/null +++ b/pkgs/development/ocaml-modules/pgocaml/default.nix @@ -0,0 +1,22 @@ +{stdenv, fetchurl, ocaml, findlib, camlp4, calendar, csv, ocaml_pcre}: + +stdenv.mkDerivation { + name = "ocaml-pgocaml-2.1"; + src = fetchurl { + url = http://forge.ocamlcore.org/frs/download.php/1413/pgocaml-2.1.tgz; + sha256 = "0m7whlmhm7z58pfaarvkyiwaylmrz05aj6fr773zd9xlv07ljiym"; + }; + + buildInputs = [ocaml findlib camlp4]; + propagatedBuildInputs = [calendar csv ocaml_pcre]; + + createFindlibDestdir = true; + + meta = with stdenv.lib; { + description = "An interface to PostgreSQL databases for OCaml applications"; + homepage = http://pgocaml.forge.ocamlcore.org/; + license = licenses.lgpl2; + platforms = ocaml.meta.platforms; + maintainers = with maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix new file mode 100644 index 00000000000..eecae885302 --- /dev/null +++ b/pkgs/development/ocaml-modules/reactivedata/default.nix @@ -0,0 +1,34 @@ +{stdenv, fetchurl, ocaml, findlib, ocaml_react, opam}: + +let + ocamlVersion = stdenv.lib.getVersion ocaml; +in + +assert stdenv.lib.versionAtLeast ocamlVersion "3.11"; + +stdenv.mkDerivation { + name = "ocaml-reactiveData-0.1"; + src = fetchurl { + url = https://github.com/hhugo/reactiveData/archive/0.1.tar.gz; + sha256 = "056y9in6j6rpggdf8apailvs1m30wxizpyyrj08xyfxgv91mhxgw"; + }; + + buildInputs = [ocaml findlib opam]; + propagatedBuildInputs = [ocaml_react]; + + buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true"; + + installPhase = '' + opam-installer --script --prefix=$out reactiveData.install > install.sh + sed -i s!lib/reactiveData!lib/ocaml/${ocamlVersion}/site-lib/reactiveData! install.sh + sh install.sh + ''; + + meta = with stdenv.lib; { + description = "An OCaml module for functional reactive programming (FRP) based on React"; + homepage = https://github.com/hhugo/reactiveData; + license = licenses.lgpl21; + platforms = ocaml.meta.platforms; + maintainers = with maintainers; [ vbgl ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8a47bd66dd2..99013f0f3c0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3493,6 +3493,8 @@ let lambdaTerm = callPackage ../development/ocaml-modules/lambda-term { }; + macaque = callPackage ../development/ocaml-modules/macaque { }; + menhir = callPackage ../development/ocaml-modules/menhir { }; merlin = callPackage ../development/tools/ocaml/merlin { }; @@ -3535,7 +3537,10 @@ let inherit pcre; }; + pgocaml = callPackage ../development/ocaml-modules/pgocaml {}; + ocaml_react = callPackage ../development/ocaml-modules/react { }; + reactivedata = callPackage ../development/ocaml-modules/reactivedata {}; ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };