From cdf3dc27935e65196a0e17a7b3aaae6e443eaa09 Mon Sep 17 00:00:00 2001 From: Vincent Laporte Date: Fri, 10 Oct 2014 23:33:22 +0100 Subject: [PATCH] ocaml-reactivedata: new package reactiveData is an OCaml module for functional reactive programming (FRP) based on React. Homepage: https://github.com/hhugo/reactiveData --- .../ocaml-modules/reactivedata/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/ocaml-modules/reactivedata/default.nix diff --git a/pkgs/development/ocaml-modules/reactivedata/default.nix b/pkgs/development/ocaml-modules/reactivedata/default.nix new file mode 100644 index 000000000000..eecae885302f --- /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 21381e7ac953..cfb82f45591b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3536,6 +3536,7 @@ let }; ocaml_react = callPackage ../development/ocaml-modules/react { }; + reactivedata = callPackage ../development/ocaml-modules/reactivedata {}; ocamlsdl= callPackage ../development/ocaml-modules/ocamlsdl { };