From d7c98fc6e49e465c004d5b4d113e66f10b2c283c Mon Sep 17 00:00:00 2001 From: figsoda Date: Sun, 21 May 2023 22:17:24 -0400 Subject: [PATCH] org-stats: init at 1.11.2 https://github.com/caarlos0/org-stats --- pkgs/tools/misc/org-stats/default.nix | 62 +++++++++++++++++++++++++ pkgs/tools/misc/org-stats/version.patch | 11 +++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 75 insertions(+) create mode 100644 pkgs/tools/misc/org-stats/default.nix create mode 100644 pkgs/tools/misc/org-stats/version.patch 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") + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3c2a437a0b5..f431303e160 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10926,6 +10926,8 @@ with pkgs; autoreconfHook = buildPackages.autoreconfHook269; }; + org-stats = callPackage ../tools/misc/org-stats { }; + orz = callPackage ../tools/compression/orz { }; os-prober = callPackage ../tools/misc/os-prober { };