summary refs log tree commit diff
path: root/doc
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 /doc
parent8d2e5d5cd6036819eeda38ea4a8237c2e05bd036 (diff)
downloadnixpkgs-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar
nixpkgs-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.gz
nixpkgs-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.bz2
nixpkgs-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.lz
nixpkgs-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.xz
nixpkgs-ca8b8a26e9b2d025ab7d7ed388e9ae7161681660.tar.zst
nixpkgs-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 'doc')
-rw-r--r--doc/languages-frameworks/php.section.md15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/languages-frameworks/php.section.md b/doc/languages-frameworks/php.section.md
index cc98c760aec..a302a9a7f87 100644
--- a/doc/languages-frameworks/php.section.md
+++ b/doc/languages-frameworks/php.section.md
@@ -48,6 +48,21 @@ enabled:
 php.withExtensions (e: with e; [ imagick opcache ])
 ```
 
+Note that this will give you a package with _only_ opcache and
+ImageMagick, none of the other extensions which are enabled by default
+in the `php` package will be available.
+
+To enable building on a previous PHP package, the currently enabled
+extensions are made available in its `enabledExtensions`
+attribute. For example, to generate a package with all default
+extensions enabled, except opcache, but with ImageMagick:
+
+```nix
+php.withExtensions (e:
+  (lib.filter (e: e != php.extensions.opcache) php.enabledExtensions)
+  ++ [ e.imagick ])
+```
+
 If you want a PHP build with extra configuration in the `php.ini`
 file, you can use `php.buildEnv`. This function takes two named and
 optional parameters: `extensions` and `extraConfig`. `extensions`