From 190187326ad7516dd6728eed7bb6ef2d4f92897a Mon Sep 17 00:00:00 2001 From: divoplade Date: Thu, 10 Dec 2020 15:06:50 +0100 Subject: gnu: Add ocaml-reactivedata. * gnu/packages/ocaml.scm (ocaml-reactivedata): Add ocaml-reactivedata. Signed-off-by: Julien Lepiller --- gnu/packages/ocaml.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 2bfda7307e..c4900b6214 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -16,6 +16,7 @@ ;;; Copyright © 2020 Brett Gilio ;;; Copyright © 2020 Marius Bakke ;;; Copyright © 2020 Simon Tournier +;;; Copyright © 2020 divoplade ;;; ;;; This file is part of GNU Guix. ;;; @@ -5859,3 +5860,48 @@ (define-public lablgtk3 generate OCaml code from .glade files), libpanel, librsvg and quartz.") ;; Version 2 only, with linking exception. (license license:lgpl2.0))) + +(define-public ocaml-reactivedata + ;; Future releases will use dune. + (package + (name "ocaml-reactivedata") + (version "0.2.2") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ocsigen/reactiveData") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0l5z0fsckqkywjbn2nwy3s55h85yx8scc4hq9qzr9ig3hrq1mfb0")))) + (arguments + `(#:phases + (modify-phases %standard-phases + (delete 'configure) + (add-before 'build 'fix-deprecated + (lambda _ + (substitute* + "src/reactiveData.ml" + (("Pervasives.compare") "compare")) + #t)) + (add-before 'install 'forget-makefile + ;; Ensure we use opam to install files + (lambda _ + (delete-file "Makefile") + #t))))) + (build-system ocaml-build-system) + (properties `((upstream-name . "reactiveData"))) + (native-inputs + `(("ocamlbuild" ,ocamlbuild) + ("opam" ,opam))) + (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+))) -- cgit v1.2.3