summary refs log tree commit diff
path: root/doc/languages-frameworks/php.section.md
Commit message (Collapse)AuthorAge
* php.packages: Make packages overridableJan Tojnar2020-12-16
| | | | This will allow patching extensions without having to manually having to patch all occurrences in the dependency tree.
* doc/php: Add example for installing composer with extra extensionsElis Hirwing2020-05-01
|
* doc/php: Fix headline conflictsElis Hirwing2020-05-01
|
* php: Get rid of the phpXXbase attributes, update docstalyz2020-04-29
| | | | | | | Since the introduction of php.unwrapped there's no real need for the phpXXbase attributes, so let's remove them to lessen potential confusion and clutter. Also update the docs to make it clear how to get hold of an unwrapped PHP if needed.
* php.buildEnv: Provide the unwrapped php package in php.unwrappedtalyz2020-04-29
| | | | | This is useful if you need to access the dev output of the unwrapped derivation.
* php.buildEnv: Provide a list of currently enabled extensionstalyz2020-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework withExtensions / buildEnv to handle currently enabled extensions better and make them compatible with override. They now accept a function with the named arguments enabled and all, where enabled is a list of currently enabled extensions and all is the set of all extensions. This gives us several nice properties: - You always get the right version of the list of currently enabled extensions - Invocations chain - It works well with overridden PHP packages - you always get the correct versions of extensions As a contrived example of what's possible, you can add ImageMagick, then override the version and disable fpm, then disable cgi, and lastly remove the zip extension like this: { pkgs ? (import <nixpkgs>) {} }: with pkgs; let phpWithImagick = php74.withExtensions ({ all, enabled }: enabled ++ [ all.imagick ]); phpWithImagickWithoutFpm743 = phpWithImagick.override { version = "7.4.3"; sha256 = "wVF7pJV4+y3MZMc6Ptx21PxQfEp6xjmYFYTMfTtMbRQ="; fpmSupport = false; }; phpWithImagickWithoutFpmZip743 = phpWithImagickWithoutFpm743.withExtensions ( { enabled, all }: lib.filter (e: e != all.zip) enabled); phpWithImagickWithoutFpmZipCgi743 = phpWithImagickWithoutFpmZip743.override { cgiSupport = false; }; in phpWithImagickWithoutFpmZipCgi743
* php: Add enabledExtensions attribute to PHP derivationstalyz2020-04-05
| | | | | | | | | | | | 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 ])
* php: Document withExtensions + general improvementstalyz2020-04-05
|
* php: split php.packages to php.packages and php.extensionsElis Hirwing2020-04-05
| | | | | | | | | | So now we have only packages for human interaction in php.packages and only extensions in php.extensions. With this php.packages.exts have been merged into the same attribute set as all the other extensions to make it flat and nice. The nextcloud module have been updated to reflect this change as well as the documentation.
* doc/php: Add initial documentation for PHPElis Hirwing2020-04-05