lol
1{ IOKit
2, buildGoModule
3, fetchFromGitHub
4, fetchpatch
5, lib
6, stdenv
7}:
8
9buildGoModule rec {
10 pname = "avalanchego";
11 version = "1.10.15";
12
13 src = fetchFromGitHub {
14 owner = "ava-labs";
15 repo = pname;
16 rev = "v${version}";
17 hash = "sha256-vx9Vfbdxd3Y0fdjpKC6LFAUEej1RHszyM5GUUGKy0zU=";
18 };
19
20 vendorHash = "sha256-br/z6k1D1r9JEECKNy7BOZzfHaaveCMUA1bKos0+p0Q=";
21 # go mod vendor has a bug, see: https://github.com/golang/go/issues/57529
22 proxyVendor = true;
23
24 buildInputs = lib.optionals stdenv.isDarwin [ IOKit ];
25
26 subPackages = [ "main" ];
27
28 ldflags = [
29 "-s"
30 "-w"
31 "-X github.com/ava-labs/avalanchego/version.GitCommit=${version}"
32 ];
33
34 postInstall = ''
35 mv $out/bin/{main,${pname}}
36 '';
37
38 meta = with lib; {
39 description = "Go implementation of an Avalanche node";
40 homepage = "https://github.com/ava-labs/avalanchego";
41 changelog = "https://github.com/ava-labs/avalanchego/releases/tag/v${version}";
42 license = licenses.bsd3;
43 maintainers = with maintainers; [ urandom qjoly ];
44 };
45}