unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: pukkamustard <pukkamustard@posteo.net>
To: 45498@debbugs.gnu.org
Subject: [bug#45498] [PATCH 12/12] gnu: Add ocaml-merlin.
Date: Mon, 28 Dec 2020 13:47:18 +0100	[thread overview]
Message-ID: <20201228124718.24736-12-pukkamustard@posteo.net> (raw)
In-Reply-To: <20201228124718.24736-1-pukkamustard@posteo.net>

* gnu/packages/ocaml.scm (ocaml-merlin): New variable.
  (ocaml-dot-merlin-reader): New variable.
  (ocaml4.07-merlin): Inherit from ocaml-merlin.
---
 gnu/packages/ocaml.scm | 89 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 75 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8d3a2e01f3..5b74116305 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -3908,11 +3908,41 @@ Mercurial's @code{https://www.selenic.com/blog/?p=663, unified test
 format}.  @code{craml} is released as a single binary (called @code{craml}).")
     (license license:isc)))
 
-(define-public ocaml4.07-merlin
+(define-public ocaml-dot-merlin-reader
   (package
-    (name "ocaml4.07-merlin")
-    (version "3.2.2")
+    (name "ocaml-dot-merlin-reader")
+    (version "3.4.2")
+    (source
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/ocaml/merlin")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
+    (build-system dune-build-system)
+    (arguments '(#:package "dot-merlin-reader"
+                 #:tests? #f))          ; no tests
+    (inputs
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)
+       ;; XXX: following are dependencies of ocaml-yojson. Should they be
+       ;; propagated-inputs in ocaml-yojson?
+       ("ocaml-biniou" ,ocaml-biniou)
+       ("ocaml-easy-format" ,ocaml-easy-format)))
     (home-page "https://ocaml.github.io/merlin/")
+    (synopsis "Reads config files for @code{ocaml-merlin}")
+    (description "@code{ocaml-dot-merlin-reader} is an external reader for
+@code{ocaml-merlin} configurations.")
+    (license license:expat)))
+
+(define-public ocaml-merlin
+  (package
+    (name "ocaml-merlin")
+    (version "3.4.2")
     (source
      (origin
        (method git-fetch)
@@ -3922,20 +3952,21 @@ format}.  @code{craml} is released as a single binary (called @code{craml}).")
        (file-name (git-file-name name version))
        (sha256
         (base32
-         "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+         "0i2nwkdh6cfzmnsdsr8aw86vs8j1k5jkjzrs61b9384wnffdbbmj"))))
     (build-system dune-build-system)
+    (arguments '(#:package "merlin"
+                 #:test-target "tests"))
     (inputs
-     `(("ocaml-biniou" ,(package-with-ocaml4.07 ocaml-biniou))
-       ("ocaml-yojson" ,(package-with-ocaml4.07 ocaml-yojson))
-       ("ocaml-easy-format" ,(package-with-ocaml4.07 ocaml-easy-format))))
+     `(("ocaml-yojson" ,ocaml-yojson)
+       ("ocaml-biniou" ,ocaml-biniou)
+       ("ocaml-easy-format" ,ocaml-easy-format)
+       ("ocaml-csexp" ,ocaml-csexp)
+       ("ocaml-result" ,ocaml-result)))
     (native-inputs
-     `(("ocaml-findlib" ,ocaml-findlib)))
-    (arguments
-     `(#:package "merlin"
-       #:tests? #f ;; Errors in tests in version 3.2.2
-       #:ocaml ,ocaml-4.07
-       #:findlib ,ocaml4.07-findlib
-       #:dune ,ocaml4.07-dune))
+     `(("ocaml-dot-merlin-reader" ,ocaml-dot-merlin-reader) ; required for tests
+       ("ocaml-mdx" ,ocaml-mdx)
+       ("jq" ,jq)))
+    (home-page "https://ocaml.github.io/merlin/")
     (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.
@@ -3943,6 +3974,36 @@ External contributors added support for Visual Studio Code, Sublime Text and
 Atom.")
     (license license:expat)))
 
+;; ocaml-merlin 3.4.2 can not be built with old version of dune used in
+;; package-with-ocaml4.07
+(define-public ocaml4.07-merlin
+  (package-with-ocaml4.07
+   (package
+     (inherit ocaml-merlin)
+     (name "ocaml-merlin")
+     (version "3.2.2")
+     (source
+      (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://github.com/ocaml/merlin")
+              (commit (string-append "v" version))))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32
+          "15ssgmwdxylbwhld9p1cq8x6kadxyhll5bfyf11dddj6cldna3hb"))))
+     (build-system dune-build-system)
+     (inputs
+      `(("ocaml-biniou" ,ocaml-biniou)
+        ("ocaml-yojson" ,ocaml-yojson)
+        ("ocaml-easy-format" ,ocaml-easy-format)))
+     (native-inputs
+      `(("ocaml-findlib" ,ocaml-findlib)))
+     (arguments
+      `(#:package "merlin"
+        ;; Errors in tests in version 3.2.2
+        #:tests? #f)))))
+
 (define-public ocaml4.07-gsl
   (package
     (name "ocaml4.07-gsl")
-- 
2.29.2





  parent reply	other threads:[~2020-12-28 12:48 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-28 12:40 [bug#45498] [PATCH 00/12] Add ocaml-merlin pukkamustard
2020-12-28 12:47 ` [bug#45498] [PATCH 01/12] gnu: Remove ocaml-js-build-tools pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 02/12] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 03/12] gnu: Add ocaml-base pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 04/12] gnu: Add ocaml-parsexp pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 05/12] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 06/12] gnu: Add ocaml-ounit2 pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 07/12] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 08/12] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
2020-12-28 13:58     ` Julien Lepiller
2020-12-28 12:47   ` [bug#45498] [PATCH 09/12] gnu: Add ocaml-odoc pukkamustard
2020-12-28 14:02     ` Julien Lepiller
2020-12-28 12:47   ` [bug#45498] [PATCH 10/12] gnu: Add ocaml-version pukkamustard
2020-12-28 12:47   ` [bug#45498] [PATCH 11/12] gnu: Add ocaml-mdx pukkamustard
2020-12-28 12:47   ` pukkamustard [this message]
2020-12-28 14:06 ` [bug#34412] [bug#45498] [PATCH 00/12] Add ocaml-merlin Julien Lepiller
2020-12-28 18:10   ` pukkamustard
2020-12-28 18:14     ` [bug#45498] [PATCH v2 01/13] gnu: Remove ocaml-js-build-tools pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 02/13] gnu: Add ocaml-sexplib0 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 03/13] gnu: Add ocaml-base pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 04/13] gnu: Add ocaml-parsexp pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 05/13] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 06/13] gnu: Add ocaml-ounit2 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 07/13] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 08/13] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 09/13] gnu: Add ocaml-odoc pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 10/13] gnu: Add ocaml-version pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 11/13] gnu: Add ocaml-mdx pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 12/13] gnu: Add ocaml-merlin pukkamustard
2020-12-28 18:14       ` [bug#45498] [PATCH v2 13/13] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
2020-12-28 20:00     ` [bug#45498] [PATCH 00/12] Add ocaml-merlin Julien Lepiller
2020-12-28 21:09       ` pukkamustard
2020-12-28 21:10         ` [bug#45498] [PATCH v3 01/14] gnu: Remove ocaml-js-build-tools pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 02/14] gnu: Add ocaml-sexplib0 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 03/14] gnu: Add ocaml-base pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 04/14] gnu: Add ocaml-parsexp pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 05/14] gnu: Add ocaml-sexplib pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 06/14] gnu: Add ocaml-ounit2 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 07/14] gnu: ocaml-tyxml: Update to 4.4.0 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 08/14] gnu: ocaml-markup: Update to 1.0.0 pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 09/14] gnu: Add ocaml-odoc pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 10/14] gnu: Add ocaml-version pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 11/14] gnu: Add ocaml-mdx pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 12/14] gnu: ocaml-yojson: Make dependencies propagated-inputs pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 13/14] gnu: Add ocaml-dot-merlin-reader pukkamustard
2020-12-28 21:10           ` [bug#45498] [PATCH v3 14/14] gnu: Add ocaml-merlin pukkamustard
2020-12-30 13:29 ` bug#45498: [PATCH 00/12] " Julien Lepiller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201228124718.24736-12-pukkamustard@posteo.net \
    --to=pukkamustard@posteo.net \
    --cc=45498@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).