From 2dbd1f96f22fccbc47851e6584a25159b73e14f7 Mon Sep 17 00:00:00 2001 From: Moraxyc Date: Tue, 29 Oct 2024 15:16:33 +0800 Subject: [PATCH] mmdbctl: init at 1.4.6 --- pkgs/by-name/mm/mmdbctl/package.nix | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 pkgs/by-name/mm/mmdbctl/package.nix diff --git a/pkgs/by-name/mm/mmdbctl/package.nix b/pkgs/by-name/mm/mmdbctl/package.nix new file mode 100644 index 000000000000..ecd79f02e9c1 --- /dev/null +++ b/pkgs/by-name/mm/mmdbctl/package.nix @@ -0,0 +1,55 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + installShellFiles, + stdenv, + runCommand, + mmdbctl, + dbip-country-lite, +}: + +buildGoModule rec { + pname = "mmdbctl"; + version = "1.4.6"; + + src = fetchFromGitHub { + owner = "ipinfo"; + repo = "mmdbctl"; + rev = "refs/tags/mmdbctl-${version}"; + hash = "sha256-6hJ9V8fHs84Lq48l3mB9nZka4rLneyxD4HMhWQYZ0cI="; + }; + + vendorHash = "sha256-5vd39j/gpRRkUccctKGU8+QL0vANm2FMyw6jTtoqJmw="; + + ldflags = [ + "-s" + "-w" + ]; + + nativeBuildInputs = [ installShellFiles ]; + + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + installShellCompletion --cmd mmdbctl \ + --bash <($out/bin/mmdbctl completion bash) \ + --fish <($out/bin/mmdbctl completion fish) \ + --zsh <($out/bin/mmdbctl completion zsh) + ''; + + passthru.tests = { + simple = runCommand "${pname}-test" { } '' + ${lib.getExe mmdbctl} verify ${dbip-country-lite}/share/dbip/dbip-country-lite.mmdb | grep valid + ${lib.getExe mmdbctl} metadata ${dbip-country-lite}/share/dbip/dbip-country-lite.mmdb | grep DBIP-Country-Lite + touch $out + ''; + }; + + meta = { + description = "MMDB file management CLI supporting various operations on MMDB database files"; + homepage = "https://github.com/ipinfo/mmdbctl"; + changelog = "https://github.com/ipinfo/mmdbctl/blob/${src.rev}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ moraxyc ]; + mainProgram = "mmdbctl"; + }; +}