From cc026dfbf5c2d4677ce5ef5807a928447cb486b3 Mon Sep 17 00:00:00 2001 From: ZHAO Jin-Xiang Date: Sat, 1 Mar 2025 23:49:04 +0800 Subject: [PATCH] xlsxsql: init at 0.4.0 --- pkgs/by-name/xl/xlsxsql/package.nix | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 pkgs/by-name/xl/xlsxsql/package.nix diff --git a/pkgs/by-name/xl/xlsxsql/package.nix b/pkgs/by-name/xl/xlsxsql/package.nix new file mode 100644 index 000000000000..21b98b2ade6e --- /dev/null +++ b/pkgs/by-name/xl/xlsxsql/package.nix @@ -0,0 +1,61 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + buildPackages, + versionCheckHook, + nix-update-script, +}: +buildGoModule rec { + pname = "xlsxsql"; + version = "0.4.0"; + + src = fetchFromGitHub { + owner = "noborus"; + repo = "xlsxsql"; + tag = "v${version}"; + hash = "sha256-OmNYrohWs4l7cReTBB6Ha9VuKPit1+P7a4QKhYwK5g8="; + }; + + vendorHash = "sha256-Zrt4NMoQePvipFyYpN+Ipgl2D6j/thCPhrQy4AbXOfQ="; + + ldflags = [ + "-X main.version=v${version}" + "-X main.revision=${src.rev}" + ]; + + nativeBuildInputs = [ + installShellFiles + ]; + + postInstall = lib.optionalString (stdenv.hostPlatform.emulatorAvailable buildPackages) ( + let + emulator = stdenv.hostPlatform.emulator buildPackages; + in + '' + installShellCompletion --cmd xlsxsql \ + --bash <(${emulator} $out/bin/xlsxsql completion bash) \ + --fish <(${emulator} $out/bin/xlsxsql completion fish) \ + --zsh <(${emulator} $out/bin/xlsxsql completion zsh) + '' + ); + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = [ "--version" ]; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI tool that executes SQL queries on various files including xlsx files and outputs the results to various files"; + homepage = "https://github.com/noborus/xlsxsql"; + changelog = "https://github.com/noborus/xlsxsql/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ xiaoxiangmoe ]; + mainProgram = "xlsxsql"; + }; +}