1{ fetchFromGitHub, stdenvNoCC, lib, php }:
2
3php.buildComposerProject (finalAttrs: {
4 pname = "grumphp";
5 version = "2.1.0";
6
7 src = fetchFromGitHub {
8 owner = "phpro";
9 repo = "grumphp";
10 rev = "v${finalAttrs.version}";
11 hash = "sha256-RVgreCspdz+A6mdE2H4i8ajmdH8AZ9BOIw2OqLw7HfI=";
12 };
13
14 patches = [
15 ./composer-json.patch
16 ];
17
18 composerLock = stdenvNoCC.mkDerivation (finalComposerLockAttrs: {
19 name = "grumphp-composer-lock";
20
21 src = fetchFromGitHub {
22 owner = "phpro";
23 repo = "grumphp-shim";
24 rev = "v${finalAttrs.version}";
25 hash = "sha256-JxgRd0p/o3ouZ4MPke8cHqvAPuepY8ax0wx4t8+2dME=";
26 };
27
28 patches = [
29 ./composer-lock.patch
30 ];
31
32 installPhase = ''
33 runHook preInstall
34 cp phar.composer.lock $out
35 runHook postInstall
36 '';
37 });
38
39 vendorHash = "sha256-yefamPAzIabDCzZ9ghKq9iPH7AoCdgCCQ8PKrUN9ifQ=";
40
41 meta = {
42 changelog = "https://github.com/phpro/grumphp/releases/tag/v${finalAttrs.version}";
43 description = "A PHP code-quality tool";
44 homepage = "https://github.com/phpro/grumphp";
45 license = lib.licenses.mit;
46 maintainers = lib.teams.php.members;
47 };
48})