php: Get rid of the phpXXbase attributes, update docs
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.
This commit is contained in:
parent
3bfd4e864f
commit
5cad1b4aff
@ -9,18 +9,24 @@
|
|||||||
Several versions of PHP are available on Nix, each of which having a
|
Several versions of PHP are available on Nix, each of which having a
|
||||||
wide variety of extensions and libraries available.
|
wide variety of extensions and libraries available.
|
||||||
|
|
||||||
The attribute `php` refers to the version of PHP considered most
|
The different versions of PHP that nixpkgs provides are located under
|
||||||
stable and thoroughly tested in nixpkgs for any given release of
|
attributes named based on major and minor version number; e.g.,
|
||||||
NixOS. Note that while this version of PHP may not be the latest major
|
`php74` is PHP 7.4.
|
||||||
release from upstream, any version of PHP supported in nixpkgs may be
|
|
||||||
utilized by specifying the desired attribute by version, such as
|
|
||||||
`php74`.
|
|
||||||
|
|
||||||
Only versions of PHP that are supported by upstream for the entirety
|
Only versions of PHP that are supported by upstream for the entirety
|
||||||
of a given NixOS release will be included in that release of
|
of a given NixOS release will be included in that release of
|
||||||
NixOS. See [PHP Supported
|
NixOS. See [PHP Supported
|
||||||
Versions](https://www.php.net/supported-versions.php).
|
Versions](https://www.php.net/supported-versions.php).
|
||||||
|
|
||||||
|
The attribute `php` refers to the version of PHP considered most
|
||||||
|
stable and thoroughly tested in nixpkgs for any given release of
|
||||||
|
NixOS - not necessarily the latest major release from upstream.
|
||||||
|
|
||||||
|
All available PHP attributes are wrappers around their respective
|
||||||
|
binary PHP package and provide commonly used extensions this way. The
|
||||||
|
real PHP 7.4 package, i.e. the unwrapped one, is available as
|
||||||
|
`php74.unwrapped`; see the next section for more details.
|
||||||
|
|
||||||
Interactive tools built on PHP are put in `php.packages`; composer is
|
Interactive tools built on PHP are put in `php.packages`; composer is
|
||||||
for example available at `php.packages.composer`.
|
for example available at `php.packages.composer`.
|
||||||
|
|
||||||
@ -30,12 +36,7 @@ opcache extension shipped with PHP is available at
|
|||||||
`php.extensions.opcache` and the third-party ImageMagick extension at
|
`php.extensions.opcache` and the third-party ImageMagick extension at
|
||||||
`php.extensions.imagick`.
|
`php.extensions.imagick`.
|
||||||
|
|
||||||
The different versions of PHP that nixpkgs provides are located under
|
#### Installing PHP with extensions
|
||||||
attributes named based on major and minor version number; e.g.,
|
|
||||||
`php74` is PHP 7.4 with commonly used extensions installed,
|
|
||||||
`php74base` is the same PHP runtime without extensions.
|
|
||||||
|
|
||||||
#### Installing PHP with packages
|
|
||||||
|
|
||||||
A PHP package with specific extensions enabled can be built using
|
A PHP package with specific extensions enabled can be built using
|
||||||
`php.withExtensions`. This is a function which accepts an anonymous
|
`php.withExtensions`. This is a function which accepts an anonymous
|
||||||
@ -68,7 +69,7 @@ php.withExtensions ({ all, ... }: with all; [ opcache imagick ])
|
|||||||
|
|
||||||
`php.withExtensions` provides extensions by wrapping a minimal php
|
`php.withExtensions` provides extensions by wrapping a minimal php
|
||||||
base package, providing a `php.ini` file listing all extensions to be
|
base package, providing a `php.ini` file listing all extensions to be
|
||||||
loaded. You can access this package through the `php.unwrappedPhp`
|
loaded. You can access this package through the `php.unwrapped`
|
||||||
attribute; useful if you, for example, need access to the `dev`
|
attribute; useful if you, for example, need access to the `dev`
|
||||||
output. The generated `php.ini` file can be accessed through the
|
output. The generated `php.ini` file can be accessed through the
|
||||||
`php.phpIni` attribute.
|
`php.phpIni` attribute.
|
||||||
|
@ -302,5 +302,5 @@ let
|
|||||||
php72 = php72base.withExtensions defaultPhpExtensionsWithHash;
|
php72 = php72base.withExtensions defaultPhpExtensionsWithHash;
|
||||||
|
|
||||||
in {
|
in {
|
||||||
inherit php72base php73base php74base php72 php73 php74;
|
inherit php72 php73 php74;
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
{ stdenv, fetchFromGitHub, which
|
{ stdenv, fetchFromGitHub, which
|
||||||
, withPython2 ? false, python2
|
, withPython2 ? false, python2
|
||||||
, withPython3 ? true, python3, ncurses
|
, withPython3 ? true, python3, ncurses
|
||||||
, withPHP72 ? false, php72base
|
, withPHP72 ? false, php72
|
||||||
, withPHP73 ? true, php73base
|
, withPHP73 ? true, php73
|
||||||
, withPerl528 ? false, perl528
|
, withPerl528 ? false, perl528
|
||||||
, withPerl530 ? true, perl530
|
, withPerl530 ? true, perl530
|
||||||
, withPerldevel ? false, perldevel
|
, withPerldevel ? false, perldevel
|
||||||
@ -26,8 +26,8 @@ let
|
|||||||
fpmSupport = false;
|
fpmSupport = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
php72-unit = php72base.override phpConfig;
|
php72-unit = php72.override phpConfig;
|
||||||
php73-unit = php73base.override phpConfig;
|
php73-unit = php73.override phpConfig;
|
||||||
in stdenv.mkDerivation rec {
|
in stdenv.mkDerivation rec {
|
||||||
version = "1.16.0";
|
version = "1.16.0";
|
||||||
pname = "unit";
|
pname = "unit";
|
||||||
@ -71,8 +71,8 @@ in stdenv.mkDerivation rec {
|
|||||||
postConfigure = ''
|
postConfigure = ''
|
||||||
${optionalString withPython2 "./configure python --module=python2 --config=${python2}/bin/python2-config --lib-path=${python2}/lib"}
|
${optionalString withPython2 "./configure python --module=python2 --config=${python2}/bin/python2-config --lib-path=${python2}/lib"}
|
||||||
${optionalString withPython3 "./configure python --module=python3 --config=${python3}/bin/python3-config --lib-path=${python3}/lib"}
|
${optionalString withPython3 "./configure python --module=python3 --config=${python3}/bin/python3-config --lib-path=${python3}/lib"}
|
||||||
${optionalString withPHP72 "./configure php --module=php72 --config=${php72-unit.dev}/bin/php-config --lib-path=${php72-unit}/lib"}
|
${optionalString withPHP72 "./configure php --module=php72 --config=${php72-unit.unwrapped.dev}/bin/php-config --lib-path=${php72-unit}/lib"}
|
||||||
${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.dev}/bin/php-config --lib-path=${php73-unit}/lib"}
|
${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.unwrapped.dev}/bin/php-config --lib-path=${php73-unit}/lib"}
|
||||||
${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"}
|
${optionalString withPerl528 "./configure perl --module=perl528 --perl=${perl528}/bin/perl"}
|
||||||
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
|
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
|
||||||
${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}
|
${optionalString withPerldevel "./configure perl --module=perldev --perl=${perldevel}/bin/perl"}
|
||||||
|
@ -9496,7 +9496,7 @@ in
|
|||||||
|
|
||||||
inherit (callPackage ../development/interpreters/php {
|
inherit (callPackage ../development/interpreters/php {
|
||||||
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
|
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
|
||||||
}) php74 php73 php72 php74base php73base php72base;
|
}) php74 php73 php72;
|
||||||
|
|
||||||
picoc = callPackage ../development/interpreters/picoc {};
|
picoc = callPackage ../development/interpreters/picoc {};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user