summary refs log tree commit diff
path: root/pkgs/development/tools/nimble/default.nix
blob: 10a19d9e0963c5118a59c55254f42c5f1242d355 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
{ stdenv, fetchFromGitHub, nim }:

let
  srcs = {
    nimble = fetchFromGitHub {
      owner = "nim-lang";
      repo = "nimble";
      rev = "v0.7.2";
      sha256 = "0j9b519cv91xwn6k0alynakh7grbq4m6yy5bdwdrqmc7lag35r0i";
    };
    nim = fetchFromGitHub {
      owner = "nim-lang";
      repo = "nim";
      rev = "v0.13.0";
      sha256 = "14grhkwdva4wmvihm1413ly86sf0qk96bd473pvsbgkp46cg8rii";
    };
  };
in
stdenv.mkDerivation rec {
  name = "nimble-${version}";
  version = "0.7.2";

  src = srcs.nimble;

  buildInputs = [ nim ];

  postUnpack = ''
    mkdir -p $sourceRoot/vendor
    ln -s ${srcs.nim} $sourceRoot/vendor/nim
  '';
  buildPhase   = ''
    nim c src/nimble
  '';
  installPhase = "installBin src/nimble";

  meta = with stdenv.lib; {
    description = "Package manager for the Nim programming language";
    homepage = https://github.com/nim-lang/nimble;
    license = licenses.bsd2;
    maintainers = with maintainers; [ kamilchm ];
    platforms = platforms.linux ++ platforms.darwin;
  };
}