nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 callPackage,
4 fetchFromGitHub,
5 php,
6 unzip,
7 _7zz,
8 xz,
9 git,
10 curl,
11 cacert,
12 makeBinaryWrapper,
13}:
14
15php.buildComposerProject (finalAttrs: {
16 # Hash used by ../../../build-support/php/pkgs/composer-phar.nix to
17 # use together with the version from this package to keep the
18 # bootstrap phar file up-to-date together with the end user composer
19 # package.
20 passthru.pharHash = "sha256-KdyaGe8zU12wYbMRgLKoM6fPjSz0FFszovg1BId7ugg=";
21
22 composer = callPackage ../../../build-support/php/pkgs/composer-phar.nix {
23 inherit (finalAttrs) version;
24 inherit (finalAttrs.passthru) pharHash;
25 };
26
27 pname = "composer";
28 version = "2.7.6";
29
30 src = fetchFromGitHub {
31 owner = "composer";
32 repo = "composer";
33 rev = finalAttrs.version;
34 hash = "sha256-LZwg3PR3zl07Nb6MS8oKkRfjLgqtT/c4sfUOzWE4S+U=";
35 };
36
37 nativeBuildInputs = [ makeBinaryWrapper ];
38
39 postInstall = ''
40 wrapProgram $out/bin/composer \
41 --prefix PATH : ${
42 lib.makeBinPath [
43 _7zz
44 cacert
45 curl
46 git
47 unzip
48 xz
49 ]
50 }
51 '';
52
53 vendorHash = "sha256-dNNV9fTyGyRoGeDV/vBjn0aMgkaUMsrKQv5AOoiYokQ=";
54
55 meta = {
56 changelog = "https://github.com/composer/composer/releases/tag/${finalAttrs.version}";
57 description = "Dependency Manager for PHP";
58 homepage = "https://getcomposer.org/";
59 license = lib.licenses.mit;
60 mainProgram = "composer";
61 maintainers = lib.teams.php.members;
62 };
63})