diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index cbdf6586e899..8e6e1d2b93ac 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -13541,6 +13541,12 @@ githubId = 5352661; name = "James Cleverley-Prance"; }; + jpz13 = { + email = "jp@pipekit.io"; + github = "JPZ13"; + githubId = 6625432; + name = "J.P. Zivalich"; + }; jqueiroz = { email = "nixos@johnjq.com"; github = "jqueiroz"; diff --git a/pkgs/by-name/pi/pipekit/package.nix b/pkgs/by-name/pi/pipekit/package.nix new file mode 100644 index 000000000000..e8ed65f77828 --- /dev/null +++ b/pkgs/by-name/pi/pipekit/package.nix @@ -0,0 +1,62 @@ +{ + lib, + stdenvNoCC, + fetchurl, + nix-update-script, + versionCheckHook, +}: + +let + sources = { + "x86_64-linux" = { + suffix = "linux_amd64"; + hash = "sha256-3TTVSCZcsUVfNzC9hWn0OLytMAOxL39f5IlqCReCw7g="; + }; + "aarch64-linux" = { + suffix = "linux_arm64"; + hash = "sha256-pHygFgvMdyh8NQeGwZ1iNkaU1q+pcxvn5/CaoO/amIc="; + }; + }; + inherit (stdenvNoCC.hostPlatform) system; + source = sources.${system} or (throw "pipekit: no prebuilt binary for ${system}"); +in +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "pipekit"; + version = "6.65.5"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchurl { + url = "https://github.com/pipekit/cli/releases/download/v${finalAttrs.version}/cli_${finalAttrs.version}_${source.suffix}.tar.gz"; + inherit (source) hash; + }; + + sourceRoot = "."; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + install -Dm755 pipekit -t $out/bin + runHook postInstall + ''; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "version"; + + passthru.updateScript = nix-update-script { }; + + meta = { + description = "CLI for Pipekit. Observability, governance, and scale for Argo Workflows"; + homepage = "https://pipekit.io"; + changelog = "https://github.com/pipekit/cli/releases/tag/v${finalAttrs.version}"; + license = lib.licenses.unfree; + mainProgram = "pipekit"; + maintainers = with lib.maintainers; [ jpz13 ]; + platforms = builtins.attrNames sources; + sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ]; + }; +})