Merge pull request #100252 from etu/php-move-derivations-to-separate-dirs

phpPackages: Move derivations to separate dirs
This commit is contained in:
Elis Hirwing
2020-10-11 18:55:12 +02:00
committed by GitHub
12 changed files with 367 additions and 308 deletions
@@ -0,0 +1,30 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "box";
version = "2.7.5";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar";
sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/box/box.phar
makeWrapper ${php}/bin/php $out/bin/box \
--add-flags "-d phar.readonly=0 $out/libexec/box/box.phar"
'';
meta = with lib; {
description = "An application for building and managing Phars";
license = licenses.mit;
homepage = "https://box-project.github.io/box2/";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
}
@@ -0,0 +1,32 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "composer";
version = "2.0.0-RC1";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "0wzr360gaa59cbjpa3vw9yrpc55a4fmdv68q0rn7vj0mjnz60fhd";
};
dontUnpack = true;
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
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 : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
'';
meta = with pkgs.lib; {
description = "Dependency Manager for PHP";
license = licenses.mit;
homepage = "https://getcomposer.org/";
maintainers = with maintainers; [ offline ] ++ teams.php.members;
};
}
@@ -0,0 +1,32 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "composer";
version = "1.10.13";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "13vhfdlkmpvmk1h30f1i688xk7sdgfj0b82am32jgpa8zmf499sw";
};
dontUnpack = true;
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
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 : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
'';
meta = with pkgs.lib; {
description = "Dependency Manager for PHP";
license = licenses.mit;
homepage = "https://getcomposer.org/";
maintainers = with maintainers; [ offline ] ++ teams.php.members;
};
}
@@ -0,0 +1,30 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "php-cs-fixer";
version = "2.16.4";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
sha256 = "05rdvypxc86hjs8b7id2csa7g1rf7dk2swzfvd5768abdgfasvr8";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
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"
'';
meta = with pkgs.lib; {
description = "A tool to automatically fix PHP coding standards issues";
license = licenses.mit;
homepage = "http://cs.sensiolabs.org/";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
}
@@ -0,0 +1,40 @@
{ mkDerivation, fetchFromGitHub, pkgs, lib, php }:
let
pname = "php-parallel-lint";
version = "1.0.0";
in
mkDerivation {
inherit pname version;
src = fetchFromGitHub {
owner = "JakubOnderka";
repo = "PHP-Parallel-Lint";
rev = "v${version}";
sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw";
};
nativeBuildInputs = [
pkgs.makeWrapper
php.packages.composer
php.packages.box
];
buildPhase = ''
composer dump-autoload
box build
'';
installPhase = ''
mkdir -p $out/bin
install -D parallel-lint.phar $out/libexec/php-parallel-lint/php-parallel-lint.phar
makeWrapper ${php}/bin/php $out/bin/php-parallel-lint \
--add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar"
'';
meta = with pkgs.lib; {
description = "Tool to check syntax of PHP files faster than serial check with fancier output";
license = licenses.bsd2;
homepage = "https://github.com/JakubOnderka/PHP-Parallel-Lint";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
}
@@ -0,0 +1,30 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "phpcbf";
version = "3.5.5";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
sha256 = "0hgagn70gl46migm6zpwcr39dxal07f5cdpnasrafgz5vq0gwr3g";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpcbf/phpcbf.phar
makeWrapper ${php}/bin/php $out/bin/phpcbf \
--add-flags "$out/libexec/phpcbf/phpcbf.phar"
'';
meta = with pkgs.lib; {
description = "PHP coding standard beautifier and fixer";
license = licenses.bsd3;
homepage = "https://squizlabs.github.io/PHP_CodeSniffer/";
maintainers = with maintainers; [ cmcdragonkai ] ++ teams.php.members;
};
}
@@ -0,0 +1,30 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "phpcs";
version = "3.5.5";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
sha256 = "0jl038l55cmzn5ml61qkv4z1w4ri0h3v7h00pcb04xhz3gznlbsa";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpcs/phpcs.phar
makeWrapper ${php}/bin/php $out/bin/phpcs \
--add-flags "$out/libexec/phpcs/phpcs.phar"
'';
meta = with pkgs.lib; {
description = "PHP coding standard tool";
license = licenses.bsd3;
homepage = "https://squizlabs.github.io/PHP_CodeSniffer/";
maintainers = with maintainers; [ javaguirre ] ++ teams.php.members;
};
}
@@ -0,0 +1,31 @@
{ mkDerivation, fetchurl, pkgs, lib, php, isPhp74 }:
let
pname = "phpmd";
version = "2.8.2";
in
mkDerivation {
inherit pname version;
src = pkgs.fetchurl {
url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar";
sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpmd/phpmd.phar
makeWrapper ${php}/bin/php $out/bin/phpmd \
--add-flags "$out/libexec/phpmd/phpmd.phar"
'';
meta = with pkgs.lib; {
description = "PHP code quality analyzer";
license = licenses.bsd3;
homepage = "https://phpmd.org/";
maintainers = teams.php.members;
broken = !isPhp74;
};
}
@@ -0,0 +1,37 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "phpstan";
version = "0.12.48";
in
mkDerivation {
inherit pname version;
src = pkgs.fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "170yzz23lyipyckv8y2x9masv5qdmbskwwlbfc8750xb3g2q7pzl";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpstan/phpstan.phar
makeWrapper ${php}/bin/php $out/bin/phpstan \
--add-flags "$out/libexec/phpstan/phpstan.phar"
'';
meta = with pkgs.lib; {
description = "PHP Static Analysis Tool";
longDescription = ''
PHPStan focuses on finding errors in your code without actually
running it. It catches whole classes of bugs even before you write
tests for the code. It moves PHP closer to compiled languages in the
sense that the correctness of each line of the code can be checked
before you run the actual line.
'';
license = licenses.mit;
homepage = "https://github.com/phpstan/phpstan";
maintainers = teams.php.members;
};
}
@@ -0,0 +1,30 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "psalm";
version = "3.11.2";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
sha256 = "1ani0907whqy2ycr01sjlvrmwps4dg5igim8z1qyv8grhwvw6gb0";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/psalm/psalm.phar
makeWrapper ${php}/bin/php $out/bin/psalm \
--add-flags "$out/libexec/psalm/psalm.phar"
'';
meta = with pkgs.lib; {
description = "A static analysis tool for finding errors in PHP applications";
license = licenses.mit;
homepage = "https://github.com/vimeo/psalm";
maintainers = teams.php.members;
};
}
@@ -0,0 +1,30 @@
{ mkDerivation, fetchurl, pkgs, lib, php }:
let
pname = "psysh";
version = "0.10.3";
in
mkDerivation {
inherit pname version;
src = fetchurl {
url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
sha256 = "0glply451fy0g7zbasyp350qvmk2aglrlcrcdd7w0igylgwfkg71";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
tar -xzf $src -C $out/bin
chmod +x $out/bin/psysh
wrapProgram $out/bin/psysh --prefix PATH : "${lib.makeBinPath [ php ]}"
'';
meta = with pkgs.lib; {
description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP.";
license = licenses.mit;
homepage = "https://psysh.org/";
maintainers = with maintainers; [ caugner ] ++ teams.php.members;
};
}
+15 -308
View File
@@ -23,330 +23,37 @@ let
isPhp74 = pkgs.lib.versionAtLeast php.version "7.4";
pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;
callPackage = pkgs.newScope {
inherit mkDerivation php isPhp73 isPhp74 buildPecl pcre';
};
in
{
inherit buildPecl;
# This is a set of interactive tools based on PHP.
packages = {
box = mkDerivation rec {
version = "2.7.5";
pname = "box";
box = callPackage ../development/php-packages/box { };
src = pkgs.fetchurl {
url = "https://github.com/box-project/box2/releases/download/${version}/box-${version}.phar";
sha256 = "1zmxdadrv0i2l8cz7xb38gnfmfyljpsaz2nnkjzqzksdmncbgd18";
};
composer = callPackage ../development/php-packages/composer { };
phases = [ "installPhase" ];
buildInputs = [ pkgs.makeWrapper ];
composer2 = callPackage ../development/php-packages/composer/2.0.nix { };
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/box/box.phar
makeWrapper ${php}/bin/php $out/bin/box \
--add-flags "-d phar.readonly=0 $out/libexec/box/box.phar"
'';
php-cs-fixer = callPackage ../development/php-packages/php-cs-fixer { };
meta = with pkgs.lib; {
description = "An application for building and managing Phars";
license = licenses.mit;
homepage = "https://box-project.github.io/box2/";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
};
php-parallel-lint = callPackage ../development/php-packages/php-parallel-lint { };
composer = mkDerivation rec {
version = "1.10.13";
pname = "composer";
phpcbf = callPackage ../development/php-packages/phpcbf { };
src = pkgs.fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "13vhfdlkmpvmk1h30f1i688xk7sdgfj0b82am32jgpa8zmf499sw";
};
phpcs = callPackage ../development/php-packages/phpcs { };
dontUnpack = true;
phpmd = callPackage ../development/php-packages/phpmd { };
nativeBuildInputs = [ pkgs.makeWrapper ];
phpstan = callPackage ../development/php-packages/phpstan { };
installPhase = ''
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 : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
'';
psalm = callPackage ../development/php-packages/psalm { };
meta = with pkgs.lib; {
description = "Dependency Manager for PHP";
license = licenses.mit;
homepage = "https://getcomposer.org/";
maintainers = with maintainers; [ offline ] ++ teams.php.members;
};
};
composer2 = mkDerivation rec {
version = "2.0.0-RC1";
pname = "composer";
src = pkgs.fetchurl {
url = "https://getcomposer.org/download/${version}/composer.phar";
sha256 = "0wzr360gaa59cbjpa3vw9yrpc55a4fmdv68q0rn7vj0mjnz60fhd";
};
dontUnpack = true;
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
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 : ${pkgs.lib.makeBinPath [ pkgs.unzip ]}
'';
meta = with pkgs.lib; {
description = "Dependency Manager for PHP";
license = licenses.mit;
homepage = "https://getcomposer.org/";
maintainers = with maintainers; [ offline ] ++ teams.php.members;
};
};
php-cs-fixer = mkDerivation rec {
version = "2.16.4";
pname = "php-cs-fixer";
src = pkgs.fetchurl {
url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
sha256 = "05rdvypxc86hjs8b7id2csa7g1rf7dk2swzfvd5768abdgfasvr8";
};
phases = [ "installPhase" ];
buildInputs = [ pkgs.makeWrapper ];
installPhase = ''
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"
'';
meta = with pkgs.lib; {
description = "A tool to automatically fix PHP coding standards issues";
license = licenses.mit;
homepage = "http://cs.sensiolabs.org/";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
};
php-parallel-lint = mkDerivation rec {
version = "1.0.0";
pname = "php-parallel-lint";
src = pkgs.fetchFromGitHub {
owner = "JakubOnderka";
repo = "PHP-Parallel-Lint";
rev = "v${version}";
sha256 = "16nv8yyk2z3l213dg067l6di4pigg5rd8yswr5xgd18jwbys2vnw";
};
buildInputs = [
pkgs.makeWrapper
php.packages.composer
php.packages.box
];
buildPhase = ''
composer dump-autoload
box build
'';
installPhase = ''
mkdir -p $out/bin
install -D parallel-lint.phar $out/libexec/php-parallel-lint/php-parallel-lint.phar
makeWrapper ${php}/bin/php $out/bin/php-parallel-lint \
--add-flags "$out/libexec/php-parallel-lint/php-parallel-lint.phar"
'';
meta = with pkgs.lib; {
description = "This tool check syntax of PHP files faster than serial check with fancier output";
license = licenses.bsd2;
homepage = "https://github.com/JakubOnderka/PHP-Parallel-Lint";
maintainers = with maintainers; [ jtojnar ] ++ teams.php.members;
};
};
phpcbf = mkDerivation rec {
version = "3.5.5";
pname = "phpcbf";
src = pkgs.fetchurl {
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcbf.phar";
sha256 = "0hgagn70gl46migm6zpwcr39dxal07f5cdpnasrafgz5vq0gwr3g";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpcbf/phpcbf.phar
makeWrapper ${php}/bin/php $out/bin/phpcbf \
--add-flags "$out/libexec/phpcbf/phpcbf.phar"
'';
meta = with pkgs.lib; {
description = "PHP coding standard beautifier and fixer";
license = licenses.bsd3;
homepage = "https://squizlabs.github.io/PHP_CodeSniffer/";
maintainers = with maintainers; [ cmcdragonkai ] ++ teams.php.members;
};
};
phpcs = mkDerivation rec {
version = "3.5.5";
pname = "phpcs";
src = pkgs.fetchurl {
url = "https://github.com/squizlabs/PHP_CodeSniffer/releases/download/${version}/phpcs.phar";
sha256 = "0jl038l55cmzn5ml61qkv4z1w4ri0h3v7h00pcb04xhz3gznlbsa";
};
phases = [ "installPhase" ];
buildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpcs/phpcs.phar
makeWrapper ${php}/bin/php $out/bin/phpcs \
--add-flags "$out/libexec/phpcs/phpcs.phar"
'';
meta = with pkgs.lib; {
description = "PHP coding standard tool";
license = licenses.bsd3;
homepage = "https://squizlabs.github.io/PHP_CodeSniffer/";
maintainers = with maintainers; [ javaguirre ] ++ teams.php.members;
};
};
phpmd = mkDerivation rec {
version = "2.8.2";
pname = "phpmd";
src = pkgs.fetchurl {
url = "https://github.com/phpmd/phpmd/releases/download/${version}/phpmd.phar";
sha256 = "1i8qgzxniw5d8zjpypalm384y7qfczapfq70xmg129laq6xiqlqb";
};
phases = [ "installPhase" ];
buildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpmd/phpmd.phar
makeWrapper ${php}/bin/php $out/bin/phpmd \
--add-flags "$out/libexec/phpmd/phpmd.phar"
'';
meta = with pkgs.lib; {
description = "PHP code quality analyzer";
license = licenses.bsd3;
homepage = "https://phpmd.org/";
maintainers = teams.php.members;
broken = !isPhp74;
};
};
phpstan = mkDerivation rec {
version = "0.12.48";
pname = "phpstan";
src = pkgs.fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
sha256 = "170yzz23lyipyckv8y2x9masv5qdmbskwwlbfc8750xb3g2q7pzl";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/phpstan/phpstan.phar
makeWrapper ${php}/bin/php $out/bin/phpstan \
--add-flags "$out/libexec/phpstan/phpstan.phar"
'';
meta = with pkgs.lib; {
description = "PHP Static Analysis Tool";
longDescription = ''
PHPStan focuses on finding errors in your code without actually
running it. It catches whole classes of bugs even before you write
tests for the code. It moves PHP closer to compiled languages in the
sense that the correctness of each line of the code can be checked
before you run the actual line.
'';
license = licenses.mit;
homepage = "https://github.com/phpstan/phpstan";
maintainers = teams.php.members;
};
};
psalm = mkDerivation rec {
version = "3.11.2";
pname = "psalm";
src = pkgs.fetchurl {
url = "https://github.com/vimeo/psalm/releases/download/${version}/psalm.phar";
sha256 = "1ani0907whqy2ycr01sjlvrmwps4dg5igim8z1qyv8grhwvw6gb0";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
install -D $src $out/libexec/psalm/psalm.phar
makeWrapper ${php}/bin/php $out/bin/psalm \
--add-flags "$out/libexec/psalm/psalm.phar"
'';
meta = with pkgs.lib; {
description = "A static analysis tool for finding errors in PHP applications";
license = licenses.mit;
homepage = "https://github.com/vimeo/psalm";
maintainers = teams.php.members;
};
};
psysh = mkDerivation rec {
version = "0.10.3";
pname = "psysh";
src = pkgs.fetchurl {
url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
sha256 = "0glply451fy0g7zbasyp350qvmk2aglrlcrcdd7w0igylgwfkg71";
};
phases = [ "installPhase" ];
nativeBuildInputs = [ pkgs.makeWrapper ];
installPhase = ''
mkdir -p $out/bin
tar -xzf $src -C $out/bin
chmod +x $out/bin/psysh
wrapProgram $out/bin/psysh
'';
meta = with pkgs.lib; {
description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP.";
license = licenses.mit;
homepage = "https://psysh.org/";
maintainers = with maintainers; [ caugner ] ++ teams.php.members;
};
};
psysh = callPackage ../development/php-packages/psysh { };
};