{ lib, fetchFromGitHub, installShellFiles, php, nix-update-script, versionCheckHook, }: php.buildComposerProject2 (finalAttrs: { pname = "castor"; version = "0.26.0"; src = fetchFromGitHub { owner = "jolicode"; repo = "castor"; tag = "v${finalAttrs.version}"; hash = "sha256-Aktr7mU2KP8Io6H0qXii1sVYkgb8wArYIgJ+OFb+/ao="; }; vendorHash = "sha256-CAsDHwv+oLoiLJ4pUdVvq4w8wD0QsIfYG/AIXASETqI="; nativeBuildInputs = [ installShellFiles ]; # install shell completions postInstall = '' installShellCompletion --cmd castor \ --bash <(php $out/bin/castor completion bash) \ --fish <(php $out/bin/castor completion fish) \ --zsh <(php $out/bin/castor completion zsh) ''; doInstallCheck = true; nativeInstallCheckInputs = [ versionCheckHook ]; versionCheckProgramArg = "--version"; passthru = { updateScript = nix-update-script { }; }; meta = { broken = lib.versionOlder php.version "8.2"; changelog = "https://github.com/jolicode/castor/blob/v${finalAttrs.version}/CHANGELOG.md"; description = "DX oriented task runner and command launcher built with PHP"; homepage = "https://github.com/jolicode/castor"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ gaelreyrol ]; mainProgram = "castor"; }; })