1{ lib
2, buildGoModule
3, fetchFromGitHub
4, stdenv
5, xorg
6, darwin
7, testers
8, src-cli
9}:
10
11buildGoModule rec {
12 pname = "src-cli";
13 version = "5.2.0";
14
15 src = fetchFromGitHub {
16 owner = "sourcegraph";
17 repo = "src-cli";
18 rev = version;
19 hash = "sha256-QUcN71Zvg9BSQHXu8ANye9BOX5cDgMgl2jfhUgz/GVE=";
20 };
21
22 vendorHash = "sha256-YhaxgEGYKrRZagnpoMi/mGWXVkbp5fUjQ73xDFdTElw=";
23
24 subPackages = [
25 "cmd/src"
26 ];
27
28 buildInputs = lib.optionals stdenv.isLinux [
29 xorg.libX11
30 ] ++ lib.optionals stdenv.isDarwin [
31 darwin.apple_sdk.frameworks.Cocoa
32 ];
33
34 ldflags = [
35 "-s"
36 "-w"
37 "-X=github.com/sourcegraph/src-cli/internal/version.BuildTag=${version}"
38 ];
39
40 __darwinAllowLocalNetworking = true;
41
42 passthru.tests = {
43 version = testers.testVersion {
44 package = src-cli;
45 command = "src version || true";
46 };
47 };
48
49 meta = with lib; {
50 description = "Sourcegraph CLI";
51 homepage = "https://github.com/sourcegraph/src-cli";
52 changelog = "https://github.com/sourcegraph/src-cli/blob/${src.rev}/CHANGELOG.md";
53 license = licenses.asl20;
54 maintainers = with maintainers; [ figsoda ];
55 mainProgram = "src";
56 };
57}