diff --git a/pkgs/development/php-packages/castor/default.nix b/pkgs/development/php-packages/castor/default.nix index d9b33869413f..2fc870a0194c 100644 --- a/pkgs/development/php-packages/castor/default.nix +++ b/pkgs/development/php-packages/castor/default.nix @@ -3,6 +3,7 @@ fetchFromGitHub, installShellFiles, php, + stdenv, nix-update-script, versionCheckHook, writableTmpDirAsHomeHook, @@ -26,12 +27,15 @@ php.buildComposerProject2 (finalAttrs: { writableTmpDirAsHomeHook ]; - # install shell completions - postInstall = '' + # castor loads castor.php from the working directory, so generate the + # completions outside the source tree to prevent it + postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) '' + pushd "$(mktemp -d)" installShellCompletion --cmd castor \ --bash <(php $out/bin/castor completion bash) \ --fish <(php $out/bin/castor completion fish) \ --zsh <(php $out/bin/castor completion zsh) + popd ''; doInstallCheck = true;