diff --git a/pkgs/by-name/ne/nesting/package.nix b/pkgs/by-name/ne/nesting/package.nix new file mode 100644 index 000000000000000..07d453e9be2cd65 --- /dev/null +++ b/pkgs/by-name/ne/nesting/package.nix @@ -0,0 +1,56 @@ +{ + lib, + buildGoModule, + fetchFromGitLab, + nix-update-script, + versionCheckHook, +}: + +let + # See https://gitlab.com/gitlab-org/fleeting/nesting/-/blob/v0.2.1/Makefile?ref_type=tags#L18. + # + # Couldn't find a way to substitute "go list ." into "ldflags". + ldflagsPackageVariablePrefix = "gitlab.com/gitlab-org/fleeting/nesting"; +in +buildGoModule rec { + pname = "nesting"; + version = "0.2.1"; + + src = fetchFromGitLab { + owner = "gitlab-org/fleeting"; + repo = "nesting"; + rev = "refs/tags/v${version}"; + hash = "sha256-6JgwzJrULbXLQI5pB5DttjOkVyN7s9Bgr/L5sD79Nvw="; + }; + + vendorHash = "sha256-JIVETis405olMyq8cvBjw4KRG9qusSfktx1vAM48y3s="; + + subPackages = [ "cmd/nesting" ]; + + # See https://gitlab.com/gitlab-org/fleeting/nesting/-/blob/v0.2.1/Makefile?ref_type=tags#L22-24. + # + # Needed for "nesting version" to not show "dev". + ldflags = [ + "-X ${ldflagsPackageVariablePrefix}.NAME=${pname}" + "-X ${ldflagsPackageVariablePrefix}.VERSION=v${version}" + "-X ${ldflagsPackageVariablePrefix}.REVISION=${src.rev}" + ]; + + nativeInstallCheckInputs = [ versionCheckHook ]; + + versionCheckProgramArg = "version"; + + passthru = { + updateScript = nix-update-script { }; + }; + + meta = { + description = "nesting is a basic and opinionated daemon that sits in front of virtualization platforms. Its goal is to provide a client/server model for listing, creating and deleting pre-configured Virtual Machines intended for isolated and short-lived workloads."; + homepage = "https://gitlab.com/gitlab-org/fleeting/nesting"; + license = lib.licenses.mit; + mainProgram = "nesting"; + platforms = lib.platforms.unix; + # TODO: Find maintainer(s). + maintainers = with lib.maintainers; [ ]; + }; +}