[bug#34412] gnu: ocaml-merlin: Added tests

Message ID 877ee74v93.fsf@gmail.com
State Accepted
Headers show
Series [bug#34412] gnu: ocaml-merlin: Added tests | expand

Checks

Context Check Description
cbaines/applying patch fail Apply failed

Commit Message

Gabriel Hondet Feb. 10, 2019, 1:36 p.m. UTC
* gnu/packages/ocaml.scm (ocaml-merlin): Added tests
---
 gnu/packages/ocaml.scm | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

Comments

swedebugia June 28, 2019, 5:41 a.m. UTC | #1
On 2019-02-10 14:36, Gabriel Hondet wrote:
> * gnu/packages/ocaml.scm (ocaml-merlin): Added tests
> ---
>   gnu/packages/ocaml.scm | 23 +++++++++++++++++++++--
>   1 file changed, 21 insertions(+), 2 deletions(-)
> 
> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
> index 07fcf92ae..0b33c257a 100644
> --- a/gnu/packages/ocaml.scm
> +++ b/gnu/packages/ocaml.scm
> @@ -66,6 +66,7 @@
>     #:use-module (gnu packages version-control)
>     #:use-module (gnu packages virtualization)
>     #:use-module (gnu packages web-browsers)
> +  #:use-module (gnu packages web)
>     #:use-module (gnu packages xml)
>     #:use-module (gnu packages xorg)
>     #:use-module (guix build-system dune)
> @@ -4785,6 +4786,11 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
>                (url"https://github.com/ocaml/merlin.git")
>                (commit (string-append "v" version))))
>          (file-name (git-file-name name version))
> +       (modules '((guix build utils)))
> +       (snippet '(begin
> +                   ;; fix a dune file calling missing dependencies
> +                   (substitute* "tests/locate/partial-cmt/dune"
> +                     (("a.ml a.mli") ""))))
>          (sha256
>           (base32
>            "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
> @@ -4794,9 +4800,22 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
>          ("ocaml-yojson" ,ocaml-yojson)
>          ("ocaml-easy-format" ,ocaml-easy-format)))
>       (native-inputs
> -     `(("ocaml-findlib" ,ocaml-findlib)))
> +     `(("ocaml-findlib" ,ocaml-findlib)
> +       ("ocaml-craml" ,ocaml-craml)
> +       ("jq" ,jq)))
>       (arguments
> -     '(#:tests? #f)) ;; Errors in tests in version 3.2.2
> +     '(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'check 'remove-failing
> +           (lambda _
> +             (delete-file-recursively "tests/warnings/")
> +             (delete-file-recursively ;fail because of shebang patching
> +              "tests/locate/context-detection/")
> +             #t))
> +         (replace 'check
> +           (lambda _
> +             (invoke "make" "test")
> +             #t)))))
>       (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
>       (description "Merlin is an editor service that provides modern IDE
>   features for OCaml.  Emacs and Vim support is provided out-of-the-box.
> -- 2.20.1
> 

This has slipped through the cracks. Could you rebase to current master 
and send an updated patch?
Julien Lepiller June 28, 2019, 6:17 a.m. UTC | #2
Sorry for not having seen that!

Le 28 juin 2019 07:41:38 GMT+02:00, swedebugia <swedebugia@riseup.net> a écrit :
>On 2019-02-10 14:36, Gabriel Hondet wrote:
>> * gnu/packages/ocaml.scm (ocaml-merlin): Added tests
>> ---
>>   gnu/packages/ocaml.scm | 23 +++++++++++++++++++++--
>>   1 file changed, 21 insertions(+), 2 deletions(-)
>> 
>> diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
>> index 07fcf92ae..0b33c257a 100644
>> --- a/gnu/packages/ocaml.scm
>> +++ b/gnu/packages/ocaml.scm
>> @@ -66,6 +66,7 @@
>>     #:use-module (gnu packages version-control)
>>     #:use-module (gnu packages virtualization)
>>     #:use-module (gnu packages web-browsers)
>> +  #:use-module (gnu packages web)
>>     #:use-module (gnu packages xml)
>>     #:use-module (gnu packages xorg)
>>     #:use-module (guix build-system dune)
>> @@ -4785,6 +4786,11 @@ format}.  @code{craml} is released as a single
>binary (called @code{craml}).")
>>                (url"https://github.com/ocaml/merlin.git")
>>                (commit (string-append "v" version))))
>>          (file-name (git-file-name name version))
>> +       (modules '((guix build utils)))
>> +       (snippet '(begin
>> +                   ;; fix a dune file calling missing dependencies
>> +                   (substitute* "tests/locate/partial-cmt/dune"
>> +                     (("a.ml a.mli") ""))))
>>          (sha256
>>           (base32
>>            "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
>> @@ -4794,9 +4800,22 @@ format}.  @code{craml} is released as a single
>binary (called @code{craml}).")
>>          ("ocaml-yojson" ,ocaml-yojson)
>>          ("ocaml-easy-format" ,ocaml-easy-format)))
>>       (native-inputs
>> -     `(("ocaml-findlib" ,ocaml-findlib)))
>> +     `(("ocaml-findlib" ,ocaml-findlib)
>> +       ("ocaml-craml" ,ocaml-craml)
>> +       ("jq" ,jq)))
>>       (arguments
>> -     '(#:tests? #f)) ;; Errors in tests in version 3.2.2
>> +     '(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-before 'check 'remove-failing
>> +           (lambda _
>> +             (delete-file-recursively "tests/warnings/")
>> +             (delete-file-recursively ;fail because of shebang
>patching
>> +              "tests/locate/context-detection/")

Can we try and fix the shebang then?

>> +             #t))
>> +         (replace 'check
>> +           (lambda _
>> +             (invoke "make" "test")
>> +             #t)))))

I think #:test-target "test" would be enough, no?

>>       (synopsis "Context sensitive completion for OCaml in Vim and
>Emacs")
>>       (description "Merlin is an editor service that provides modern
>IDE
>>   features for OCaml.  Emacs and Vim support is provided
>out-of-the-box.
>> -- 2.20.1
>> 
>
>This has slipped through the cracks. Could you rebase to current master
>
>and send an updated patch?
Julien Lepiller Oct. 8, 2021, 2:57 a.m. UTC | #3
Hi!

So, since we have ocaml-merlin now, and since ocaml4.07-merlin is not
required by any other package, should we get rid of it? Or do we still
have a use for it?
Simon Tournier Oct. 11, 2021, 11:35 a.m. UTC | #4
Hi Julien

What is the plan for removing ocaml4.07 packages?

BTW, this patch submission could be closed, IMHO.  Because as you
said, ocaml-merlin is in and ocaml4.07-merlin is not required by any
other package.

Cheers,
simon
Simon Tournier April 7, 2022, 12:14 p.m. UTC | #5
Hi,

Thanks for your contribution with patch#34412 [1].  The ’ocaml-merlin’
contains this:

--8<---------------cut here---------------start------------->8---
       (modify-phases %standard-phases
         (replace 'check
           (lambda* (#:key tests? #:allow-other-keys)
             (when tests?
               (invoke "dune" "runtest" "-p" "merlin,dot-merlin-reader")))))))
--8<---------------cut here---------------end--------------->8---

added by 980c33bd3f16e44a123ef21408a56e59ebb76373.  And the package
’ocaml4.07-merlin’ had been removed by
188e3e2e6878346b0bdc8b46084f458abe86826c.

Therefore, closing.


Cheers,
simon


1: <http://issues.guix.gnu.org/issue/34412>

Patch

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 07fcf92ae..0b33c257a 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -66,6 +66,7 @@ 
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages virtualization)
   #:use-module (gnu packages web-browsers)
+  #:use-module (gnu packages web)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system dune)
@@ -4785,6 +4786,11 @@  format}.  @code{craml} is released as a single binary (called @code{craml}).")
              (url "https://github.com/ocaml/merlin.git")
              (commit (string-append "v" version))))
        (file-name (git-file-name name version))
+       (modules '((guix build utils)))
+       (snippet '(begin
+                   ;; fix a dune file calling missing dependencies
+                   (substitute* "tests/locate/partial-cmt/dune"
+                     (("a.ml a.mli") ""))))
        (sha256
         (base32
          "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
@@ -4794,9 +4800,22 @@  format}.  @code{craml} is released as a single binary (called @code{craml}).")
        ("ocaml-yojson" ,ocaml-yojson)
        ("ocaml-easy-format" ,ocaml-easy-format)))
     (native-inputs
-     `(("ocaml-findlib" ,ocaml-findlib)))
+     `(("ocaml-findlib" ,ocaml-findlib)
+       ("ocaml-craml" ,ocaml-craml)
+       ("jq" ,jq)))
     (arguments
-     '(#:tests? #f)) ;; Errors in tests in version 3.2.2
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-before 'check 'remove-failing
+           (lambda _
+             (delete-file-recursively "tests/warnings/")
+             (delete-file-recursively ;fail because of shebang patching
+              "tests/locate/context-detection/")
+             #t))
+         (replace 'check
+           (lambda _
+             (invoke "make" "test")
+             #t)))))
     (synopsis "Context sensitive completion for OCaml in Vim and Emacs")
     (description "Merlin is an editor service that provides modern IDE
 features for OCaml.  Emacs and Vim support is provided out-of-the-box.