Skip to content

Instantly share code, notes, and snippets.

@cideM
Created May 16, 2020 11:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cideM/8c8ab1019a6a939db5dd35e3f1f212fb to your computer and use it in GitHub Desktop.
Save cideM/8c8ab1019a6a939db5dd35e3f1f212fb to your computer and use it in GitHub Desktop.
Trying to build ocaml-lsp
let
pkgs = import <nixpkgs> {};
cinaps = pkgs.ocaml-ng.ocamlPackages_4_09.buildDunePackage rec {
pname = "cinaps";
version = "latest";
src = pkgs.fetchFromGitHub {
owner = "ocaml-ppx";
repo = "cinaps";
rev = "e3183c4733d0577d4d54211cafa4a52dfe5dd235";
sha256 = "0kd7y81d3d1rjlh4gjk8faa3i5qrgviavhf1y9vmrn8z5njiy86c";
};
buildInputs = [
pkgs.ocaml-ng.ocamlPackages_4_09.re
];
};
ppx_yojson_conv_lib = pkgs.ocaml-ng.ocamlPackages_4_09.buildDunePackage rec {
pname = "ppx_yojson_conv_lib";
version = "latest";
src = pkgs.fetchFromGitHub {
owner = "janestreet";
repo = "ppx_yojson_conv_lib";
rev = "bcc43bec7b37c4770348082d207fe208f7b22d0d";
sha256 = "1df8wbjlb71rvwz2zcw882vsav5czkp3xy4qxc1ldppm66sybjhi";
};
buildInputs = [
pkgs.ocaml-ng.ocamlPackages_4_09.yojson
];
};
ocaml-lsp = pkgs.ocaml-ng.ocamlPackages_4_09.buildDunePackage rec {
pname = "lsp";
version = "latest";
ocaml = pkgs.ocaml-ng.ocamlPackages_4_09.ocaml;
minimumOCamlVersion = "4.06.1";
src = pkgs.fetchgit {
url = "https://github.com/ocaml/ocaml-lsp";
sha256 = "0jlh6zxrdcnfdbici2gwwk4j83hb2fvlnf285wpcbdwh08w14afa";
fetchSubmodules = true;
};
useDune2 = true;
buildInputs = [
pkgs.ocaml-ng.ocamlPackages_4_09.merlin
];
propagatedBuildInputs = [
pkgs.ocaml-ng.ocamlPackages_4_09.yojson
ppx_yojson_conv_lib
pkgs.ocaml-ng.ocamlPackages_4_09.stdlib-shims
pkgs.ocaml-ng.ocamlPackages_4_09.menhir
pkgs.ocaml-ng.ocamlPackages_4_09.cmdliner
cinaps
];
doCheck = false;
preInstall = ''
make lsp-server
'';
};
in
pkgs.mkShell {
buildInputs = [
pkgs.ocaml-ng.ocamlPackages_4_09.ocaml
pkgs.opam
pkgs.dune_2
ocaml-lsp
pkgs.opam
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment