1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{
_7zz,
cacert,
curl,
fetchurl,
git,
lib,
makeBinaryWrapper,
php,
stdenvNoCC,
unzip,
xz,
version,
pharHash,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "composer-phar";
inherit version;
src = fetchurl {
url = "https://github.com/composer/composer/releases/download/${finalAttrs.version}/composer.phar";
hash = pharHash;
};
dontUnpack = true;
nativeBuildInputs = [ makeBinaryWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
install -D $src $out/libexec/composer/composer.phar
makeWrapper ${lib.getExe php} $out/bin/composer \
--add-flags "$out/libexec/composer/composer.phar" \
--prefix PATH : ${
lib.makeBinPath [
_7zz
cacert
curl
git
unzip
xz
]
}
runHook postInstall
'';
meta = {
changelog = "https://github.com/composer/composer/releases/tag/${finalAttrs.version}";
description = "Dependency Manager for PHP, shipped from the PHAR file";
homepage = "https://getcomposer.org/";
license = lib.licenses.mit;
mainProgram = "composer";
maintainers = with lib.maintainers; [ drupol ];
platforms = lib.platforms.all;
};
})
|