phpPackages: convert to scope

This will make it easier to make overridable.

Had to rename `packages` attribute to `tools` in `php-packages.nix` because `packages` is shadowed by `makeScope`.

Changed files
+8 -12
pkgs
development
interpreters
top-level
+3 -2
pkgs/development/interpreters/php/generic.nix
···
php = generic filteredArgs;
php-packages = (callPackage ../../../top-level/php-packages.nix {
-
php = phpWithExtensions;
+
phpPackage = phpWithExtensions;
});
allExtensionFunctions = prevExtensionFunctions ++ [ extensions ];
···
phpIni = "${phpWithExtensions}/lib/php.ini";
unwrapped = php;
tests = nixosTests.php;
-
inherit (php-packages) packages extensions buildPecl;
+
inherit (php-packages) extensions buildPecl;
+
packages = php-packages.tools;
meta = php.meta // {
outputsToInstall = [ "out" ];
};
+5 -10
pkgs/top-level/php-packages.nix
···
-
{ stdenv, lib, pkgs, fetchgit, php, autoconf, pkgconfig, re2c
+
{ stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkgconfig, re2c
, gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium
, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
···
, readline, rsync, fetchpatch, valgrind
}:
-
let
+
lib.makeScope pkgs.newScope (self: with self; {
buildPecl = import ../build-support/build-pecl.nix {
php = php.unwrapped;
inherit lib;
···
pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;
-
callPackage = pkgs.newScope {
-
inherit mkDerivation php buildPecl pcre';
-
};
-
in
-
{
-
inherit buildPecl;
+
php = phpPackage;
# This is a set of interactive tools based on PHP.
-
packages = {
+
tools = {
box = callPackage ../development/php-packages/box { };
composer = callPackage ../development/php-packages/composer { };
···
# Produce the final attribute set of all extensions defined.
in builtins.listToAttrs namedExtensions);
-
}
+
})