[PATCH 01/16] gnu: Add ocaml-jsonrpc.

  • Open
  • quality assurance status badge
Details
2 participants
  • Herman Rimm
  • Julien Lepiller
Owner
unassigned
Submitted by
Herman Rimm
Severity
normal
H
H
Herman Rimm wrote on 25 Sep 09:54 +0200
(address . guix-patches@gnu.org)
2a9cc50a22ef14c84d7a5479e10ff42e9efa5ba1.1727250772.git.herman@rimm.ee
* 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

Toggle diff (155 lines)
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
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:02 +0200
[PATCH 02/16] gnu: Add ocaml-ppx-yojson-conv-lib.
(address . 73466@debbugs.gnu.org)
2d004797da91c676edf4cf3a0eb94b1a779a30a2.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-ppx-yojson-conv-lib): Add
variable.

Change-Id: I8ca854802d2abcf479b93109c585548b063d0101
---
gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e7dcedc939..e21787b5a1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -538,6 +538,27 @@ (define-public ocaml-4.07
(define-public ocaml ocaml-4.14)
+(define-public ocaml-ppx-yojson-conv-lib
+ (package
+ (name "ocaml-ppx-yojson-conv-lib")
+ (version "0.17.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/janestreet/ppx_yojson_"
+ "conv_lib/archive/refs/tags/v" version
+ ".tar.gz"))
+ (sha256
+ (base32
+ "16dijxv2rz787fadai61ilgzfk5a24wfjnmvv3ncalwc829fxrpn"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-yojson))
+ (properties `((upstream-name . "ppx_yojson_conv_lib")))
+ (home-page "https://github.com/janestreet/ppx_yojson_conv_lib")
+ (synopsis "Runtime lib for ppx_yojson_conv")
+ (description "Part of the Jane Street's PPX rewriters collection.")
+ (license license:expat)))
+
(define-public ocamlbuild
(package
(name "ocamlbuild")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:02 +0200
[PATCH 03/16] gnu: Add ocaml-arg-complete.
(address . 73466@debbugs.gnu.org)
5f695fcb420d8a2a25535a8cfa705d93955d79f6.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-arg-complete): Add variable.

Change-Id: I9f6b5345ccb79f7774451656e8a9a4422a84d2d6
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e21787b5a1..0cb2e61c93 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -656,6 +656,28 @@ (define-public camlidl
code for interfacing Caml with C from an IDL description of the C functions.")
(license license:lgpl2.1)))
+(define-public ocaml-arg-complete
+ (package
+ (name "ocaml-arg-complete")
+ (version "0.1.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/sim642/ocaml-arg-"
+ "complete/releases/download/" version
+ "/arg-complete-" version ".tbz"))
+ (sha256
+ (base32
+ "1g12baxcw69gsbmf90c13zkqm21w0kpafiafanmhba9wws2mf3pk"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-cppo ocaml-odoc))
+ (native-inputs (list ocaml-ounit2))
+ (home-page "https://github.com/sim642/ocaml-arg-complete")
+ (synopsis "Bash completion support for Stdlib.Arg")
+ (description
+ "This package provides bash completion support for Stdlib.Arg.")
+ (license license:expat)))
+
(define-public ocaml-extlib
(package
(name "ocaml-extlib")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 04/16] gnu: Add ocaml-catapult.
(address . 73466@debbugs.gnu.org)
bef4ef274bdd3a8e9f05d932e6a4b8b3b926eeb4.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-catapult, ocaml-catapult-file): Add
variables.

Change-Id: I906c806ce5ba7ed6de16969e3ad521b166b26abd
---
gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0cb2e61c93..0e8bbb2ade 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -703,6 +703,47 @@ (define-public ocaml-extlib
;; With static-linking exception
(license license:lgpl2.1+)))
+(define-public ocaml-catapult
+ (package
+ (name "ocaml-catapult")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ "https://github.com/AestheticIntegration/catapult/archive/v0.2.tar.gz")
+ (sha256
+ (base32 "0nmmngxswh8r4wrxd1qwl8z98qwpapv7g2005g0minfwxk1vnjpa"))))
+ (build-system dune-build-system)
+ ;; missing: logs sqlite3 zmq directories
+ (native-inputs (list ocaml-directories ocaml-logs ocaml-sqlite3 ocaml-zmq))
+ (propagated-inputs (list ocaml-odoc))
+ (home-page "https://github.com/AestheticIntegration/catapult")
+ (synopsis "Tracing system based on the Catapult/TEF format")
+ (description
+ "This package provides a tracing system based on the Catapult/TEF
+format.")
+ (license license:expat)))
+
+(define-public ocaml-catapult-file
+ (package
+ (name "ocaml-catapult-file")
+ (version "0.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri
+ "https://github.com/AestheticIntegration/catapult/archive/v0.2.tar.gz")
+ (sha256
+ (base32 "0nmmngxswh8r4wrxd1qwl8z98qwpapv7g2005g0minfwxk1vnjpa"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-catapult ocaml-odoc))
+ (native-inputs (list ocaml-directories ocaml-logs ocaml-sqlite3 ocaml-zmq))
+ (home-page "https://github.com/AestheticIntegration/catapult")
+ (synopsis "File logger for catapult")
+ (description "This package provides a file logger for catapult.")
+ (license license:expat)))
+
(define-public ocaml-cudf
(package
(name "ocaml-cudf")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 05/16] gnu: Add ocaml-directories.
(address . 73466@debbugs.gnu.org)
158d50906f35812b876d6a1f9b7ec44925ed7457.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-directories): Add variable.

Change-Id: I2cd9da3ae023f10cda302185abe6370cbf26b9e6
---
gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 0e8bbb2ade..2bacc46f86 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -768,6 +768,29 @@ (define-public ocaml-cudf
;; With static-linking exception
(license license:lgpl2.1+)))
+(define-public ocaml-directories
+ (package
+ (name "ocaml-directories")
+ (version "0.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://github.com/OCamlPro/directories/archive/0.5.tar.gz")
+ (sha256
+ (base32 "0lwcsd3vsrl2ld1q90wfwlzk3yzdnilqabxrx6ci0z7xg78f1f1y"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ctypes))
+ (home-page "https://github.com/ocamlpro/directories")
+ (synopsis "Provides configuration, cache and data paths")
+ (description
+ "directories is an OCaml library that provides configuration, cache and data
+paths (and more!) following the suitable conventions on Linux, @code{macOS} and
+Windows. It is inspired by similar libraries for other languages such as
+directories-jvm. The following conventions are used: - XDG Base Directory
+Specification and xdg-user-dirs on Linux - Known Folders on Windows - Standard
+Directories on @code{macOS}.")
+ (license license:isc)))
+
(define-public ocaml-mccs
(package
(name "ocaml-mccs")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 06/16] gnu: Add ocaml-menhirSdk.
(address . 73466@debbugs.gnu.org)
aab2cc54197eff60999806096b30d703c2a0810d.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-menhirSdk, ocaml-menhirLib): Add
variables.

Change-Id: I5778d14c497b8df1574591bee6700d6db1c81500
---
gnu/packages/ocaml.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)

Toggle diff (53 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2bacc46f86..7b92abe00d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1491,6 +1491,46 @@ (define-public ocaml-menhir
;; are QPL licensed.
(license (list license:gpl2+ license:qpl))))
+(define-public ocaml-menhirLib
+ (package
+ (name "ocaml-menhirLib")
+ (version "20231231")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.inria.fr/fpottier/menhir/-/"
+ "archive/" version "/archive.tar.gz"))
+ (sha256
+ (base32 "1xn7760ahcf22y2ix597dh1wj7bc70x7fzj4vj73wch77imraffz"))))
+ (build-system dune-build-system)
+ (home-page "http://gitlab.inria.fr/fpottier/menhir")
+ (synopsis "Runtime support library for parsers generated by Menhir")
+ (description
+ "This package provides a runtime support library for parsers
+generated by Menhir.")
+ ;; LGPL 2.0 only with OCaml LGPL linking exception.
+ (license license:lgpl2.0)))
+
+(define-public ocaml-menhirSdk
+ (package
+ (name "ocaml-menhirSdk")
+ (version "20231231")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.inria.fr/fpottier/menhir/-/"
+ "archive/" version "/archive.tar.gz"))
+ (sha256
+ (base32 "1xn7760ahcf22y2ix597dh1wj7bc70x7fzj4vj73wch77imraffz"))))
+ (build-system dune-build-system)
+ (home-page "http://gitlab.inria.fr/fpottier/menhir")
+ (synopsis "Library for auxiliary tools related to Menhir")
+ (description
+ "This package provides a compile-time library for auxiliary tools
+related to Menhir.")
+ ;; LGPL 2.0 only with OCaml LGPL linking exception.
+ (license license:lgpl2.0)))
+
(define-public ocaml-bigarray-compat
(package
(name "ocaml-bigarray-compat")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 07/16] gnu: Add ocaml-zarith-stubs-js.
(address . 73466@debbugs.gnu.org)
f4bf192329be56d9bebb31e1f675597d321fced3.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-zarith-stubs-js): Add variable.

Change-Id: I8149b23d39e06996933b681234a970beb0ca0b78
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7b92abe00d..5cfe7a3ed9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1958,6 +1958,28 @@ (define-public ocaml-zarith
for speed and space economy.")
(license license:lgpl2.1+))) ; with an exception
+(define-public ocaml-zarith-stubs-js
+ (package
+ (name "ocaml-zarith-stubs-js")
+ (version "0.17.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/janestreet/zarith_stubs_"
+ "js/archive/refs/tags/v" version ".tar.gz"))
+ (sha256
+ (base32 "0fhlmvryyr3n7m02dnam4rsk4hlrpaqmjh397w8xrsdx0w8b20bk"))))
+ (build-system dune-build-system)
+ (arguments (list #:tests? #f)) ; File unavailable.
+ (properties `((upstream-name . "zarith_stubs_js")))
+ (native-inputs (list ocaml-ppx-jane))
+ (home-page "https://github.com/janestreet/zarith_stubs_js")
+ (synopsis "Javascripts stubs for the Zarith library")
+ (description
+ "This library contains no ocaml code, but instead implements all
+of the Zarith C stubs in Javascript for use in Js_of_ocaml.")
+ (license license:expat)))
+
(define-public ocaml-frontc
(package
(name "ocaml-frontc")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 08/16] gnu: Add ocaml-qcheck-core.
(address . 73466@debbugs.gnu.org)
25166d628746e63b853c14ebea6fab1474024d62.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-qcheck-core, ocaml-qcheck-ounit): Add
variables.

Change-Id: I821b5972f1f193660ea51f156a637494baded2db
---
gnu/packages/ocaml.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)

Toggle diff (51 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 5cfe7a3ed9..36bbc02a92 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -2037,6 +2037,44 @@ (define-public ocaml-qcheck
instances and printing them.")
(license license:lgpl3+)))
+(define-public ocaml-qcheck-core
+ (package
+ (name "ocaml-qcheck-core")
+ (version "0.21.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/c-cube/qcheck/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1ar416qlrb2qrnlm7vw7lzg860nrg9vw8p3rnx16xy8ryj6z5pix"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-odoc))
+ (native-inputs (list ocaml-alcotest ocaml-ounit2 ocaml-ppxlib))
+ (home-page "https://github.com/c-cube/qcheck/")
+ (synopsis "Core qcheck library")
+ (description "This package provides the core qcheck library.")
+ (license license:bsd-2)))
+
+(define-public ocaml-qcheck-ounit
+ (package
+ (name "ocaml-qcheck-ounit")
+ (version "0.21.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/c-cube/qcheck/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1ar416qlrb2qrnlm7vw7lzg860nrg9vw8p3rnx16xy8ryj6z5pix"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-qcheck-core ocaml-ounit2 ocaml-odoc))
+ (native-inputs (list ocaml-alcotest ocaml-ppxlib))
+ (home-page "https://github.com/c-cube/qcheck/")
+ (synopsis "OUnit backend for qcheck")
+ (description "This package provides the OUnit backend for qcheck.")
+ (license license:bsd-2)))
+
(define-public ocaml-qtest
(package
(name "ocaml-qtest")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 09/16] gnu: Add ocaml-js-of-ocaml-compiler.
(address . 73466@debbugs.gnu.org)
f5381976efadd70de24560538d8fe917ec38b881.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-js-of-ocaml-compiler): Add variable.

Change-Id: I1377fb75bb6945214b1363b24c547c3cc3b54a1a
---
gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 36bbc02a92..651d351bd1 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4161,6 +4161,47 @@ (define-public ocaml-uunf
without a complete in-memory representation.")
(license license:isc)))
+(define-public ocaml-js-of-ocaml-compiler
+ (package
+ (name "ocaml-js-of-ocaml-compiler")
+ (version "5.8.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/ocsigen/js_of_ocaml/"
+ "releases/download/" version "/js_of_ocaml-"
+ version ".tbz"))
+ (sha256
+ (base32
+ "0jphrg78blshfj6yhbz1knsdfn83fl3a59akh6alvcgrs95ij83j"))))
+ (build-system dune-build-system)
+ (arguments (list #:tests? #f)) ; tests fail for unknown reason.
+ (propagated-inputs (list ocaml-ppxlib
+ ocaml-cmdliner
+ ocaml-sedlex
+ ocaml-menhir
+ ocaml-menhirLib
+ ocaml-menhirSdk
+ ocaml-yojson
+ ocaml-odoc))
+ (native-inputs (list node
+ ocaml-lwt
+ ocaml-num
+ ocaml-ppx-expect
+ ocaml-re
+ ocaml-reactivedata
+ ocaml-tyxml
+ ocaml-uutf))
+ (properties `((upstream-name . "js_of_ocaml-compiler")))
+ (home-page "https://ocsigen.org/js_of_ocaml/latest/manual/overview")
+ (synopsis "Compiler from OCaml bytecode to JavaScript")
+ (description
+ "Js_of_ocaml is a compiler from OCaml bytecode to @code{JavaScript}. It makes it
+possible to run pure OCaml programs in @code{JavaScript} environment like
+browsers and Node.js.")
+ ;; LGPL 2.1 or later with OCaml LGPL linking exception.
+ (license (list license:gpl2+ license:lgpl2.1+))))
+
(define-public ocaml-jsonm
(package
(name "ocaml-jsonm")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 10/16] gnu: Add ocaml-json-data-encoding.
(address . 73466@debbugs.gnu.org)
9f6968f63514a9a6367104b2550734bcc2d3b607.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-json-data-encoding): Add variable.

Change-Id: I1d37ed62753c07dfd6ed0cbc3a5ac80ab0da6fae
---
gnu/packages/ocaml.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

Toggle diff (42 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 651d351bd1..329b28ef84 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4202,6 +4202,35 @@ (define-public ocaml-js-of-ocaml-compiler
;; LGPL 2.1 or later with OCaml LGPL linking exception.
(license (list license:gpl2+ license:lgpl2.1+))))
+(define-public ocaml-json-data-encoding
+ (package
+ (name "ocaml-json-data-encoding")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://gitlab.com/nomadic-labs/"
+ "data-encoding/-/archive/v" version
+ "/data-encoding-v" version ".tar.gz"))
+ (sha256
+ (base32 "1mhzij8g8bkqq73gazhbbgn555qh68dllk1r0x479y2wyz9nsvgj"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-uri ocaml-hex ocamlformat ocaml-odoc))
+ (inputs (list gmp node))
+ (native-inputs (list ocaml-alcotest
+ ocaml-crowbar
+ ocaml-ezjsonm
+ ocaml-js-of-ocaml-compiler
+ ocaml-ppx-expect
+ ocaml-ppx-hash
+ ocaml-zarith
+ ocaml-zarith-stubs-js))
+ (home-page "https://gitlab.com/nomadic-labs/json-data-encoding")
+ (synopsis "Type-safe encoding to and decoding from JSON")
+ (description
+ "This package provides type-safe JSON encoding and decoding.")
+ (license license:expat)))
+
(define-public ocaml-jsonm
(package
(name "ocaml-jsonm")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 11/16] gnu: Add ocaml-cpu.
(address . 73466@debbugs.gnu.org)
19b7560b09846121f9b0797de0074bb68fa178da.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-cpu): Add variable.

Change-Id: Id7e0251a97b03fcd186637f1d6c6be17b11d96f8
---
gnu/packages/ocaml.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 329b28ef84..1989a48798 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5266,6 +5266,51 @@ (define-public ocaml-cppo
@end enumerate")
(license license:bsd-3)))
+(define-public ocaml-cpu
+ (package
+ (name "ocaml-cpu")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/UnixJunkie/cpu/archive/"
+ "v" version ".tar.gz"))
+ (sha256
+ (base32
+ "1aga2cal07nfqgsfgn41gbdb7dyhj5l4967dq6vzpznrbyp2y09q"))))
+ (build-system ocaml-build-system)
+ (arguments
+ (list #:tests? #f ; no test target
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'create-header
+ (lambda _
+ (invoke "autoheader")
+ ))
+ (add-before 'configure 'fix-/bin/sh
+ (lambda _
+ (substitute* "configure"
+ (("-/bin/sh") (string-append "-" (which "sh"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir
+ (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out "--libdir"
+ libdir)))))))
+ (native-inputs (list autoconf dune ocaml))
+ (home-page "https://github.com/UnixJunkie/cpu")
+ (synopsis "Equivalent of the C preprocessor for OCaml programs")
+ (description "Cppo is an equivalent of the C preprocessor for OCaml
+programs. It allows the definition of simple macros and file inclusion. Cppo is:
+@enumerate
+@item more OCaml-friendly than @command{cpp}
+@item easy to learn without consulting a manual
+@item reasonably fast
+@item simple to install and to maintain.
+@end enumerate")
+ (license license:bsd-3)))
+
(define-public ocaml-seq
(package
(name "ocaml-seq")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 12/16] gnu: Add ocaml-ppx-deriving-hash.
(address . 73466@debbugs.gnu.org)
58ff34a7c9b0449d7439c94920b969b9a7b05074.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-ppx-deriving-hash): Add variable.

Change-Id: Ifecf175d3384d3309f31a27f8d96e8235ab5f14e
---
gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (34 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 1989a48798..c6470d5284 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6933,6 +6933,27 @@ (define-public ocaml-ppx-deriving
on type definitions, and a set of useful plugins for common tasks.")
(license license:expat)))
+(define-public ocaml-ppx-deriving-hash
+ (package
+ (name "ocaml-ppx-deriving-hash")
+ (version "0.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/sim642/ppx_deriving_hash"
+ "/releases/download/" version
+ "/ppx_deriving_hash-" version ".tbz"))
+ (sha256
+ (base32 "1bqmg0w3qjmhk056rfjn9jxw5gj8286vs86wqawkkx7yn00cxkdj"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ppxlib ocaml-ppx-deriving ocaml-odoc))
+ (properties `((upstream-name . "ppx_deriving_hash")))
+ (home-page "https://github.com/sim642/ppx_deriving_hash")
+ (synopsis "Deriver for standard hash functions")
+ (description
+ "Deriver for standard hash functions without extra dependencies.")
+ (license license:expat)))
+
(define-public ocaml-ppx-derivers
(package
(name "ocaml-ppx-derivers")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 13/16] gnu: ocaml-tyxml: Update to 4.6.0.
(address . 73466@debbugs.gnu.org)
519472917bac0905bba8957cb7727b69e36b1db4.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-tyxml): Update.

Change-Id: Iced8504553844e0e48fea46d575402c3cfbda061
---
gnu/packages/ocaml.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c6470d5284..7450f25f12 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8566,7 +8566,7 @@ (define-public ocaml-markup
(define-public ocaml-tyxml
(package
(name "ocaml-tyxml")
- (version "4.5.0")
+ (version "4.6.0")
(source
(origin
(method git-fetch)
@@ -8576,7 +8576,7 @@ (define-public ocaml-tyxml
(file-name (git-file-name name version))
(sha256
(base32
- "0bh66wknc7sx2r63kscp0hg6h73dkv6qpkx0cdz2qp7p28pg2ixz"))))
+ "0mabl4q2vcv5b3b6myb49k99q69smyg0bhlm4ilz16n7yhlw0y2l"))))
(build-system dune-build-system)
(inputs
(list ocaml-re ocaml-seq ocaml-uutf))
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 14/16] gnu: Add ocaml-zmq.
(address . 73466@debbugs.gnu.org)
0667d68b7c4cecb9939ab49e04d8c81d304bc969.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-zmq): Add variable.

Change-Id: I3b51d45fb966f945487323a83f4363720ad0dc19
---
gnu/packages/ocaml.scm | 26 ++++++++++++++++++++++++++
1 file changed, 26 insertions(+)

Toggle diff (39 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7450f25f12..cc3d18b6af 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -9791,6 +9791,32 @@ (define-public ocaml-guile
3.0, supporting easy interop between OCaml and GNU Guile Scheme.")
(license license:gpl3+)))
+(define-public ocaml-zmq
+ (package
+ (name "ocaml-zmq")
+ (version "5.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/issuu/ocaml-zmq/releases"
+ "/download/" version "/zmq-" version ".tbz"))
+ (sha256
+ (base32 "1a7vfnq8jhrk08jar5406m7wfahwankc1k71cy3zbvrnb2cl5sxm"))))
+ (build-system dune-build-system)
+ (arguments (list #:package "zmq"))
+ (propagated-inputs (list dune-configurator ocaml-odoc zeromq))
+ (native-inputs (list ocaml-async-kernel
+ ocaml-base
+ ocaml5.0-eio-main
+ ocaml-ounit2))
+ (home-page "https://github.com/issuu/ocaml-zmq")
+ (synopsis "OCaml bindings for ZeroMQ 4.x")
+ (description
+ "This library contains basic bindings for ZMQ. Lwt aware bindings to zmq are
+availble though package zmq-lwt Async aware bindings to zmq are available though
+package zmq-async.")
+ (license license:expat)))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 15/16] gnu: Add ocaml-goblint-cil.
(address . 73466@debbugs.gnu.org)
b2f20d050e6961a06123682f4505728f88c7c4ad.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-goblint-cil): Add variable.

Change-Id: Ifa69dddd17167fd9768a5e098934a453745a4028
---
gnu/packages/ocaml.scm | 37 +++++++++++++++++++++++++++++++++++++
1 file changed, 37 insertions(+)

Toggle diff (50 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index cc3d18b6af..05ceda8e43 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -914,6 +914,43 @@ (define-public ocaml-down
@end example")
(license license:isc)))
+(define-public ocaml-goblint-cil
+ (package
+ (name "ocaml-goblint-cil")
+ (version "2.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/goblint/cil/releases/"
+ "download/" version "/goblint-cil-" version
+ ".tbz"))
+ (sha256
+ (base32
+ "09w93c7m2pfs5p1dk7dvp3b8qswkrmliikw7r274b0yijnsb4zbg"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-zarith
+ hevea
+ dune-configurator
+ ocaml-odoc
+ ocaml-stdlib-shims
+ ocaml-ppx-deriving-yojson
+ ocaml-yojson
+ perl
+ ocaml-cppo
+ gmp
+ gcc))
+ (native-inputs (list ocaml-findlib))
+ (home-page "https://github.com/goblint/cil")
+ (synopsis
+ "C Front-end for program analysis and transformation")
+ (description
+ "This is a fork of the cil package used for goblint'. Major changes include: *
+Support for C99 and C11. * Compatibility with modern OCaml versions. * Use
+Zarith instead of Num and use that for integer constants. * Improved locations
+with columns and spans. * Removal of unmaintained extensions and MSVC support. *
+Use dune instead of make and ocamlbuild. * Many bug fixes.")
+ (license license:bsd-3)))
+
(define-public ocaml-opam-file-format
(package
(name "ocaml-opam-file-format")
--
2.45.2
H
H
Herman Rimm wrote on 25 Sep 10:03 +0200
[PATCH 16/16] gnu: Add ocaml-goblint.
(address . 73466@debbugs.gnu.org)
2391b7efbac6e0f9ef5028696dfcbf8a54684516.1727250772.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-goblint): Add variable.

Change-Id: Ie8cbd2cedc31fc5965783e1e24aa4b014c804818
---
gnu/packages/ocaml.scm | 45 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)

Toggle diff (58 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 05ceda8e43..1fbcd1268b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -914,6 +914,51 @@ (define-public ocaml-down
@end example")
(license license:isc)))
+(define-public ocaml-goblint
+ (package
+ (name "ocaml-goblint")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/goblint/analyzer/"
+ "releases/download/v" version "/goblint-"
+ version ".tbz"))
+ (sha256
+ (base32
+ "09kcmi19a8zlxm76mvi2my94pm6zi34hbc1flfp3jfiqvd5cjadp"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-goblint-cil
+ ocaml-batteries
+ ocaml-zarith
+ ocaml-yojson
+ ocaml-qcheck-core
+ ocaml-ppx-deriving
+ ocaml-ppx-deriving-hash
+ ocaml-ppx-deriving-yojson
+ ocaml-odoc
+ ocaml-fpath
+ dune-site
+ ocaml-dune-build-info
+ ocaml-json-data-encoding
+ ocaml-jsonrpc
+ ocaml-sha
+ ocaml-fileutils
+ ocaml-cpu
+ ocaml-arg-complete
+ ocaml-yaml
+ ocaml-uuidm
+ ocaml-catapult
+ ocaml-catapult-file
+ gmp
+ gcc))
+ (native-inputs (list ocaml-ounit2 ocaml-qcheck-ounit ruby ocaml-benchmark))
+ (home-page "https://goblint.in.tum.de")
+ (synopsis "Static analysis framework for C")
+ (description
+ "This package provides a static analysis framework for C.")
+ (license license:expat)))
+
(define-public ocaml-goblint-cil
(package
(name "ocaml-goblint-cil")
--
2.45.2
J
J
Julien Lepiller wrote on 25 Sep 12:01 +0200
Re: [bug#73466] [PATCH 01/16] gnu: Add ocaml-jsonrpc.
(name . pukkamustard)(address . pukkamustard@posteo.net)
9C6FF7C3-B640-4D43-BD1B-F599FE7BE75F@lepiller.eu
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 :
Toggle quote (165 lines)
>* 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
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 01/15] gnu: Add ocaml-ppx-yojson-conv-lib.
(address . 73466@debbugs.gnu.org)
c52f615ee6e9c617e1d8a8bb18bd17f623cbc102.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-ppx-yojson-conv-lib): Add
variable.

Change-Id: I8ca854802d2abcf479b93109c585548b063d0101
---
gnu/packages/ocaml.scm | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 6ba5f5e374..a17b46a5b9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -536,6 +536,27 @@ (define-public ocaml-4.07
(define-public ocaml ocaml-4.14)
+(define-public ocaml-ppx-yojson-conv-lib
+ (package
+ (name "ocaml-ppx-yojson-conv-lib")
+ (version "0.17.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/ppx_yojson_conv_lib")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "0nd9vghqbgpam17n4lrcwp88n67q98x0dr86d921760y05q2js2w"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-yojson))
+ (properties `((upstream-name . "ppx_yojson_conv_lib")))
+ (home-page "https://github.com/janestreet/ppx_yojson_conv_lib")
+ (synopsis "Runtime lib for ppx_yojson_conv")
+ (description "Part of the Jane Street's PPX rewriters collection.")
+ (license license:expat)))
+
(define-public ocamlbuild
(package
(name "ocamlbuild")

base-commit: 5955c2aebc95f5ba7a75a92e2c045af8ea56685b
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 04/15] gnu: Add ocaml-zmq.
(address . 73466@debbugs.gnu.org)
4aaa35d1661a13ba4c22c3d94136bb99a6edc047.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-zmq): Add variable.

Change-Id: I3b51d45fb966f945487323a83f4363720ad0dc19
---
gnu/packages/ocaml.scm | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 580d48e354..b7160cab36 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)
@@ -9488,6 +9489,33 @@ (define-public ocaml-guile
3.0, supporting easy interop between OCaml and GNU Guile Scheme.")
(license license:gpl3+)))
+(define-public ocaml-zmq
+ (package
+ (name "ocaml-zmq")
+ (version "5.3.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/issuu/ocaml-zmq")
+ (commit version)))
+ (sha256
+ (base32 "0siialyjxr7qhns6g0xi6v4z042y40240z6fkh775fi6q1mhslxh"))))
+ (build-system dune-build-system)
+ (arguments (list #:package "zmq"))
+ (propagated-inputs (list dune-configurator ocaml-odoc zeromq))
+ (native-inputs (list ocaml-async-kernel
+ ocaml-base
+ ocaml5.0-eio-main
+ ocaml-ounit2))
+ (home-page "https://github.com/issuu/ocaml-zmq")
+ (synopsis "OCaml bindings for ZeroMQ 4.x")
+ (description
+ "This library contains basic bindings for ZMQ. Lwt-aware bindings
+to zmq are available though package zmq-lwt Async aware bindings to zmq
+are available though package zmq-async.")
+ (license license:expat)))
+
;;;
;;; Avoid adding new packages to the end of this file. To reduce the chances
;;; of a merge conflict, place them above by existing packages with similar
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 05/15] gnu: Add ocaml-directories.
(address . 73466@debbugs.gnu.org)
361a0df311e0eb3807373fff68a1e0cde5c98142.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-directories): Add variable.

Change-Id: I2cd9da3ae023f10cda302185abe6370cbf26b9e6
---
gnu/packages/ocaml.scm | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)

Toggle diff (43 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index b7160cab36..f0886ac762 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -726,6 +726,36 @@ (define-public ocaml-cudf
;; With static-linking exception
(license license:lgpl2.1+)))
+(define-public ocaml-directories
+ (package
+ (name "ocaml-directories")
+ (version "0.5")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/OCamlPro/directories")
+ (commit version)))
+ (sha256
+ (base32
+ "1xys79ji1fqjjyzgapqzd5zpx7gs2kiaf87csm4y8f4zd638cl6z"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-ctypes))
+ (home-page "https://github.com/ocamlpro/directories")
+ (synopsis "Provides configuration, cache and data paths")
+ (description
+ "directories is an OCaml library that provides configuration, cache
+and data paths (and more!) following the suitable conventions on Linux,
+@code{macOS} and Windows. It is inspired by similar libraries for other
+languages such as directories-jvm. The following conventions are used:
+
+@itemize
+@item XDG Base Directory Specification and xdg-user-dirs on Linux;
+@item Known Folders on Windows;
+@item Standard Directories on @code{macOS}.
+@end itemize")
+ (license license:isc)))
+
(define-public ocaml-mccs
(package
(name "ocaml-mccs")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 06/15] gnu: Add ocaml-catapult.
(address . 73466@debbugs.gnu.org)
c02210463d7922e2112e54c703d07b8db3c64431.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-catapult): Add variable.

Change-Id: I066a6563772a7d7fe156ab036b04f5abb8d0d5b0
---
gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index f0886ac762..3218dae5a9 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -702,6 +702,29 @@ (define-public ocaml-extlib
;; With static-linking exception
(license license:lgpl2.1+)))
+(define-public ocaml-catapult
+ (package
+ (name "ocaml-catapult")
+ (version "0.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AestheticIntegration/catapult")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "1yy6rgnzqvms5lnlqzqsbbdnmil5p66rfif5229vamgdjbdf5r7q"))))
+ (build-system dune-build-system)
+ (native-inputs
+ (list ocaml-directories ocaml-logs ocaml-sqlite3 ocaml-zmq))
+ (propagated-inputs (list ocaml-odoc))
+ (home-page "https://github.com/AestheticIntegration/catapult")
+ (synopsis "Tracing system based on Catapult/TEF format")
+ (description
+ "This package provides a tracing system based on the Catapult/TEF
+format.")
+ (license license:expat)))
+
(define-public ocaml-cudf
(package
(name "ocaml-cudf")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 07/15] gnu: Add ocaml-zarith-stubs-js.
(address . 73466@debbugs.gnu.org)
4b7fd4a59735605714556adb5fd9b45512e24a1e.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-zarith-stubs-js): Add variable.

Change-Id: I8149b23d39e06996933b681234a970beb0ca0b78
---
gnu/packages/ocaml.scm | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)

Toggle diff (37 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 3218dae5a9..db46488258 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1906,6 +1906,30 @@ (define-public ocaml-zarith
for speed and space economy.")
(license license:lgpl2.1+))) ; with an exception
+(define-public ocaml-zarith-stubs-js
+ (package
+ (name "ocaml-zarith-stubs-js")
+ (version "0.17.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/janestreet/zarith_stubs_js")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "07anr6r4chbpgd7c5ixfqgqr99kb202bd7q350hdqynrn7v6rn20"))))
+ (build-system dune-build-system)
+ (arguments (list #:tests? #f)) ; File unavailable.
+ (properties `((upstream-name . "zarith_stubs_js")))
+ (native-inputs (list ocaml-ppx-jane))
+ (home-page "https://github.com/janestreet/zarith_stubs_js")
+ (synopsis "Javascripts stubs for the Zarith library")
+ (description
+ "This library contains no ocaml code, but instead implements all
+of the Zarith C stubs in Javascript for use in Js_of_ocaml.")
+ (license license:expat)))
+
(define-public ocaml-frontc
(package
(name "ocaml-frontc")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 08/15] gnu: ocaml-qcheck: Update to 0.22.
(address . 73466@debbugs.gnu.org)
1176316abea5ae039e4feb22f62eac38ea2a0830.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-qcheck): Update to 0.22.
[propagated-inputs]: Add ocaml-odoc. Remove ocaml-ounit. Move
ocaml-alcotest and ocaml-ppxlib to native-inputs.
[native-inputs]: Add ocaml-ounit2.
[description]: Limit to 72 columns and add space after periods.
[license]: Change to BSD-2-Clause.

Change-Id: I22ccd7a20631e7318cd4972e926693b475b49bd3
---
gnu/packages/ocaml.scm | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)

Toggle diff (45 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index db46488258..2b5dd396cc 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -1964,7 +1964,7 @@ (define-public ocaml-frontc
(define-public ocaml-qcheck
(package
(name "ocaml-qcheck")
- (version "0.20")
+ (version "0.22")
(source
(origin
(method git-fetch)
@@ -1973,19 +1973,19 @@ (define-public ocaml-qcheck
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1r0m5p1dd06lbgfxqdpl1ya4vb8252z7hqkvdi9k444g4rx2ay3p"))))
+ (base32
+ "065ybfhwfiavv8s28dhfk8fwif08973gg1ybpdfv0mxzqxyyny95"))))
(build-system dune-build-system)
- (propagated-inputs
- (list ocaml-alcotest ocaml-ounit ocaml-ppxlib))
- (native-inputs
- (list ocamlbuild))
+ (propagated-inputs (list ocaml-odoc))
+ (native-inputs (list ocaml-alcotest ocaml-ounit2 ocaml-ppxlib))
(home-page "https://github.com/c-cube/qcheck")
(synopsis "QuickCheck inspired property-based testing for OCaml")
- (description "QuickCheck inspired property-based testing for OCaml. This
-module checks invariants (properties of some types) over randomly
-generated instances of the type. It provides combinators for generating
-instances and printing them.")
- (license license:lgpl3+)))
+ (description
+ "QuickCheck inspired property-based testing for OCaml. This module
+checks invariants (properties of some types) over randomly generated
+instances of the type. It provides combinators for generating instances
+and printing them.")
+ (license license:bsd-2))) ; From release 0.7 onward.
(define-public ocaml-qtest
(package
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 09/15] gnu: js-of-ocaml-compiler: Use ocaml prefix.
(address . 73466@debbugs.gnu.org)
520e2c2533d2f3975dff100672e458dcf6c3e003.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (js-of-ocaml): Rename to ocaml-js-of-ocaml.
[arguments]: Change explanation for why tests are disabled.
[propagated-inputs]: Remove ocaml-uchar and ocaml-grpahics. Move
ocaml-reactivedata, ocaml-lwt, ocaml-tyxml, ocaml-re, and ocaml-uutf to
native-inputs.
[native-inputs]: Add ocaml-num.
[synopsis]: Capitalize s in Javascript.
[description]: Wrap JavaScript in @code.
(ocaml-ptime, ocaml-ezjsonm): Add ocaml prefix to js-of-ocaml.

Change-Id: I1377fb75bb6945214b1363b24c547c3cc3b54a1a
---
gnu/packages/ocaml.scm | 56 +++++++++++++++++++++---------------------
1 file changed, 28 insertions(+), 28 deletions(-)

Toggle diff (94 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 2b5dd396cc..c84a36640b 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4550,7 +4550,7 @@ (define-public ocaml-ptime
"true")
#:phases (modify-phases %standard-phases
(delete 'configure))))
- (propagated-inputs (list ocaml-result js-of-ocaml))
+ (propagated-inputs (list ocaml-result ocaml-js-of-ocaml))
(native-inputs (list ocaml-findlib ocamlbuild ocaml-topkg opam-installer))
(home-page "https://erratique.ch/software/ptime")
(synopsis "POSIX time for OCaml")
@@ -5287,7 +5287,7 @@ (define-public ocaml-ezjsonm
(build-system dune-build-system)
(arguments
`(#:package "ezjsonm"))
- (native-inputs (list ocaml-alcotest js-of-ocaml node))
+ (native-inputs (list ocaml-alcotest ocaml-js-of-ocaml node))
(propagated-inputs (list ocaml-jsonm ocaml-uutf ocaml-sexplib0 ocaml-hex))
(home-page "https://github.com/mirage/ezjsonm/")
(synopsis "Read and write JSON data")
@@ -9276,10 +9276,10 @@ (define-public ocaml-cohttp
libraries.")
(license license:isc)))
-(define-public js-of-ocaml
+(define-public ocaml-js-of-ocaml
(package
- (name "js-of-ocaml")
- (version "4.1.0")
+ (name "ocaml-js-of-ocaml")
+ (version "5.8.2")
(source
(origin
(method git-fetch)
@@ -9288,32 +9288,32 @@ (define-public js-of-ocaml
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "14ig69iyc9yzniclfsc6cz9g9zqp96bs66y6dy4rzrm78s81w6i1"))))
+ (base32
+ "0zn00mafaac8dd1nr4pwm7nqhkdbrmzlh0acm7899a5ls9iy3f1c"))))
(build-system dune-build-system)
- (arguments
- ;;tests assume ocaml 4.13
- `(#:tests? #f))
- (propagated-inputs
- (list ocaml-ppxlib
- ocaml-uchar
- ocaml-menhir
- ocaml-reactivedata
- ocaml-cmdliner
- ocaml-lwt
- ocaml-tyxml
- ocaml-re
- ocaml-uutf
- ocaml-graphics
- ocaml-yojson))
- (native-inputs
- ;; for tests
- (list node ocaml-ppx-expect ocaml-num))
+ ;; Tests fail with filesystem errors and for other unknown reasons.
+ (arguments '(#:tests? #f))
+ (propagated-inputs (list ocaml-cmdliner
+ ocaml-menhir
+ ocaml-odoc
+ ocaml-ppxlib
+ ocaml-sedlex
+ ocaml-yojson))
+ (native-inputs (list node
+ ocaml-lwt
+ ocaml-num
+ ocaml-ppx-expect
+ ocaml-re
+ ocaml-reactivedata
+ ocaml-tyxml
+ ocaml-uutf))
(properties `((upstream-name . "js_of_ocaml")))
(home-page "https://ocsigen.org/js_of_ocaml/")
- (synopsis "Compiler from OCaml bytecode to Javascript")
- (description "Js_of_ocaml is a compiler from OCaml bytecode to JavaScript.
-It makes it possible to run pure OCaml programs in JavaScript environment like
-browsers and Node.js.")
+ (synopsis "Compiler from OCaml bytecode to JavaScript")
+ (description
+ "Js_of_ocaml is a compiler from OCaml bytecode to @code{JavaScript}.
+It makes it possible to run pure OCaml programs in @code{JavaScript}
+environments like browsers and Node.js.")
(license license:lgpl2.1+)))
(define-public ocaml-afl-persistent
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 10/15] gnu: Add ocaml-json-data-encoding.
(address . 73466@debbugs.gnu.org)
efa7f13f3a8db7d152247ccb7294de86175613d8.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-json-data-encoding): Add variable.

Change-Id: I1d37ed62753c07dfd6ed0cbc3a5ac80ab0da6fae
---
gnu/packages/ocaml.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (48 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index c84a36640b..bf723e9055 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4073,6 +4073,41 @@ (define-public ocaml-uunf
without a complete in-memory representation.")
(license license:isc)))
+(define-public ocaml-json-data-encoding
+ (package
+ (name "ocaml-json-data-encoding")
+ (version "1.0.1")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/nomadic-labs/data-encoding")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1pwx4dzfb0w7vz4lbm1ppq1lpzd1ss7v4r3ydnx2hdrdgv2ki01a"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-uri ocaml-hex ocamlformat ocaml-odoc))
+ (inputs (list gmp node))
+ (native-inputs (list ocaml-alcotest
+ ocaml-crowbar
+ ocaml-ezjsonm
+ ocaml-js-of-ocaml
+ ocaml-ppx-expect
+ ocaml-ppx-hash
+ ocaml-zarith
+ ocaml-zarith-stubs-js))
+ (home-page "https://gitlab.com/nomadic-labs/json-data-encoding")
+ (synopsis "Type-safe encoding to and decoding from JSON")
+ (description
+ "This package provides type-safe JSON encoding and decoding. The
+type of JSON documents handled by this library is directly compatible
+with ezjsonm, but converters are provided for yojson users, and an
+advanced functorial interface allows you to use any JSON
+representation.")
+ (license license:expat)))
+
(define-public ocaml-jsonm
(package
(name "ocaml-jsonm")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 12/15] gnu: Add ocaml-ppx-deriving-hash.
(address . 73466@debbugs.gnu.org)
a00689a2f5fc834df212afb1ddbf49c719acaf53.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-ppx-deriving-hash): Add variable.

Change-Id: Ifecf175d3384d3309f31a27f8d96e8235ab5f14e
---
gnu/packages/ocaml.scm | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)

Toggle diff (36 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 396a546213..8fdef76e5e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -6805,6 +6805,29 @@ (define-public ocaml-ppx-deriving
on type definitions, and a set of useful plugins for common tasks.")
(license license:expat)))
+(define-public ocaml-ppx-deriving-hash
+ (package
+ (name "ocaml-ppx-deriving-hash")
+ (version "0.1.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sim642/ppx_deriving_hash")
+ (commit version)))
+ (sha256
+ (base32
+ "1a1w1i1vwcbz0982dv2dh9mwqls8g740l2bd470qib3x3aprivip"))))
+ (build-system dune-build-system)
+ (propagated-inputs
+ (list ocaml-ppxlib ocaml-ppx-deriving ocaml-odoc))
+ (properties `((upstream-name . "ppx_deriving_hash")))
+ (home-page "https://github.com/sim642/ppx_deriving_hash")
+ (synopsis "Deriver for standard hash functions")
+ (description
+ "Deriver for standard hash functions without extra dependencies.")
+ (license license:expat)))
+
(define-public ocaml-ppx-derivers
(package
(name "ocaml-ppx-derivers")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 14/15] gnu: Add ocaml-goblint-cil.
(address . 73466@debbugs.gnu.org)
f7dc359b1c94546bf047ca4f67cfbec7ec1795c0.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-goblint-cil): Add variable.

Change-Id: Ifa69dddd17167fd9768a5e098934a453745a4028
---
gnu/packages/ocaml.scm | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)

Toggle diff (55 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bb21842e43..e15e70646e 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -902,6 +902,48 @@ (define-public ocaml-down
@end example")
(license license:isc)))
+(define-public ocaml-goblint-cil
+ (package
+ (name "ocaml-goblint-cil")
+ (version "2.0.4")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/goblint/cil")
+ (commit version)))
+ (sha256
+ (base32
+ "02jng99az6f265j9cczrbyf72wxkgh7fz44882b6n3ib6ds8pzs7"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-zarith
+ hevea
+ dune-configurator
+ ocaml-odoc
+ ocaml-stdlib-shims
+ ocaml-ppx-deriving-yojson
+ ocaml-yojson
+ perl
+ ocaml-cppo
+ gmp
+ gcc))
+ (native-inputs (list ocaml-findlib))
+ (home-page "https://github.com/goblint/cil")
+ (synopsis "Fork of cil for Goblint")
+ (description
+ "This is a fork of the cil package for goblint. Changes include:
+
+@itemize
+@item Support for C99 and C11;
+@item Compatibility with modern OCaml versions;
+@item Use Zarith instead of Num and use that for integer constants;
+@item Improved locations with columns and spans;
+@item Removal of unmaintained extensions and MSVC support;
+@item Use dune instead of make and ocamlbuild;
+@item Many bug fixes.
+@end itemize")
+ (license license:bsd-3)))
+
(define-public ocaml-opam-file-format
(package
(name "ocaml-opam-file-format")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 11/15] gnu: Add ocaml-cpu.
(address . 73466@debbugs.gnu.org)
3326e9730d479ebb3a9a26329ea28294eba5f55f.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-cpu): Add variable.

Change-Id: Id7e0251a97b03fcd186637f1d6c6be17b11d96f8
---
gnu/packages/ocaml.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)

Toggle diff (54 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index bf723e9055..396a546213 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -5142,6 +5142,47 @@ (define-public ocaml-cppo
@end enumerate")
(license license:bsd-3)))
+(define-public ocaml-cpu
+ (package
+ (name "ocaml-cpu")
+ (version "2.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/UnixJunkie/cpu")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1vir6gh1bhvxgj2fcn69c38yhw3jgk7dyikmw789m5ld2csnyjiv"))))
+ (build-system ocaml-build-system)
+ (arguments
+ (list #:tests? #f ; There is no test target.
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'configure 'create-header
+ (lambda _
+ (invoke "autoheader")))
+ (add-before 'configure 'fix-/bin/sh
+ (lambda _
+ (substitute* "configure"
+ (("-/bin/sh") (string-append "-" (which "sh"))))))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir
+ (string-append out "/lib/ocaml/site-lib")))
+ (invoke "dune" "install" "--prefix" out "--libdir"
+ libdir)))))))
+ (native-inputs (list autoconf dune ocaml))
+ (home-page "https://github.com/UnixJunkie/cpu")
+ (synopsis "Pin current process to given core")
+ (description
+ "The module installed is called Cpu in order to not conflict with
+the Setcore module that is installed by parmap. This library can also
+get the number of CPU cores online.")
+ (license license:bsd-3)))
+
(define-public ocaml-seq
(package
(name "ocaml-seq")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 15/15] gnu: Add ocaml-goblint.
(address . 73466@debbugs.gnu.org)
1e7b99df7ba8c32c21f9de8467ea001372e2270a.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-goblint): Add variable.

Change-Id: Ie8cbd2cedc31fc5965783e1e24aa4b014c804818
---
gnu/packages/ocaml.scm | 47 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (67 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index e15e70646e..ece64bb909 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -82,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)
@@ -902,6 +903,52 @@ (define-public ocaml-down
@end example")
(license license:isc)))
+(define-public ocaml-goblint
+ (package
+ (name "ocaml-goblint")
+ (version "2.4.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/goblint/analyzer")
+ (commit (string-append "v" version))))
+ (sha256
+ (base32
+ "1a2a6xyvda183r0a4ck56bh0nv8ymf7wkg1bjz031bqf9izyrf78"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-goblint-cil
+ ocaml-batteries
+ ocaml-zarith
+ ocaml-yojson
+ ocaml-qcheck
+ ocaml-ppx-deriving
+ ocaml-ppx-deriving-hash
+ ocaml-ppx-deriving-yojson
+ ocaml-odoc
+ ocaml-fpath
+ dune-site
+ ocaml-dune-build-info
+ ocaml-json-data-encoding
+ ocaml-jsonrpc
+ ocaml-sha
+ ocaml-fileutils
+ ocaml-cpu
+ ocaml-arg-complete
+ ocaml-yaml
+ ocaml-uuidm
+ ocaml-catapult
+ gmp
+ gcc))
+ (native-inputs
+ (list ocaml-ounit2 ocaml-qcheck ruby ocaml-benchmark))
+ (home-page "https://goblint.in.tum.de")
+ (synopsis "Static analysis framework for C")
+ (description
+ "This package provides a static analyzer for multi-threaded C
+programs, specializing in finding concurrency bugs.")
+ (license license:expat)))
+
(define-public ocaml-goblint-cil
(package
(name "ocaml-goblint-cil")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 13/15] gnu: ocaml-tyxml: Update to 4.6.0.
(address . 73466@debbugs.gnu.org)
68b3161ad342c5cf28238c5b9e87c3a0bb22dfa0.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-tyxml): Update.
[inputs]: Remove ocaml-seq. Move ocaml-re and ocaml-uutf to
propagated-inputs.
[synopsis]: Do not name package.
[description]: Use itemize.

Change-Id: Iced8504553844e0e48fea46d575402c3cfbda061
---
gnu/packages/ocaml.scm | 33 +++++++++++++++++++--------------
1 file changed, 19 insertions(+), 14 deletions(-)

Toggle diff (56 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 8fdef76e5e..bb21842e43 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -8440,7 +8440,7 @@ (define-public ocaml-markup
(define-public ocaml-tyxml
(package
(name "ocaml-tyxml")
- (version "4.5.0")
+ (version "4.6.0")
(source
(origin
(method git-fetch)
@@ -8450,22 +8450,27 @@ (define-public ocaml-tyxml
(file-name (git-file-name name version))
(sha256
(base32
- "0bh66wknc7sx2r63kscp0hg6h73dkv6qpkx0cdz2qp7p28pg2ixz"))))
+ "0mabl4q2vcv5b3b6myb49k99q69smyg0bhlm4ilz16n7yhlw0y2l"))))
(build-system dune-build-system)
- (inputs
- (list ocaml-re ocaml-seq ocaml-uutf))
- (native-inputs
- (list ocaml-alcotest))
+ (propagated-inputs (list ocaml-re ocaml-uutf))
+ (native-inputs (list ocaml-alcotest))
(arguments `(#:package "tyxml"))
(home-page "https://github.com/ocsigen/tyxml/")
- (synopsis "TyXML is a library for building correct HTML and SVG documents")
- (description "TyXML provides a set of convenient combinators that uses the
-OCaml type system to ensure the validity of the generated documents. TyXML can
-be used with any representation of HTML and SVG: the textual one, provided
-directly by this package, or DOM trees (@code{js_of_ocaml-tyxml}) virtual DOM
-(@code{virtual-dom}) and reactive or replicated trees (@code{eliom}). You can
-also create your own representation and use it to instantiate a new set of
-combinators.")
+ (synopsis "Library for building correct HTML and SVG documents")
+ (description
+ "TyXML provides a set of convenient combinators that uses the
+OCaml type system to ensure the validity of the generated documents.
+TyXML can be used with any representation of HTML and SVG:
+
+@itemize
+@item the textual one, provided directly by this package;
+@item DOM trees (@code{js_of_ocaml-tyxml});
+@item virtual DOM (@code{virtual-dom});
+@item and reactive or replicated trees (@code{eliom}).
+@end itemize
+
+You can also create your own representation and use it to instantiate a
+new set of combinators.")
(license license:lgpl2.1)))
(define-public ocaml-bisect-ppx
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 02/15] gnu: Add ocaml-jsonrpc.
(address . 73466@debbugs.gnu.org)
dd65e56c6ff737586a34f3b63c57079b95993394.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-jsonrpc): Add variable.

Change-Id: I0486038d2d5936ca462413eca605c356c00d39d7
---
gnu/packages/ocaml.scm | 39 +++++++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)

Toggle diff (52 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index a17b46a5b9..7dcc17357d 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -4005,6 +4005,45 @@ (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"))))
+ (build-system dune-build-system)
+ (arguments `(#:package "jsonrpc"))
+ (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 "JSON-RPC protocol implementation")
+ (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")
--
2.45.2
H
H
Herman Rimm wrote on 26 Sep 09:23 +0200
[PATCH v2 03/15] gnu: Add ocaml-arg-complete.
(address . 73466@debbugs.gnu.org)
28f6a934255943936d73935ffaaf49f5b7034a82.1727335349.git.herman@rimm.ee
* gnu/packages/ocaml.scm (ocaml-arg-complete): Add variable.

Change-Id: I9f6b5345ccb79f7774451656e8a9a4422a84d2d6
---
gnu/packages/ocaml.scm | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)

Toggle diff (35 lines)
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 7dcc17357d..580d48e354 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -654,6 +654,28 @@ (define-public camlidl
code for interfacing Caml with C from an IDL description of the C functions.")
(license license:lgpl2.1)))
+(define-public ocaml-arg-complete
+ (package
+ (name "ocaml-arg-complete")
+ (version "0.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sim642/ocaml-arg-complete")
+ (commit version)))
+ (sha256
+ (base32
+ "0axvgkjs11prsch9ms8r6kk4pj2gcajj27qrxj3v49x3pmilqbcl"))))
+ (build-system dune-build-system)
+ (propagated-inputs (list ocaml-cppo ocaml-odoc))
+ (native-inputs (list ocaml-ounit2))
+ (home-page "https://github.com/sim642/ocaml-arg-complete")
+ (synopsis "Bash completion support for Stdlib.Arg")
+ (description
+ "This package provides bash completion support for Stdlib.Arg.")
+ (license license:expat)))
+
(define-public ocaml-extlib
(package
(name "ocaml-extlib")
--
2.45.2
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 73466@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 73466
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch