From f0c1d3e95bb4d348fe863dfd1286e65dce7eb3a2 Mon Sep 17 00:00:00 2001
From: divoplade <d@divoplade.fr>
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(+)
@@ -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