diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
commit | 80d90d9b204f7c17912740f9f414fe5d59f293ba (patch) | |
tree | 5f2065a06e724270610760d59d01c6888b375a46 /infra/libkookie/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix | |
parent | 3a31a84c7d3e589035ad08499206aac44a81f424 (diff) | |
parent | 83cbad92d73216bb0d9187c56cce0b91f9121d5a (diff) |
Merge commit '83cbad92d73216bb0d9187c56cce0b91f9121d5a' into main
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix b/infra/libkookie/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix new file mode 100644 index 000000000000..0db0164589cf --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/development/ocaml-modules/ocaml-lsp/default.nix @@ -0,0 +1,66 @@ +{ buildDunePackage +, stdlib-shims +, ppx_yojson_conv_lib +, ocaml-syntax-shims +, omd +, octavius +, dune-build-info +, uutf +, csexp +, cmdliner +, fetchzip +, lib +}: +let + version = "1.1.0"; + src = fetchzip { + url = "https://github.com/ocaml/ocaml-lsp/releases/download/${version}/ocaml-lsp-server-${version}.tbz"; + sha256 = "0al89waw43jl80k9z06kh44byhjhwb5hmzx07sddwi1kr1vc6jrb"; + }; + + # unvendor some (not all) dependencies. + # They are vendored by upstream only because it is then easier to install + # ocaml-lsp without messing with your opam switch, but nix should prevent + # this type of problems without resorting to vendoring. + preBuild = '' + rm -r vendor/{octavius,uutf,ocaml-syntax-shims,omd,cmdliner} + ''; + + buildInputs = [ + stdlib-shims + ppx_yojson_conv_lib + ocaml-syntax-shims + octavius + uutf + csexp + dune-build-info + omd + cmdliner + ]; + + lsp = buildDunePackage { + pname = "lsp"; + inherit version src; + useDune2 = true; + minimumOCamlVersion = "4.06"; + + inherit buildInputs preBuild; + }; + +in +buildDunePackage { + pname = "ocaml-lsp-server"; + inherit version src; + useDune2 = true; + + inherit preBuild; + + buildInputs = buildInputs ++ [ lsp ]; + + meta = with lib; { + description = "OCaml Language Server Protocol implementation"; + license = lib.licenses.isc; + platforms = platforms.unix; + maintainers = [ maintainers.symphorien ]; + }; +} |