depot/third_party/nixpkgs/pkgs/by-name/sq/sqlcmd/package.nix

61 lines
1.4 KiB
Nix

{
buildGoModule,
fetchFromGitHub,
installShellFiles,
lib,
sqlcmd,
testers,
}:
buildGoModule rec {
pname = "sqlcmd";
version = "1.8.1";
src = fetchFromGitHub {
repo = "go-sqlcmd";
owner = "microsoft";
rev = "v${version}";
sha256 = "sha256-XV6sPlTBBUMFzWVaLbbtbb/FLYlOkp8htBnVZdaVLQs=";
};
vendorHash = "sha256-gc/pOFtQMCLjHbW9z8r08Q+1QnOe5WllSuhIeiz9Huo=";
proxyVendor = true;
ldflags = [
"-s"
"-w"
"-X main.version=${version}"
];
subPackages = [ "cmd/modern" ];
nativeBuildInputs = [ installShellFiles ];
preCheck = ''
export HOME=$(mktemp -d)
'';
postInstall = ''
mv $out/bin/modern $out/bin/sqlcmd
installShellCompletion --cmd sqlcmd \
--bash <($out/bin/sqlcmd completion bash) \
--fish <($out/bin/sqlcmd completion fish) \
--zsh <($out/bin/sqlcmd completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = sqlcmd;
command = "sqlcmd --version";
inherit version;
};
meta = {
description = "Command line tool for working with Microsoft SQL Server, Azure SQL Database, and Azure Synapse";
mainProgram = "sqlcmd";
homepage = "https://github.com/microsoft/go-sqlcmd";
changelog = "https://github.com/microsoft/go-sqlcmd/releases/tag/v${version}";
license = lib.licenses.mit;
maintainers = [ lib.maintainers.ratsclub ];
};
}