1{
2 lib,
3 php,
4 fetchFromGitHub,
5 makeBinaryWrapper,
6 versionCheckHook,
7}:
8
9php.buildComposerProject2 (finalAttrs: {
10 pname = "phpdocumentor";
11 version = "3.8.1";
12
13 src = fetchFromGitHub {
14 owner = "phpDocumentor";
15 repo = "phpDocumentor";
16 tag = "v${finalAttrs.version}";
17 hash = "sha256-iQA19FrXvVLzg+LaY1BcNmG8amMfKPVFwYbZ7dr+H9Q=";
18 };
19
20 vendorHash = "sha256-sFRy9Hy9CVNjjYqbPbKH0XhoUdu4HlkiuHDDovTGono=";
21
22 nativeBuildInputs = [ makeBinaryWrapper ];
23
24 postInstall = ''
25 wrapProgram "$out/bin/phpdoc" \
26 --set-default APP_CACHE_DIR /tmp \
27 --set-default APP_LOG_DIR /tmp/log
28 '';
29
30 nativeInstallCheckInputs = [
31 versionCheckHook
32 ];
33 versionCheckProgram = "${placeholder "out"}/bin/${finalAttrs.meta.mainProgram}";
34 versionCheckProgramArg = "--version";
35 doInstallCheck = true;
36
37 meta = {
38 changelog = "https://github.com/phpDocumentor/phpDocumentor/releases/tag/v${finalAttrs.version}";
39 description = "PHP documentation generator";
40 homepage = "https://phpdoc.org";
41 license = lib.licenses.mit;
42 mainProgram = "phpdoc";
43 maintainers = with lib.maintainers; [ drupol ];
44 };
45})