From f0c1d3e95bb4d348fe863dfd1286e65dce7eb3a2 Mon Sep 17 00:00:00 2001 From: divoplade Date: Wed, 9 Dec 2020 15:45:04 +0100 Subject: [PATCH] gnu: add ocaml-reactiveData * ocaml.scm (ocaml-reactiveData): add ocaml-reactiveData --- gnu/packages/ocaml.scm | 45 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2bfda7307e..e3fcbe236f 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -5859,3 +5859,48 @@ LablGL), gnomecanvas, gnomeui, gtksourceview, gtkspell, libglade (and it can generate OCaml code from .glade files), libpanel, librsvg and quartz.") ;; Version 2 only, with linking exception. (license license:lgpl2.0))) + +(define ocaml-reactiveData + ;; Future releases will use dune. + (package + (name "ocaml-reactiveData") + (version "0.2.2") + (source + (origin + (method url-fetch) + (uri "https://github.com/ocsigen/reactiveData/archive/0.2.2.tar.gz") + (sha256 + (base32 + "0jzagyp4zla28wykvcgqwd8df71ir0vb4s8akp02cfacd5v86sng")) + (snippet + `(begin + (let ((makefile (open-file "Makefile" "a"))) + (display " +install: +\tocamlfind install reactiveData pkg/META _build/src/reactiveData.{a,cma,cmi,cmx,cmxa,cmxs} +" makefile) + (close-port makefile)) + #t)))) + (arguments + `(#:phases + (modify-phases + %standard-phases + (delete 'configure) + (add-before 'build 'fix-deprecated + (lambda _ + (substitute* + "src/reactiveData.ml" + (("Pervasives.compare") "compare")) + #t))))) + (build-system ocaml-build-system) + (native-inputs + `(("ocamlbuild" ,ocamlbuild))) + (propagated-inputs + `(("ocaml-react" ,ocaml-react))) + (home-page + "https://github.com/ocsigen/reactiveData") + (synopsis + "Declarative events and signals for OCaml") + (description + "React is an OCaml module for functional reactive programming (FRP). It provides support to program with time varying values : declarative events and signals. React doesn't define any primitive event or signal, it lets the client chooses the concrete timeline.") + (license license:lgpl2.1+))) -- 2.29.2