diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 67a635615292..005baf03646b 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -23100,6 +23100,12 @@ githubId = 251028; name = "Shell Turner"; }; + shellhazard = { + email = "shellhazard@tutanota.com"; + github = "shellhazard"; + githubId = 10951745; + name = "shellhazard"; + }; shelvacu = { name = "Shelvacu"; email = "nix-maint@shelvacu.com"; diff --git a/pkgs/by-name/db/dbtpl/package.nix b/pkgs/by-name/db/dbtpl/package.nix new file mode 100644 index 000000000000..d4fa2c6a61b7 --- /dev/null +++ b/pkgs/by-name/db/dbtpl/package.nix @@ -0,0 +1,67 @@ +{ + lib, + stdenv, + buildGoModule, + fetchFromGitHub, + installShellFiles, + buildPackages, + versionCheckHook, + nix-update-script, +}: +buildGoModule (finalAttrs: { + pname = "dbtpl"; + version = "1.1.0"; + + src = fetchFromGitHub { + owner = "xo"; + repo = "dbtpl"; + tag = "v${finalAttrs.version}"; + hash = "sha256-r0QIgfDSt7HWnIDnJWGbwkqkXWYWGXoF5H/+zS6gEtE="; + }; + + vendorHash = "sha256-scJRJaaccQovxhzC+/OHuPR4NRaE8+u57S1JY40bif8="; + + nativeBuildInputs = [ + installShellFiles + ]; + + modPostBuild = '' + substituteInPlace vendor/github.com/xo/ox/ox.go \ + --replace-warn "ver := \"(devel)\"" "ver := \"${finalAttrs.version}\"" + ''; + + postInstall = + let + exe = + if stdenv.buildPlatform.canExecute stdenv.hostPlatform then + "$out/bin/dbtpl" + else + lib.getExe buildPackages.dbtpl; + in + '' + installShellCompletion --cmd dbtpl \ + --bash <(${exe} completion bash) \ + --fish <(${exe} completion fish) \ + --zsh <(${exe} completion zsh) + ''; + + nativeInstallCheckInputs = [ + versionCheckHook + ]; + versionCheckProgramArg = "version"; + doInstallCheck = true; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "Command line tool to generate idiomatic Go code for SQL databases supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server"; + homepage = "https://github.com/xo/dbtpl"; + changelog = "https://github.com/xo/dbtpl/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + xiaoxiangmoe + shellhazard + ]; + mainProgram = "dbtpl"; + }; +})