unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Julien Lepiller <julien@lepiller.eu>
To: Herman Rimm <herman@rimm.ee>, 73466@debbugs.gnu.org
Cc: pukkamustard <pukkamustard@posteo.net>
Subject: [bug#73466] [PATCH 01/16] gnu: Add ocaml-jsonrpc.
Date: Wed, 25 Sep 2024 12:01:26 +0200	[thread overview]
Message-ID: <9C6FF7C3-B640-4D43-BD1B-F599FE7BE75F@lepiller.eu> (raw)
In-Reply-To: <2a9cc50a22ef14c84d7a5479e10ff42e9efa5ba1.1727250772.git.herman@rimm.ee>

Thanks for the patch!
I'm not at my computer right now, so I cannot check quickly, but I think the added patch would be useless if you used (arguments `(#:package "jsonrpc")).

The other packages in the series look good, but:

We already have menhir, menhirLib and menhirSdk should be useless (maybe something to fix in the importer)

Most packages use url-fetch to get an archive from github. These are not stable, so we usually use git-fetch instead.

Some descriptions are quite short. Some are not even a full sentence. Could you maybe add one or two sentences to explain the core concept, if possible?

Some patches introduce multiple packages, they should be split.

Don't we already have qcheck and js-of-ocaml? Am I confusing with something else?

Le 25 septembre 2024 09:54:11 GMT+02:00, Herman Rimm <herman@rimm.ee> a écrit :
>* gnu/packages/ocaml.scm (ocaml-jsonrpc): Add variable.
>* gnu/packages/patches/ocaml-jsonrpc.patch: Add file.
>* gnu/local.mk (dist_patch_DATA): Register file.
>
>Change-Id: I0486038d2d5936ca462413eca605c356c00d39d7
>---
> gnu/local.mk                             |  1 +
> gnu/packages/ocaml.scm                   | 42 +++++++++++++++
> gnu/packages/patches/ocaml-jsonrpc.patch | 66 ++++++++++++++++++++++++
> 3 files changed, 109 insertions(+)
> create mode 100644 gnu/packages/patches/ocaml-jsonrpc.patch
>
>diff --git a/gnu/local.mk b/gnu/local.mk
>index 795ff822a4..dc139429dd 100644
>--- a/gnu/local.mk
>+++ b/gnu/local.mk
>@@ -1820,6 +1820,7 @@ dist_patch_DATA =						\
>   %D%/packages/patches/nyacc-binary-literals.patch		\
>   %D%/packages/patches/obs-modules-location.patch		\
>   %D%/packages/patches/ocaml-multiple-definitions.patch		\
>+  %D%/packages/patches/ocaml-jsonrpc.patch			\
>   %D%/packages/patches/ocaml-4.07-dynamically-allocate-signal-stack.patch	\
>   %D%/packages/patches/ocaml-4.09-dynamically-allocate-signal-stack.patch	\
>   %D%/packages/patches/ocaml-4.09-multiple-definitions.patch	\
>diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
>index 6ba5f5e374..e7dcedc939 100644
>--- a/gnu/packages/ocaml.scm
>+++ b/gnu/packages/ocaml.scm
>@@ -73,6 +73,7 @@ (define-module (gnu packages ocaml)
>   #:use-module (gnu packages maths)
>   #:use-module (gnu packages multiprecision)
>   #:use-module (gnu packages ncurses)
>+  #:use-module (gnu packages networking)
>   #:use-module (gnu packages node)
>   #:use-module (gnu packages pcre)
>   #:use-module (gnu packages perl)
>@@ -81,6 +82,7 @@ (define-module (gnu packages ocaml)
>   #:use-module (gnu packages python)
>   #:use-module (gnu packages python-xyz)
>   #:use-module (gnu packages rsync)
>+  #:use-module (gnu packages ruby)
>   #:use-module (gnu packages sdl)
>   #:use-module (gnu packages sqlite)
>   #:use-module (gnu packages tex)
>@@ -3984,6 +3986,46 @@ (define-public ocaml-jsonm
> without a complete in-memory representation of the data.")
>     (license license:isc)))
> 
>+(define-public ocaml-jsonrpc
>+  (package
>+    (name "ocaml-jsonrpc")
>+    (version "1.17.0")
>+    (source
>+     (origin
>+       (method git-fetch)
>+       (uri (git-reference
>+             (url "https://github.com/ocaml/ocaml-lsp")
>+             (commit version)))
>+       (file-name (git-file-name name version))
>+       (modules '((guix build utils)))
>+       (snippet
>+        #~(for-each delete-file-recursively
>+                    '("jsonrpc-fiber"
>+                      "lsp"
>+                      "lsp.opam"
>+                      "lsp-fiber"
>+                      "ocaml-lsp-server"
>+                      "ocaml-lsp-server.opam")))
>+       (sha256
>+        (base32
>+         "1w1m2mi7va3wcwgvgzqd3af6hrhx5zzyr3hqa228pcimp44w6f0h"))
>+       (patches (search-patches "ocaml-jsonrpc.patch"))))
>+    (build-system dune-build-system)
>+    (propagated-inputs (list ocaml-odoc))
>+    (native-inputs (list dune-stdune
>+                         ocaml-dune-build-info
>+                         ocaml-ppx-expect
>+                         ocaml-ppx-inline-test
>+                         ocaml-ppx-yojson-conv-lib
>+                         ocaml-uutf
>+                         ocaml-yojson))
>+    (home-page "https://github.com/ocaml/ocaml-lsp")
>+    (synopsis "Jsonrpc protocol implemenation")
>+    (description
>+      "This package provides a JSON-RPC implementation as described in
>+      https://www.jsonrpc.org/specification.")
>+    (license license:isc)))
>+
> (define-public ocaml-ocp-indent
>   (package
>     (name "ocaml-ocp-indent")
>diff --git a/gnu/packages/patches/ocaml-jsonrpc.patch b/gnu/packages/patches/ocaml-jsonrpc.patch
>new file mode 100644
>index 0000000000..1b40f4b90e
>--- /dev/null
>+++ b/gnu/packages/patches/ocaml-jsonrpc.patch
>@@ -0,0 +1,66 @@
>+diff --git a/dune-project b/dune-project
>+index 34c04542..d25da5c8 100644
>+--- a/dune-project
>++++ b/dune-project
>+@@ -1,6 +1,6 @@
>+ (lang dune 3.0)
>+ (using cinaps 1.0)
>+-(name lsp)
>++(name jsonrpc)
>+ 
>+ (implicit_transitive_deps false)
>+ 
>+@@ -22,53 +22,6 @@
>+ 
>+ (generate_opam_files true)
>+ 
>+-(package
>+- (name lsp)
>+- (synopsis "LSP protocol implementation in OCaml")
>+- (description "
>+-Implementation of the LSP protocol in OCaml. It is designed to be as portable as
>+-possible and does not make any assumptions about IO.
>+-")
>+- (depends
>+-  (jsonrpc (= :version))
>+-  yojson
>+-  (ppx_yojson_conv_lib (>= "v0.14"))
>+-  (cinaps :with-test)
>+-  (ppx_expect (and (>= v0.15.0) :with-test))
>+-  (uutf (>= 1.0.2))
>+-  (odoc :with-doc)
>+-  (ocaml (>= 4.14))))
>+-
>+-(package
>+- (name ocaml-lsp-server)
>+- (synopsis "LSP Server for OCaml")
>+- (description "An LSP server for OCaml.")
>+- (depends
>+-  yojson
>+-  (re (>= 1.5.0))
>+-  (ppx_yojson_conv_lib (>= "v0.14"))
>+-  (dune-rpc (>= 3.4.0))
>+-  (chrome-trace (>= 3.3.0))
>+-  dyn
>+-  stdune
>+-  (fiber (and (>= 3.1.1) (< 4.0.0)))
>+-  xdg
>+-  ordering
>+-  dune-build-info
>+-  spawn
>+-  astring
>+-  camlp-streams
>+-  (ppx_expect (and (>= v0.15.0) :with-test))
>+-  (ocamlformat (and :with-test (= 0.24.1)))
>+-  (ocamlc-loc (>= 3.7.0))
>+-  (uutf (>= 1.0.2))
>+-  (pp (>= 1.1.2))
>+-  (csexp (>= 1.5))
>+-  (ocamlformat-rpc-lib (>= 0.21.0))
>+-  (odoc :with-doc)
>+-  (ocaml (and (>= 4.14) (< 5.2)))
>+-  (merlin-lib (and (>= 4.9) (< 5.0)))))
>+-
>+ (package
>+  (name jsonrpc)
>+  (synopsis "Jsonrpc protocol implemenation")
>
>base-commit: 3ac69c1a757430d6dfdd37eb948ba1d6967967cc




  parent reply	other threads:[~2024-09-25 10:02 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-25  7:54 [bug#73466] [PATCH 01/16] gnu: Add ocaml-jsonrpc Herman Rimm via Guix-patches via
2024-09-25  8:02 ` [bug#73466] [PATCH 02/16] gnu: Add ocaml-ppx-yojson-conv-lib Herman Rimm via Guix-patches via
2024-09-25  8:02 ` [bug#73466] [PATCH 03/16] gnu: Add ocaml-arg-complete Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 04/16] gnu: Add ocaml-catapult Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 05/16] gnu: Add ocaml-directories Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 06/16] gnu: Add ocaml-menhirSdk Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 07/16] gnu: Add ocaml-zarith-stubs-js Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 08/16] gnu: Add ocaml-qcheck-core Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 09/16] gnu: Add ocaml-js-of-ocaml-compiler Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 10/16] gnu: Add ocaml-json-data-encoding Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 11/16] gnu: Add ocaml-cpu Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 12/16] gnu: Add ocaml-ppx-deriving-hash Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 13/16] gnu: ocaml-tyxml: Update to 4.6.0 Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 14/16] gnu: Add ocaml-zmq Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 15/16] gnu: Add ocaml-goblint-cil Herman Rimm via Guix-patches via
2024-09-25  8:03 ` [bug#73466] [PATCH 16/16] gnu: Add ocaml-goblint Herman Rimm via Guix-patches via
2024-09-25 10:01 ` Julien Lepiller [this message]
2024-09-26  7:23 ` [bug#73466] [PATCH v2 01/15] gnu: Add ocaml-ppx-yojson-conv-lib Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 02/15] gnu: Add ocaml-jsonrpc Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 03/15] gnu: Add ocaml-arg-complete Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 04/15] gnu: Add ocaml-zmq Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 05/15] gnu: Add ocaml-directories Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 06/15] gnu: Add ocaml-catapult Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 07/15] gnu: Add ocaml-zarith-stubs-js Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 08/15] gnu: ocaml-qcheck: Update to 0.22 Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 09/15] gnu: js-of-ocaml-compiler: Use ocaml prefix Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 10/15] gnu: Add ocaml-json-data-encoding Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 11/15] gnu: Add ocaml-cpu Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 12/15] gnu: Add ocaml-ppx-deriving-hash Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 13/15] gnu: ocaml-tyxml: Update to 4.6.0 Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 14/15] gnu: Add ocaml-goblint-cil Herman Rimm via Guix-patches via
2024-09-26  7:23   ` [bug#73466] [PATCH v2 15/15] gnu: Add ocaml-goblint Herman Rimm via Guix-patches via

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=9C6FF7C3-B640-4D43-BD1B-F599FE7BE75F@lepiller.eu \
    --to=julien@lepiller.eu \
    --cc=73466@debbugs.gnu.org \
    --cc=herman@rimm.ee \
    --cc=pukkamustard@posteo.net \
    /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).