1{ mkDerivation, fetchurl, makeBinaryWrapper, unzip, lib, php }:
2
3mkDerivation rec {
4 pname = "composer";
5 version = "2.5.7";
6
7 src = fetchurl {
8 url = "https://github.com/composer/composer/releases/download/${version}/composer.phar";
9 sha256 = "sha256-klbEwcgDudDLemahq2xzfkjEPMbfe47J7CSXpyS/RN4=";
10 };
11
12 dontUnpack = true;
13
14 nativeBuildInputs = [ makeBinaryWrapper ];
15
16 installPhase = ''
17 runHook preInstall
18 mkdir -p $out/bin
19 install -D $src $out/libexec/composer/composer.phar
20 makeWrapper ${php}/bin/php $out/bin/composer \
21 --add-flags "$out/libexec/composer/composer.phar" \
22 --prefix PATH : ${lib.makeBinPath [ unzip ]}
23 runHook postInstall
24 '';
25
26 meta = with lib; {
27 description = "Dependency Manager for PHP";
28 license = licenses.mit;
29 homepage = "https://getcomposer.org/";
30 changelog = "https://github.com/composer/composer/releases/tag/${version}";
31 maintainers = with maintainers; [ offline ] ++ teams.php.members;
32 };
33}