guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#45133] Add ocaml reactiveData


From: zimoun
Subject: [bug#45133] Add ocaml reactiveData
Date: Wed, 09 Dec 2020 18:59:26 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)

Hi,

On Wed, 09 Dec 2020 at 18:03, divoplade <d@divoplade.fr> wrote:
> Le mercredi 09 dcembre 2020  10:40 -0500, Julien Lepiller a crit :

>> There's no reason not to use the latest release. Could you scnd an
>> updated patch for the latest release, with a comment saying future
>> versions will use dune?
>> 
>> There seem to be some whitespace issues with your patch. Tabs?
>
> You should be more pleased by this version. There are a lot of build

Still tabs issues.

> files, and no install command. So, I provided mine, which seems to
> work, but I don't know what files should be installed. I bet on:
>
> - .a, for the native code;
> - .cma, for the ocaml bytecode;
> - .cmi, for the interface;
> - .cmxa for the ocaml native code;
> - .cmxs for the plugins;
> - .cmx if the compiler wants to inline code.

Maybe the .ml, .mli, .cmt and .cmti should also go in site-lib.


> +(define ocaml-reactiveData

define-public ocaml-reativedata I guess

> +  ;; Future releases will use dune.
> +  (package
> +    (name "ocaml-reactiveData")

       (name "ocaml-reactivedata")

> +    (version "0.2.2")
> +    (source
> +     (origin
> +       (method url-fetch)

Why not git-fetch?  From my point of view, it is better than 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)

I have not look into the details but since there is an opam file and a
topkg.ml file, I am confused why usual OCaml build dance does not work
here.

> +          (close-port makefile))

[...]

> +    (home-page
> +     "https://github.com/ocsigen/reactiveData";)

Same line.

> +    (synopsis
> +     "Declarative events and signals for OCaml")

Idem.

> +    (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.")

Indent.

> +    (license license:lgpl2.1+)))

Attached, a version with the comments. :-)

All the best,
simon

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index d23bd9108d..dee31730bf 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5866,47 +5866,47 @@ generate OCaml code from .glade files), libpanel, 
librsvg and quartz.")
     ;; Version 2 only, with linking exception.
     (license license:lgpl2.0)))
 
-(define ocaml-reactiveData
+(define-public ocaml-reactivedata
   ;; Future releases will use dune.
   (package
-    (name "ocaml-reactiveData")
+    (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 "
+    (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))))
+                    (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)))))
+           (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")
+    (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.")
+     "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+)))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]