mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-22 21:53:32 +00:00
f0987a05a9
So in php we have a bootstrapping composer (that lives in composer-phar.nix) that downloads the binary distribution of composer to be able to bootstrap and build a composer built from source. However, it's desirable to keep composer updated at all time, and this includes the phar one that isn't used by users directly. So this makes sure we don't "forget" about the phar one since it now borrows the version from the source version. However, then it also made sense to move the hash for the phar to the same file as the source composer. Then we can control the full upgrade life cycle of both the phar and source versions of composer from the same file.
42 lines
1.3 KiB
Nix
42 lines
1.3 KiB
Nix
{ lib, callPackage, fetchFromGitHub, php, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }:
|
|
|
|
php.buildComposerProject (finalAttrs: {
|
|
# Hash used by ../../../build-support/php/pkgs/composer-phar.nix to
|
|
# use together with the version from this package to keep the
|
|
# bootstrap phar file up-to-date together with the end user composer
|
|
# package.
|
|
passthru.pharHash = "sha256-mhjho6rby5TBuv1sSpj/kx9LQ6RW70hXUTBGbhnwXdY=";
|
|
|
|
composer = callPackage ../../../build-support/php/pkgs/composer-phar.nix {
|
|
inherit (finalAttrs) version;
|
|
inherit (finalAttrs.passthru) pharHash;
|
|
};
|
|
|
|
pname = "composer";
|
|
version = "2.6.5";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "composer";
|
|
repo = "composer";
|
|
rev = finalAttrs.version;
|
|
hash = "sha256-CKP7CYOuMKpuWdVveET2iLJPKJyCnv5YVjx4DE68UoE=";
|
|
};
|
|
|
|
nativeBuildInputs = [ makeBinaryWrapper ];
|
|
|
|
postInstall = ''
|
|
wrapProgram $out/bin/composer \
|
|
--prefix PATH : ${lib.makeBinPath [ _7zz cacert curl git unzip xz ]}
|
|
'';
|
|
|
|
vendorHash = "sha256-SG5RsKaP7zqJY2vjvULuNdf7w6tAGh7/dlxx2Pkfj2A=";
|
|
|
|
meta = {
|
|
changelog = "https://github.com/composer/composer/releases/tag/${finalAttrs.version}";
|
|
description = "Dependency Manager for PHP";
|
|
homepage = "https://getcomposer.org/";
|
|
license = lib.licenses.mit;
|
|
maintainers = lib.teams.php.members;
|
|
};
|
|
})
|