summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Conroy <jconroy@tscripta.net>2026-05-08 08:59:36 -0400
committerJulien Lepiller <julien@lepiller.eu>2026-05-10 15:50:20 +0200
commitb22e83dbf15dcf0a3309ee764d208370a2365362 (patch)
tree518e20b99eab9ed235e74abdc62b556da7ba14ec
parent633a91e504f5f0ab58489a9c08cd8e99dc736736 (diff)
gnu: ocaml5: Add %ocaml-lsp-base.
* gnu/packages/ocaml5.scm (%ocaml-lsp-base): New variable. Change-Id: I376afc68fb5a9716938374d20a2531a669851572 Signed-off-by: Julien Lepiller <julien@lepiller.eu>
-rw-r--r--gnu/packages/ocaml5.scm40
1 files changed, 40 insertions, 0 deletions
diff --git a/gnu/packages/ocaml5.scm b/gnu/packages/ocaml5.scm
index 1f8f4d2c475..a7cc703daf0 100644
--- a/gnu/packages/ocaml5.scm
+++ b/gnu/packages/ocaml5.scm
@@ -4086,6 +4086,46 @@ libev. This is currently used only by ocaml-lsp.")
4086 "This package provides a Csexp-based transport layer for Lev clients and 4086 "This package provides a Csexp-based transport layer for Lev clients and
4087servers. This is currently used only by ocaml-lsp."))) 4087servers. This is currently used only by ocaml-lsp.")))
4088 4088
4089(define %ocaml-lsp-base
4090 (package
4091 (name "ocaml5-lsp-base")
4092 (version "1.23.1")
4093 (home-page "https://github.com/ocaml/ocaml-lsp")
4094 (source
4095 (origin
4096 (method git-fetch)
4097 (uri (git-reference
4098 (url home-page)
4099 (commit version)))
4100 (sha256
4101 (base32 "1h02bgf3glf6d6mghk32ds8xm6a7h575f1zf9qkgr6y946rh0760"))
4102 (snippet #~(begin (use-modules (guix build utils))
4103 ;; ocaml-lsp tends to vendor snapshots of
4104 ;; dependencies containing critical fixes before
4105 ;; they're available in official releases. The
4106 ;; snapshot of ocaml-odoc here is now older than the
4107 ;; current release and can be omitted. Instead we
4108 ;; instruct dune to resolve ocaml-odoc via its public
4109 ;; package name, not the internal one.
4110 (delete-file-recursively "vendor")
4111 (substitute* "ocaml-lsp-server/src/dune"
4112 (("odoc_parser") "odoc-parser"))
4113
4114 ;; Also replace submodules that have been extracted
4115 ;; into guix packages (lev, lev-fiber,
4116 ;; lev-fiber-csexp).
4117 (delete-file-recursively "submodules")
4118 (delete-file "ocaml-lsp-server/dune")
4119 (substitute* '("lsp-fiber/src/dune"
4120 "ocaml-lsp-server/src/dune")
4121 (("lev_fiber_csexp") "lev-fiber-csexp")
4122 (("lev_fiber") "lev-fiber"))))))
4123 (build-system dune-build-system)
4124 (synopsis "LSP Server for OCaml")
4125 (description
4126 "This package implements an OCaml language server.")
4127 (license license:isc)))
4128
4089(define-public ocaml-qcheck 4129(define-public ocaml-qcheck
4090 (package 4130 (package
4091 (name "ocaml5-qcheck") 4131 (name "ocaml5-qcheck")