summary refs log tree commit diff
path: root/pkgs/tools/misc/org-stats
diff options
context:
space:
mode:
authorfigsoda <figsoda@pm.me>2023-05-21 22:17:24 -0400
committerfigsoda <figsoda@pm.me>2023-05-21 22:17:24 -0400
commitd7c98fc6e49e465c004d5b4d113e66f10b2c283c (patch)
treeead822ac66bdd3e331584fd15dee1dfb9e2857f2 /pkgs/tools/misc/org-stats
parenta12111248be65015c42b485c466994b9bba247c2 (diff)
downloadnixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.tar
nixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.tar.gz
nixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.tar.bz2
nixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.tar.lz
nixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.tar.xz
nixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.tar.zst
nixpkgs-d7c98fc6e49e465c004d5b4d113e66f10b2c283c.zip
org-stats: init at 1.11.2
https://github.com/caarlos0/org-stats
Diffstat (limited to 'pkgs/tools/misc/org-stats')
-rw-r--r--pkgs/tools/misc/org-stats/default.nix62
-rw-r--r--pkgs/tools/misc/org-stats/version.patch11
2 files changed, 73 insertions, 0 deletions
diff --git a/pkgs/tools/misc/org-stats/default.nix b/pkgs/tools/misc/org-stats/default.nix
new file mode 100644
index 00000000000..7c79f526fb8
--- /dev/null
+++ b/pkgs/tools/misc/org-stats/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, substituteAll
+, installShellFiles
+, testers
+, org-stats
+}:
+
+buildGoModule rec {
+  pname = "org-stats";
+  version = "1.11.2";
+
+  src = fetchFromGitHub {
+    owner = "caarlos0";
+    repo = "org-stats";
+    rev = "v${version}";
+    hash = "sha256-b0Cfs4EqQOft/HNAoJvRriCMzNiOgYagBLiPYgsDgJM=";
+  };
+
+  vendorHash = "sha256-LKpnEXVfxBR3cebv46QontDVeA64MJe0vNiKSnTjLtQ=";
+
+  patches = [
+    # patch in version information
+    # since `debug.ReadBuildInfo` does not work with `go build
+    (substituteAll {
+      src = ./version.patch;
+      inherit version;
+    })
+  ];
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  ldflags = [ "-s" "-w" ];
+
+  postInstall = ''
+    $out/bin/org-stats man > org-stats.1
+    installManPage org-stats.1
+
+    installShellCompletion --cmd org-stats \
+      --bash <($out/bin/org-stats completion bash) \
+      --fish <($out/bin/org-stats completion fish) \
+      --zsh <($out/bin/org-stats completion zsh)
+  '';
+
+  passthru.tests = {
+    version = testers.testVersion {
+      package = org-stats;
+      command = "org-stats version";
+    };
+  };
+
+  meta = with lib; {
+    description = "Get the contributor stats summary from all repos of any given organization";
+    homepage = "https://github.com/caarlos0/org-stats";
+    changelog = "https://github.com/caarlos0/org-stats/releases/tag/${src.rev}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ figsoda ];
+  };
+}
diff --git a/pkgs/tools/misc/org-stats/version.patch b/pkgs/tools/misc/org-stats/version.patch
new file mode 100644
index 00000000000..8cf625fc396
--- /dev/null
+++ b/pkgs/tools/misc/org-stats/version.patch
@@ -0,0 +1,11 @@
+--- a/cmd/version.go
++++ b/cmd/version.go
+@@ -16,7 +16,7 @@ var versionCmd = &cobra.Command{
+ 			if sum == "" {
+ 				sum = "none"
+ 			}
+-			fmt.Printf("https://%s %s @ %s\n", info.Main.Path, info.Main.Version, sum)
++			fmt.Printf("https://%s %s @ %s\n", info.Main.Path, "@version@", sum)
+ 		} else {
+ 			fmt.Println("unknown")
+ 		}