about summary refs log tree commit diff
path: root/pkgs/development/interpreters/php
diff options
context:
space:
mode:
authortalyz <kim.lindberger@gmail.com>2020-04-05 15:56:28 +0200
committertalyz <kim.lindberger@gmail.com>2020-04-05 16:46:38 +0200
commitca8b8a26e9b2d025ab7d7ed388e9ae7161681660 (patch)
tree55a137aecef902a8b5e76b313a9c406080fdb5b7 /pkgs/development/interpreters/php
parent8d2e5d5cd6036819eeda38ea4a8237c2e05bd036 (diff)
downloadnixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar
nixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.gz
nixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.bz2
nixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.lz
nixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.xz
nixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.zst
nixlib-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.zip
php: Add enabledExtensions attribute to PHP derivations
This provides a means to build a PHP package based on a list of
extensions from another.

For example, to generate a package with all default extensions
enabled, except opcache, but with ImageMagick:

php.withExtensions (e:
  (lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
  ++ [ e.imagick ])
Diffstat (limited to 'pkgs/development/interpreters/php')
-rw-r--r--pkgs/development/interpreters/php/default.nix12
1 files changed, 6 insertions, 6 deletions
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index e29f240ca557..d260a90e8ea6 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -158,7 +158,7 @@ let
       buildEnv = { extensions ? (_: []), extraConfig ? "" }:
         let
           getExtName = ext: lib.removePrefix "php-" (builtins.parseDrvName ext.name).name;
-          extList = extensions php-packages.extensions;
+          enabledExtensions = extensions php-packages.extensions;
 
           # Generate extension load configuration snippets from the
           # extension parameter. This is an attrset suitable for use
@@ -178,9 +178,9 @@ let
                     deps = lib.optionals (ext ? internalDeps)
                       (map getExtName ext.internalDeps);
                   })
-                extList);
+                enabledExtensions);
 
-          extNames = map getExtName extList;
+          extNames = map getExtName enabledExtensions;
           extraInit = writeText "custom-php.ini" ''
             ${lib.concatStringsSep "\n"
               (lib.textClosureList extensionTexts extNames)}
@@ -189,11 +189,10 @@ let
         in
           symlinkJoin {
             name = "php-with-extensions-${version}";
-            inherit version;
-            inherit (php) dev;
+            inherit (php) version dev;
             nativeBuildInputs = [ makeWrapper ];
             passthru = {
-              inherit buildEnv withExtensions;
+              inherit buildEnv withExtensions enabledExtensions;
               inherit (php-packages) packages extensions;
             };
             paths = [ php ];
@@ -212,6 +211,7 @@ let
     in
       php.overrideAttrs (_: {
         passthru = {
+          enabledExtensions = [];
           inherit buildEnv withExtensions;
           inherit (php-packages) packages extensions;
         };