nixpkgs/home/packages/composer1/composer.nix
Daniel Siepmann bfb5e08460
Move custom packages out of overlays
No need for overlays.
Instead create own packages and call them via callPackage.
That will keep them simpler and allows dependency injection.
I can follow existing patterns from nixpkgs, etc.
2022-05-24 18:50:10 +02:00

35 lines
987 B
Nix

{ stdenv, fetchurl, makeWrapper, unzip, lib, php }:
let
pname = "composer";
version = "1.10.26";
in stdenv.mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "sha256-y/4fhSdsV6vkZNk0UD2TWqITSUrChidcjfq/qR49vcQ=";
};
dontUnpack = true;
nativeBuildInputs = [ makeWrapper ];
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
'';
meta = with lib; {
description = "Dependency Manager for PHP";
license = licenses.mit;
homepage = "https://getcomposer.org/";
changelog = "https://github.com/composer/composer/releases/tag/${version}";
maintainers = with maintainers; [ offline ] ++ teams.php.members;
};
}