diff --git a/pkgs/build-support/build-pecl.nix b/pkgs/build-support/build-pecl.nix index f43205f24c5..d75d3cf943a 100644 --- a/pkgs/build-support/build-pecl.nix +++ b/pkgs/build-support/build-pecl.nix @@ -3,6 +3,7 @@ { pname , version , internalDeps ? [] +, peclDeps ? [] , buildInputs ? [] , nativeBuildInputs ? [] , postPhpize ? "" @@ -16,11 +17,12 @@ stdenv.mkDerivation (args // { name = "php-${pname}-${version}"; + extensionName = pname; inherit src; nativeBuildInputs = [ autoreconfHook re2c ] ++ nativeBuildInputs; - buildInputs = [ php ] ++ buildInputs; + buildInputs = [ php ] ++ peclDeps ++ buildInputs; makeFlags = [ "EXTENSION_DIR=$(out)/lib/php/extensions" ] ++ makeFlags; diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index ac0ab2196af..8ccb0e54641 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -67,7 +67,7 @@ let getDepsRecursively = extensions: let deps = lib.concatMap - (ext: ext.internalDeps or []) + (ext: (ext.internalDeps or []) ++ (ext.peclDeps or [])) extensions; in if ! (deps == []) then @@ -86,12 +86,12 @@ let (map (ext: let extName = getExtName ext; + phpDeps = (ext.internalDeps or []) ++ (ext.peclDeps or []); type = "${lib.optionalString (ext.zendExtension or false) "zend_"}extension"; in lib.nameValuePair extName { text = "${type}=${ext}/lib/php/extensions/${extName}.so"; - deps = lib.optionals (ext ? internalDeps) - (map getExtName ext.internalDeps); + deps = map getExtName phpDeps; }) (enabledExtensions ++ (getDepsRecursively enabledExtensions))); @@ -112,7 +112,7 @@ let phpIni = "${phpWithExtensions}/lib/php.ini"; unwrapped = php; tests = nixosTests.php; - inherit (php-packages) packages extensions; + inherit (php-packages) packages extensions buildPecl; meta = php.meta // { outputsToInstall = [ "out" ]; };