diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e37a4de9d07..7c39ce48a3f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -176,6 +176,7 @@ # PHP /doc/languages-frameworks/php.section.md @etu +/nixos/tests/php @etu +/pkgs/build-support/build-pecl.nix @etu /pkgs/development/interpreters/php @etu /pkgs/top-level/php-packages.nix @etu -/pkgs/build-support/build-pecl.nix @etu diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix index 9fe952e5415..1fed6a4d9bf 100644 --- a/maintainers/team-list.nix +++ b/maintainers/team-list.nix @@ -43,6 +43,17 @@ with lib.maintainers; { scope = "Maintain GNOME desktop environment and platform."; }; + php = { + members = [ + aanderse + etu + globin + ma27 + talyz + ]; + scope = "Maintain PHP related packages and extensions."; + }; + podman = { members = [ adisbladis diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix index 1e4ced24b6c..513abd94373 100644 --- a/nixos/tests/php/fpm.nix +++ b/nixos/tests/php/fpm.nix @@ -1,6 +1,6 @@ -import ../make-test-python.nix ({pkgs, ...}: { +import ../make-test-python.nix ({pkgs, lib, ...}: { name = "php-fpm-nginx-test"; - meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ]; + meta.maintainers = lib.teams.php.members; machine = { config, lib, pkgs, ... }: { services.nginx = { diff --git a/nixos/tests/php/httpd.nix b/nixos/tests/php/httpd.nix index fc3ff986734..1092e0ecadd 100644 --- a/nixos/tests/php/httpd.nix +++ b/nixos/tests/php/httpd.nix @@ -1,6 +1,6 @@ -import ../make-test-python.nix ({pkgs, ...}: { +import ../make-test-python.nix ({pkgs, lib, ...}: { name = "php-httpd-test"; - meta.maintainers = with pkgs.stdenv.lib.maintainers; [ etu ]; + meta.maintainers = lib.teams.php.members; machine = { config, lib, pkgs, ... }: { services.httpd = { diff --git a/nixos/tests/php/pcre.nix b/nixos/tests/php/pcre.nix index 016dca81d52..3dd0964e60f 100644 --- a/nixos/tests/php/pcre.nix +++ b/nixos/tests/php/pcre.nix @@ -1,7 +1,9 @@ let testString = "can-use-subgroups"; -in import ../make-test-python.nix ({ ...}: { +in import ../make-test-python.nix ({lib, ...}: { name = "php-httpd-pcre-jit-test"; + meta.maintainers = lib.teams.php.members; + machine = { lib, pkgs, ... }: { time.timeZone = "UTC"; services.httpd = { diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 4c79691f504..e0aea60e293 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -113,6 +113,7 @@ let unwrapped = php; tests = nixosTests.php; inherit (php-packages) packages extensions; + inherit (php) meta; }; paths = [ php ]; postBuild = '' @@ -246,7 +247,7 @@ let description = "An HTML-embedded scripting language"; homepage = "https://www.php.net/"; license = licenses.php301; - maintainers = with maintainers; [ globin etu ma27 ]; + maintainers = teams.php.members; platforms = platforms.all; outputsToInstall = [ "out" "dev" ]; }; diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index b9247cf0a17..a15ca794cac 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -52,7 +52,7 @@ in description = "An application for building and managing Phars"; license = licenses.mit; homepage = "https://box-project.github.io/box2/"; - maintainers = with maintainers; [ jtojnar ]; + maintainers = with maintainers; [ jtojnar ] ++ teams.php.members; }; }; @@ -81,7 +81,7 @@ in description = "Dependency Manager for PHP"; license = licenses.mit; homepage = "https://getcomposer.org/"; - maintainers = with maintainers; [ globin offline ]; + maintainers = with maintainers; [ offline ] ++ teams.php.members; }; }; @@ -108,7 +108,7 @@ in description = "A tool to automatically fix PHP coding standards issues"; license = licenses.mit; homepage = "http://cs.sensiolabs.org/"; - maintainers = with maintainers; [ jtojnar ]; + maintainers = with maintainers; [ jtojnar ] ++ teams.php.members; }; }; @@ -145,7 +145,7 @@ in 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 ]; + maintainers = with maintainers; [ jtojnar ] ++ teams.php.members; }; }; @@ -172,7 +172,7 @@ in description = "PHP coding standard beautifier and fixer"; license = licenses.bsd3; homepage = "https://squizlabs.github.io/PHP_CodeSniffer/"; - maintainers = with maintainers; [ cmcdragonkai etu ]; + maintainers = with maintainers; [ cmcdragonkai ] ++ teams.php.members; }; }; @@ -199,7 +199,7 @@ in description = "PHP coding standard tool"; license = licenses.bsd3; homepage = "https://squizlabs.github.io/PHP_CodeSniffer/"; - maintainers = with maintainers; [ javaguirre etu ]; + maintainers = with maintainers; [ javaguirre ] ++ teams.php.members; }; }; @@ -225,15 +225,15 @@ in 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. - ''; + 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 = with maintainers; [ etu ]; + maintainers = teams.php.members; }; }; @@ -260,6 +260,7 @@ in description = "A static analysis tool for finding errors in PHP applications"; license = licenses.mit; homepage = "https://github.com/vimeo/psalm"; + maintainers = teams.php.members; }; }; @@ -286,7 +287,7 @@ in description = "PsySH is a runtime developer console, interactive debugger and REPL for PHP."; license = licenses.mit; homepage = "https://psysh.org/"; - maintainers = with maintainers; [ caugner ]; + maintainers = with maintainers; [ caugner ] ++ teams.php.members; }; }; }; @@ -309,6 +310,8 @@ in checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"]; makeFlags = [ "phpincludedir=$(dev)/include" ]; outputs = [ "out" "dev" ]; + + meta.maintainers = lib.teams.php.members; }; apcu_bc = buildPecl { @@ -321,6 +324,8 @@ in php.extensions.apcu pcre' ]; + + meta.maintainers = lib.teams.php.members; }; ast = buildPecl { @@ -328,6 +333,8 @@ in pname = "ast"; sha256 = "16c5isldm4csjbcvz1qk2mmrhgvh24sxsp6w6f5a37xpa3vciawp"; + + meta.maintainers = lib.teams.php.members; }; couchbase = buildPecl rec { @@ -375,6 +382,7 @@ in '') ]; + meta.maintainers = lib.teams.php.members; meta.broken = isPhp74; # Build error }; @@ -407,6 +415,7 @@ in ''; license = licenses.php301; homepage = "https://bitbucket.org/osmanov/pecl-event/"; + maintainers = teams.php.members; }; }; @@ -419,6 +428,8 @@ in configureFlags = [ "--enable-igbinary" ]; makeFlags = [ "phpincludedir=$(dev)/include" ]; outputs = [ "out" "dev" ]; + + meta.maintainers = lib.teams.php.members; }; imagick = buildPecl { @@ -430,6 +441,8 @@ in configureFlags = [ "--with-imagick=${pkgs.imagemagick.dev}" ]; nativeBuildInputs = [ pkgs.pkgconfig ]; buildInputs = [ pcre' ]; + + meta.maintainers = lib.teams.php.members; }; mailparse = buildPecl { @@ -441,6 +454,8 @@ in postConfigure = '' echo "#define HAVE_MBSTRING 1" >> config.h ''; + + meta.maintainers = lib.teams.php.members; }; maxminddb = buildPecl rec { @@ -460,7 +475,7 @@ in meta = with pkgs.lib; { description = "C extension that is a drop-in replacement for MaxMind\\Db\\Reader"; license = with licenses; [ asl20 ]; - maintainers = with maintainers; [ ajs124 das_j ]; + maintainers = with maintainers; [ ajs124 das_j ] ++ teams.php.members; }; }; @@ -487,6 +502,8 @@ in nativeBuildInputs = [ pkgs.pkgconfig ]; buildInputs = with pkgs; [ cyrus_sasl zlib ]; + + meta.maintainers = lib.teams.php.members; }; mongodb = buildPecl { @@ -504,6 +521,8 @@ in zlib pcre' ] ++ lib.optional (pkgs.stdenv.isDarwin) pkgs.darwin.apple_sdk.frameworks.Security; + + meta.maintainers = lib.teams.php.members; }; oci8 = buildPecl { @@ -517,6 +536,8 @@ in postPatch = '' sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 ''; + + meta.maintainers = lib.teams.php.members; }; pcov = buildPecl { @@ -526,6 +547,8 @@ in sha256 = "1psfwscrc025z8mziq69pcx60k4fbkqa5g2ia8lplb94mmarj0v1"; buildInputs = [ pcre' ]; + + meta.maintainers = lib.teams.php.members; }; pcs = buildPecl { @@ -534,6 +557,7 @@ in sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; + meta.maintainers = lib.teams.php.members; meta.broken = isPhp74; # Build error }; @@ -551,6 +575,8 @@ in postPatch = '' sed -i -e 's|OCISDKMANINC=`.*$|OCISDKMANINC="${pkgs.oracle-instantclient.dev}/include"|' config.m4 ''; + + meta.maintainers = lib.teams.php.members; }; pdo_sqlsrv = buildPecl { @@ -562,6 +588,8 @@ in internalDeps = [ php.extensions.pdo ]; buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; + + meta.maintainers = lib.teams.php.members; }; php_excel = buildPecl rec { @@ -577,6 +605,8 @@ in }; configureFlags = [ "--with-excel" "--with-libxl-incdir=${pkgs.libxl}/include_c" "--with-libxl-libdir=${pkgs.libxl}/lib" ]; + + meta.maintainers = lib.teams.php.members; }; pinba = let @@ -602,6 +632,7 @@ in statistics server for PHP using MySQL as a read-only interface. ''; homepage = "http://pinba.org/"; + maintainers = teams.php.members; }; }; @@ -619,6 +650,7 @@ in ''; license = licenses.bsd3; homepage = "https://developers.google.com/protocol-buffers/"; + maintainers = teams.php.members; }; }; @@ -654,6 +686,8 @@ in session ] ++ lib.optionals (lib.versionOlder php.version "7.4") [ hash ]; + + meta.maintainers = lib.teams.php.members; }; sqlsrv = buildPecl { @@ -663,6 +697,8 @@ in sha256 = "1kv4krk1w4hri99b0sdgwgy9c4y0yh217wx2y3irhkfi46kdrjnw"; buildInputs = [ pkgs.unixODBC ] ++ pkgs.lib.optionals pkgs.stdenv.isDarwin [ pkgs.libiconv ]; + + meta.maintainers = lib.teams.php.members; }; v8 = buildPecl { @@ -673,6 +709,8 @@ in buildInputs = [ pkgs.v8_6_x ]; configureFlags = [ "--with-v8=${pkgs.v8_6_x}" ]; + + meta.maintainers = lib.teams.php.members; meta.broken = true; }; @@ -684,6 +722,8 @@ in buildInputs = [ pkgs.v8_6_x ]; configureFlags = [ "--with-v8js=${pkgs.v8_6_x}" ]; + + meta.maintainers = lib.teams.php.members; meta.broken = true; }; @@ -697,6 +737,8 @@ in checkTarget = "test"; zendExtension = true; + + meta.maintainers = lib.teams.php.members; }; yaml = buildPecl { @@ -710,6 +752,8 @@ in ]; nativeBuildInputs = [ pkgs.pkgconfig ]; + + meta.maintainers = lib.teams.php.members; }; zmq = buildPecl { @@ -724,6 +768,7 @@ in nativeBuildInputs = [ pkgs.pkgconfig ]; + meta.maintainers = lib.teams.php.members; meta.broken = isPhp73; }; } // (let @@ -783,6 +828,8 @@ in --prune-empty-dirs \ . $dev/include/ ''; + + meta.maintainers = lib.teams.php.members; }); # This list contains build instructions for different modules that one may