about summary refs log tree commit diff
path: root/pkgs/development/tools/bingo
diff options
context:
space:
mode:
authorAaron Jheng <wentworth@outlook.com>2022-02-02 02:11:01 +0000
committerAaron Jheng <wentworth@outlook.com>2022-02-16 12:20:42 +0000
commitaa5baf4dc3049cdbdbabb41e920bcce0f3a95fdc (patch)
tree7d70ece10bb88bd18d7132f08d9e4be83d37c03e /pkgs/development/tools/bingo
parentee88cb928d133dd446b4141911ff8c9f187202c6 (diff)
bingo: init at 0.5.2
Diffstat (limited to 'pkgs/development/tools/bingo')
-rw-r--r--pkgs/development/tools/bingo/default.nix41
-rw-r--r--pkgs/development/tools/bingo/version_go.patch17
2 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/development/tools/bingo/default.nix b/pkgs/development/tools/bingo/default.nix
new file mode 100644
index 0000000000000..8fe1dbaa4bea2
--- /dev/null
+++ b/pkgs/development/tools/bingo/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildGoModule, fetchFromGitHub, testVersion, bingo }:
+
+buildGoModule rec {
+  pname = "bingo";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "bwplotka";
+    repo = "bingo";
+    rev = "v${version}";
+    sha256 = "sha256-4D8YaA/AH1gIp5iwD7WEAdBl73sqwHpfOe7bnxVcRcw=";
+  };
+
+  vendorSha256 = "sha256-xrz9FpwZd+FboVVTWSqGHRguGwrwE9cSFEEtulzbfDQ=";
+
+  patches = [
+    # Do not execute `go` command when invoking `bingo version`.
+    ./version_go.patch
+  ];
+
+  postPatch = ''
+    rm get_e2e_test.go get_e2e_utils_test.go
+  '';
+
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testVersion {
+    package = bingo;
+    command = "bingo version";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "Like `go get` but for Go tools! CI Automating versioning of Go binaries in a nested, isolated Go modules.";
+    homepage = "https://github.com/bwplotka/bingo";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
+}
diff --git a/pkgs/development/tools/bingo/version_go.patch b/pkgs/development/tools/bingo/version_go.patch
new file mode 100644
index 0000000000000..2898326a0547b
--- /dev/null
+++ b/pkgs/development/tools/bingo/version_go.patch
@@ -0,0 +1,17 @@
+diff --git a/main.go b/main.go
+index 5600f7e..662ed1b 100644
+--- a/main.go
++++ b/main.go
+@@ -201,10 +201,8 @@ func main() {
+ 			return pkgs.PrintTab(target, os.Stdout)
+ 		}
+ 	case "version":
+-		cmdFunc = func(ctx context.Context, r *runner.Runner) error {
+-			_, err := fmt.Fprintln(os.Stdout, version.Version)
+-			return err
+-		}
++		_, _ = fmt.Fprintln(os.Stdout, version.Version)
++		return
+ 	default:
+ 		exitOnUsageError(flags.Usage, "No such command", flags.Arg(0))
+ 	}