summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/build-support/build-pecl.nix4
-rw-r--r--pkgs/development/interpreters/php/default.nix8
2 files changed, 7 insertions, 5 deletions
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" ];
                   };