From 72f6c87a40f6aba17eb006246b341fe0e2f4f4d9 Mon Sep 17 00:00:00 2001 From: jstrattonsmith <49959196+jstrattonsmith@users.noreply.github.com> Date: Sun, 16 Nov 2025 15:56:57 -0500 Subject: [PATCH] rocqPackages.vsrocq-language-server: init at 2.3.3. --- .../vsrocq-language-server/default.nix | 80 +++++++++++++++++++ pkgs/top-level/rocq-packages.nix | 1 + 2 files changed, 81 insertions(+) create mode 100644 pkgs/development/rocq-modules/vsrocq-language-server/default.nix diff --git a/pkgs/development/rocq-modules/vsrocq-language-server/default.nix b/pkgs/development/rocq-modules/vsrocq-language-server/default.nix new file mode 100644 index 000000000000..f08a40967d6d --- /dev/null +++ b/pkgs/development/rocq-modules/vsrocq-language-server/default.nix @@ -0,0 +1,80 @@ +{ + metaFetch, + coq, + rocq-core, + lib, + glib, + adwaita-icon-theme, + wrapGAppsHook3, + version ? null, +}: + +let + ocamlPackages = rocq-core.ocamlPackages; + defaultVersion = + let + case = case: out: { inherit case out; }; + in + with lib.versions; + lib.switch rocq-core.rocq-version [ + (case (range "8.18" "9.1") "2.3.3") + (case (range "8.18" "9.1") "2.3.0") + ] null; + location = { + domain = "github.com"; + owner = "rocq-prover"; + repo = "vsrocq"; + }; + fetch = metaFetch { + release."2.3.0".rev = "v2.3.0"; + release."2.3.0".sha256 = "sha256-BZLxcCmSGFf04eUmlJXnyxmg4hTwpFaPaIik4VD444M="; + release."2.3.3".rev = "v2.3.3"; + release."2.3.3".sha256 = "sha256-wgn28wqWhZS4UOLUblkgXQISgLV+XdSIIEMx9uMT/ig="; + inherit location; + }; + fetched = fetch (if version != null then version else defaultVersion); +in +ocamlPackages.buildDunePackage { + pname = "vsrocq-language-server"; + inherit (fetched) version; + src = "${fetched.src}/language-server"; + nativeBuildInputs = [ coq ]; + buildInputs = [ + coq + glib + adwaita-icon-theme + wrapGAppsHook3 + ] + ++ (with ocamlPackages; [ + findlib + lablgtk3-sourceview3 + yojson + zarith + ppx_inline_test + ppx_assert + ppx_sexp_conv + ppx_deriving + ppx_import + sexplib + ppx_yojson_conv + lsp + sel + ppx_optcomp + ]); + preBuild = '' + make dune-files + ''; + + meta = + with lib; + { + description = "Language server for the vsrocq vscode/codium extension"; + homepage = "https://github.com/rocq-prover/vsrocq"; + maintainers = with maintainers; [ cohencyril ]; + license = licenses.mit; + } + // optionalAttrs (fetched.broken or false) { + rocqFilter = true; + broken = true; + }; +} diff --git a/pkgs/top-level/rocq-packages.nix b/pkgs/top-level/rocq-packages.nix index a4fc9459776b..0b1497f48821 100644 --- a/pkgs/top-level/rocq-packages.nix +++ b/pkgs/top-level/rocq-packages.nix @@ -40,6 +40,7 @@ let parseque = callPackage ../development/rocq-modules/parseque { }; rocq-elpi = callPackage ../development/rocq-modules/rocq-elpi { }; stdlib = callPackage ../development/rocq-modules/stdlib { }; + vsrocq-language-server = callPackage ../development/rocq-modules/vsrocq-language-server { }; filterPackages = doesFilter: if doesFilter then filterRocqPackages self else self; };