nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 crystal,
4 fetchFromGitHub,
5 llvmPackages,
6 openssl,
7 makeWrapper,
8}:
9
10let
11 version = "0.15.0";
12in
13crystal.buildCrystalPackage {
14 pname = "crystalline";
15 inherit version;
16
17 src = fetchFromGitHub {
18 owner = "elbywan";
19 repo = "crystalline";
20 rev = "v${version}";
21 hash = "sha256-6ZAogEuOJH1QQ6NSJ+8KZUSFSgQAcvd4U9vWNAGix/M=";
22 };
23
24 format = "crystal";
25 shardsFile = ./shards.nix;
26
27 nativeBuildInputs = [
28 llvmPackages.llvm
29 openssl
30 makeWrapper
31 ];
32
33 doCheck = false;
34 doInstallCheck = false;
35
36 crystalBinaries.crystalline = {
37 src = "src/crystalline.cr";
38 options = [
39 "--release"
40 "--no-debug"
41 "--progress"
42 "-Dpreview_mt"
43 ];
44 };
45
46 postInstall = ''
47 wrapProgram "$out/bin/crystalline" --prefix PATH : '${lib.makeBinPath [ llvmPackages.llvm.dev ]}'
48 '';
49
50 meta = with lib; {
51 description = "Language Server Protocol implementation for Crystal";
52 mainProgram = "crystalline";
53 homepage = "https://github.com/elbywan/crystalline";
54 license = licenses.mit;
55 maintainers = with maintainers; [ donovanglover ];
56 };
57}