From 248e8f3cba2982e33aae8572cf5243b5e8c94027 Mon Sep 17 00:00:00 2001 From: Pol Dellaiera Date: Fri, 14 Apr 2023 12:33:57 +0200 Subject: [PATCH] phpPackages.composer: use `buildComposerProject` builder --- .../php-packages/composer/default.nix | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix index 9cefb46d8e6..2d0e7c579d5 100644 --- a/pkgs/development/php-packages/composer/default.nix +++ b/pkgs/development/php-packages/composer/default.nix @@ -1,33 +1,32 @@ -{ mkDerivation, fetchurl, makeBinaryWrapper, unzip, lib, php }: +{ lib, fetchFromGitHub, php, composer, unzip, _7zz, xz, git, curl, cacert, makeBinaryWrapper }: + +php.buildComposerProject (finalAttrs: { + inherit composer; -mkDerivation (finalAttrs: { pname = "composer"; version = "2.6.2"; - src = fetchurl { - url = "https://github.com/composer/composer/releases/download/${finalAttrs.version}/composer.phar"; - hash = "sha256-iMhNSlP88cJ9Z2Lh1da3DVfG3J0uIxT9Cdv4a/YeGu8="; + src = fetchFromGitHub { + owner = "composer"; + repo = "composer"; + rev = finalAttrs.version; + hash = "sha256-tNc0hP41aRk7MmeWXCd73uHxK9pk1tCWyjiSO568qbE="; }; - dontUnpack = true; - nativeBuildInputs = [ makeBinaryWrapper ]; - installPhase = '' - runHook preInstall - mkdir -p $out/bin - install -D $src $out/libexec/composer/composer.phar - makeWrapper ${php}/bin/php $out/bin/composer \ - --add-flags "$out/libexec/composer/composer.phar" \ - --prefix PATH : ${lib.makeBinPath [ unzip ]} - runHook postInstall + postInstall = '' + wrapProgram $out/bin/composer \ + --prefix PATH : ${lib.makeBinPath [ _7zz cacert curl git unzip xz ]} ''; + vendorHash = "sha256-V6C4LxEfXNWH/pCKATv1gf8f6/a0s/xu5j5bNJUNmnA="; + 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 = with lib.maintainers; [ offline ] ++ lib.teams.php.members; + maintainers = lib.teams.php.members; }; })