about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/bingo
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/tools/bingo')
-rw-r--r--nixpkgs/pkgs/development/tools/bingo/bingo_version.patch13
-rw-r--r--nixpkgs/pkgs/development/tools/bingo/default.nix43
-rw-r--r--nixpkgs/pkgs/development/tools/bingo/version_go.patch17
3 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/tools/bingo/bingo_version.patch b/nixpkgs/pkgs/development/tools/bingo/bingo_version.patch
new file mode 100644
index 000000000000..a3d85df6a9ce
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/bingo/bingo_version.patch
@@ -0,0 +1,13 @@
+diff --git a/pkg/version/version.go b/pkg/version/version.go
+index 30f8f30..11c12a0 100644
+--- a/pkg/version/version.go
++++ b/pkg/version/version.go
+@@ -6,7 +6,7 @@ package version
+ import "github.com/Masterminds/semver"
+ 
+ // Version returns 'bingo' version.
+-const Version = "v0.6"
++const Version = "v0.6.0"
+ 
+ var (
+ 	Go114 = semver.MustParse("1.14")
diff --git a/nixpkgs/pkgs/development/tools/bingo/default.nix b/nixpkgs/pkgs/development/tools/bingo/default.nix
new file mode 100644
index 000000000000..1b4ddd41c0e3
--- /dev/null
+++ b/nixpkgs/pkgs/development/tools/bingo/default.nix
@@ -0,0 +1,43 @@
+{ lib, buildGoModule, fetchFromGitHub, testers, bingo }:
+
+buildGoModule rec {
+  pname = "bingo";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "bwplotka";
+    repo = "bingo";
+    rev = "v${version}";
+    sha256 = "sha256-t2nkY+mwek2NcbCwCkI3Mc1ULEJIjatBjChBdnKFAg8=";
+  };
+
+  vendorSha256 = "sha256-TCbwIHDg2YaLIscCoGPRBv5G3YSJ+qn/koOjPh+KKRY=";
+
+  patches = [
+    # Do not execute `go` command when invoking `bingo version`.
+    ./version_go.patch
+    # Specific to v0.6.0. `v0.6` -> `v0.6.0`
+    ./bingo_version.patch
+  ];
+
+  postPatch = ''
+    rm get_e2e_test.go get_e2e_utils_test.go
+  '';
+
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testers.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/nixpkgs/pkgs/development/tools/bingo/version_go.patch b/nixpkgs/pkgs/development/tools/bingo/version_go.patch
new file mode 100644
index 000000000000..2898326a0547
--- /dev/null
+++ b/nixpkgs/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))
+ 	}