1{
2 lib,
3 fetchFromGitHub,
4 installShellFiles,
5 php,
6 versionCheckHook,
7}:
8php.buildComposerProject2 (finalAttrs: {
9 pname = "phpactor";
10 version = "2025.07.25.0";
11
12 src = fetchFromGitHub {
13 owner = "phpactor";
14 repo = "phpactor";
15 tag = finalAttrs.version;
16 hash = "sha256-9XWlWwq+xvqPgKIc7IGoMVTxajjYsrPo/ra/0JIE168=";
17 };
18
19 vendorHash = "sha256-3xkt0QjytW4BOCgZdevat7zkSuZTPPvwz3yptiq5zoo=";
20
21 nativeBuildInputs = [ installShellFiles ];
22
23 postInstall = ''
24 installShellCompletion --cmd phpactor \
25 --bash <(php $out/bin/phpactor completion bash)
26 '';
27
28 doInstallCheck = true;
29 nativeInstallCheckInputs = [ versionCheckHook ];
30 versionCheckProgramArg = "--version";
31
32 meta = {
33 changelog = "https://github.com/phpactor/phpactor/releases/tag/${finalAttrs.version}";
34 description = "Mainly a PHP Language Server";
35 homepage = "https://github.com/phpactor/phpactor";
36 license = lib.licenses.mit;
37 mainProgram = "phpactor";
38 teams = [ lib.teams.php ];
39 };
40})