Unverified Commit 68866194 authored by Pol Dellaiera's avatar Pol Dellaiera
Browse files

phpPackages.php-cs-fixer: use `buildComposerProject` builder

parent dae4e32f
Loading
Loading
Loading
Loading
+4747 −0

File added.

Preview size limit exceeded, changes collapsed.

+20 −25
Original line number Diff line number Diff line
{ mkDerivation, fetchurl, makeWrapper, lib, php }:
{ lib
, fetchFromGitHub
, php
}:

let
php.buildComposerProject (finalAttrs: {
  pname = "php-cs-fixer";
  version = "3.50.0";
in
mkDerivation {
  inherit pname version;

  src = fetchurl {
    url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
    sha256 = "sha256-bJd/bsb2mJbQi4J1Z2uN4A2oLG+wqyq32rNDwcLC8gc=";
  src = fetchFromGitHub {
    owner = "PHP-CS-Fixer";
    repo = "PHP-CS-Fixer";
    rev = "v${finalAttrs.version}";
    hash = "sha256-T0R/TfCLG9+Vcbsm5W8/7weI+e1RuSzTBc3VmRlG74c=";
  };

  dontUnpack = true;
  # TODO: Open a PR against https://github.com/PHP-CS-Fixer/PHP-CS-Fixer
  # Missing `composer.lock` from the repository.
  composerLock = ./composer.lock;
  vendorHash = "sha256-kcEB7UZ++ZY5vhaoPGjaC3q1fpxYcZ/yZeMP3AdQBEk=";

  nativeBuildInputs = [ makeWrapper ];

  installPhase = ''
    runHook preInstall
    mkdir -p $out/bin
    install -D $src $out/libexec/php-cs-fixer/php-cs-fixer.phar
    makeWrapper ${php}/bin/php $out/bin/php-cs-fixer \
      --add-flags "$out/libexec/php-cs-fixer/php-cs-fixer.phar"
    runHook postInstall
  '';

  meta = with lib; {
    changelog = "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/${version}";
  meta = {
    changelog = "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/releases/tag/${finalAttrs.version}";
    description = "A tool to automatically fix PHP coding standards issues";
    license = licenses.mit;
    homepage = "https://cs.symfony.com/";
    maintainers = with maintainers; [ ] ++ teams.php.members;
    license = lib.licenses.mit;
    mainProgram = "php-cs-fixer";
    maintainers = lib.teams.php.members;
  };
}
})