diff options
Diffstat (limited to 'pkgs/top-level/php-packages.nix')
-rw-r--r-- | pkgs/top-level/php-packages.nix | 58 |
1 files changed, 36 insertions, 22 deletions
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 6d03fddc015c..2be6447f83be 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -1,7 +1,6 @@ { stdenv , lib , pkgs -, fetchgit , phpPackage , autoconf , pkg-config @@ -10,22 +9,16 @@ , curl , cyrus_sasl , enchant2 -, fetchpatch , freetds -, freetype , gd , gettext , gmp , html-tidy , icu64 -, libXpm , libffi , libiconv -, libjpeg , libkrb5 -, libpng , libsodium -, libwebp , libxml2 , libxslt , libzip @@ -46,6 +39,7 @@ , uwimap , valgrind , zlib +, fetchpatch }: lib.makeScope pkgs.newScope (self: with self; { @@ -84,15 +78,15 @@ lib.makeScope pkgs.newScope (self: with self; { # will mark the extension as a zend extension or not. mkExtension = lib.makeOverridable ({ name - , configureFlags ? [ "--enable-${extName}" ] - , internalDeps ? [ ] - , postPhpize ? "" - , buildInputs ? [ ] - , zendExtension ? false - , doCheck ? true - , extName ? name - , ... - }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { + , configureFlags ? [ "--enable-${extName}" ] + , internalDeps ? [ ] + , postPhpize ? "" + , buildInputs ? [ ] + , zendExtension ? false + , doCheck ? true + , extName ? name + , ... + }@args: stdenv.mkDerivation ((builtins.removeAttrs args [ "name" ]) // { pname = "php-${name}"; extensionName = extName; @@ -216,8 +210,6 @@ lib.makeScope pkgs.newScope (self: with self; { ast = callPackage ../development/php-packages/ast { }; - blackfire = pkgs.callPackage ../development/tools/misc/blackfire/php-probe.nix { inherit php; }; - couchbase = callPackage ../development/php-packages/couchbase { }; datadog_trace = callPackage ../development/php-packages/datadog_trace { }; @@ -282,7 +274,7 @@ lib.makeScope pkgs.newScope (self: with self; { redis = callPackage ../development/php-packages/redis { }; - relay = callPackage ../development/php-packages/relay { inherit php; }; + relay = callPackage ../development/php-packages/relay { inherit php; }; smbclient = callPackage ../development/php-packages/smbclient { }; @@ -332,7 +324,16 @@ lib.makeScope pkgs.newScope (self: with self; { } { name = "exif"; doCheck = false; } { name = "ffi"; buildInputs = [ libffi ]; } - { name = "fileinfo"; buildInputs = [ pcre2 ]; } + { + name = "fileinfo"; + buildInputs = [ pcre2 ]; + patches = lib.optionals (lib.versionAtLeast php.version "8.3") [ + # Fix the extension unable to be loaded due to missing `get_module` function. + # `ZEND_GET_MODULE` macro that creates it is conditional on `COMPILE_DL_FILEINFO` being defined. + # https://github.com/php/php-src/issues/11408#issuecomment-1602106200 + ../development/interpreters/php/fix-fileinfo-ext-php83.patch + ]; + } { name = "filter"; buildInputs = [ pcre2 ]; } { name = "ftp"; buildInputs = [ openssl ]; } { @@ -519,7 +520,18 @@ lib.makeScope pkgs.newScope (self: with self; { ''; doCheck = false; } - { name = "session"; doCheck = false; } + { name = "session"; + doCheck = false; + patches = lib.optionals (lib.versionAtLeast php.version "8.3") [ + # Fix GH-11529: Crash after dealing with an Apache request + # To be removed in next alpha + # See https://github.com/php/php-src/issues/11529 + (fetchpatch { + url = "https://github.com/php/php-src/commit/8d4370954ec610164a4503431bb0c52da6954aa7.patch"; + hash = "sha256-w1uF9lRdfhz9I0gux0J4cvMzNS93uSHL1fYG23VLDPc="; + }) + ]; + } { name = "shmop"; } { name = "simplexml"; @@ -625,5 +637,7 @@ lib.makeScope pkgs.newScope (self: with self; { # Produce the final attribute set of all extensions defined. in builtins.listToAttrs namedExtensions - ); + ) // lib.optionalAttrs (!(lib.versionAtLeast php.version "8.3")) { + blackfire = callPackage ../development/tools/misc/blackfire/php-probe.nix { inherit php; }; + }; }) |