php: Drop PHP 7.3 support

PHP 7.3 won't be supported by upstream for the entire life cycle of
the 21.11 release.

Also drop the pcre' alias since it isn't needed anymore since we don't
need different pcre versions anymore.
master
Elis Hirwing 2021-06-03 15:06:06 +02:00
parent 42e9a2ccfa
commit 68eb5305ac
No known key found for this signature in database
GPG Key ID: D57EFA625C9A925F
22 changed files with 72 additions and 171 deletions

View File

@ -14,8 +14,13 @@
</itemizedlist>
<section xml:id="highlights">
<title>Highlights</title>
<para>
</para>
<itemizedlist spacing="compact">
<listitem>
<para>
PHP now defaults to PHP 8.0, updated from 7.4
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="new-services">
<title>New Services</title>
@ -45,6 +50,12 @@
<link xlink:href="options.html#opt-services.geoipupdate.enable">services.geoipupdate</link>.
</para>
</listitem>
<listitem>
<para>
PHP 7.3 is no longer supported due to upstream not supporting
this version for the entire lifecycle of the 21.11 release.
</para>
</listitem>
</itemizedlist>
</section>
<section xml:id="other-notable-changes">

View File

@ -19,4 +19,7 @@ In addition to numerous new and upgraded packages, this release has the followin
* `services.geoip-updater` was broken and has been replaced by
[services.geoipupdate](options.html#opt-services.geoipupdate.enable).
* PHP 7.3 is no longer supported due to upstream not supporting this
version for the entire lifecycle of the 21.11 release.
## Other Notable Changes

View File

@ -325,7 +325,6 @@ in
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};
php = handleTest ./php {};
php73 = handleTest ./php { php = pkgs.php73; };
php74 = handleTest ./php { php = pkgs.php74; };
php80 = handleTest ./php { php = pkgs.php80; };
pinnwand = handleTest ./pinnwand.nix {};

View File

@ -1,20 +0,0 @@
{ callPackage, lib, stdenv, nixosTests, ... }@_args:
let
generic = (import ./generic.nix) _args;
base = callPackage generic (_args // {
version = "7.3.28";
sha256 = "0r4r8famg3a8x6ch24y1370nsphkxg4k9zq5x8v88f4l8mj6wqwg";
# https://bugs.php.net/bug.php?id=76826
extraPatches = lib.optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
});
in base.withExtensions ({ all, ... }: with all; ([
bcmath calendar curl ctype dom exif fileinfo filter ftp gd
gettext gmp hash iconv intl json ldap mbstring mysqli mysqlnd
opcache openssl pcntl pdo pdo_mysql pdo_odbc pdo_pgsql pdo_sqlite
pgsql posix readline session simplexml sockets soap sodium sqlite3
tokenizer xmlreader xmlwriter zip zlib
] ++ lib.optionals (!stdenv.isDarwin) [ imap ]))

View File

@ -7,7 +7,7 @@ let
generic =
{ callPackage, lib, stdenv, nixosTests, fetchurl, makeWrapper
, symlinkJoin, writeText, autoconf, automake, bison, flex, libtool
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2
, pkg-config, re2c, apacheHttpd, libargon2, libxml2, pcre2
, systemd, system-sendmail, valgrind, xcbuild
, version
@ -103,7 +103,7 @@ let
${extraConfig}
'';
phpWithExtensions = symlinkJoin rec {
phpWithExtensions = symlinkJoin {
name = "php-with-extensions-${version}";
inherit (php) version;
nativeBuildInputs = [ makeWrapper ];
@ -142,8 +142,6 @@ let
mkWithExtensions = prevArgs: prevExtensionFunctions: extensions:
mkBuildEnv prevArgs prevExtensionFunctions { inherit extensions; };
pcre' = if (lib.versionAtLeast version "7.3") then pcre2 else pcre;
in
stdenv.mkDerivation {
pname = "php";
@ -157,7 +155,7 @@ let
buildInputs =
# PCRE extension
[ pcre' ]
[ pcre2 ]
# Enable sapis
++ lib.optional pearSupport [ libxml2.dev ]
@ -176,10 +174,10 @@ let
[ "--disable-all" ]
# PCRE
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre'.dev}" ]
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre'.dev}" ]
++ [ "PCRE_LIBDIR=${pcre'}" ]
++ lib.optionals (lib.versionAtLeast version "7.4") [ "--with-external-pcre=${pcre2.dev}" ]
++ lib.optionals (lib.versions.majorMinor version == "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
++ lib.optionals (lib.versionOlder version "7.3") [ "--with-pcre-regex=${pcre2.dev}" ]
++ [ "PCRE_LIBDIR=${pcre2}" ]
# Enable sapis

View File

@ -1,60 +0,0 @@
diff -ru a/configure.ac b/configure.ac
--- a/configure.ac 2018-12-04 19:12:20.000000000 +0300
+++ b/configure.ac 2018-12-10 12:30:37.798917520 +0300
@@ -68,7 +68,7 @@
#include <math.h>
#ifndef zend_isnan
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -77,7 +77,7 @@
#endif
#endif
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -88,7 +88,7 @@
#define zend_isinf(a) 0
#endif
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
diff -ru a/Zend/configure.ac b/Zend/configure.ac
--- a/Zend/configure.ac 2018-12-04 19:12:30.000000000 +0300
+++ b/Zend/configure.ac 2018-12-10 12:28:50.350929699 +0300
@@ -59,7 +59,7 @@
#include <math.h>
#ifndef zend_isnan
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -68,7 +68,7 @@
#endif
#endif
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -79,7 +79,7 @@
#define zend_isinf(a) 0
#endif
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)

View File

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre' }:
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "apcu";
@ -6,7 +6,7 @@ buildPecl {
version = "5.1.20";
sha256 = "sha256-uZ1A+v7Ab00TL87lPnUm3b/B0EHqbgThc4nfrSj5w5A=";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
doCheck = true;
checkTarget = "test";
checkFlagsArray = [ "REPORT_EXIT_STATUS=1" "NO_INTERACTION=1" ];

View File

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre', php }:
{ buildPecl, lib, pcre2, php }:
buildPecl {
pname = "apcu_bc";
@ -8,7 +8,7 @@ buildPecl {
peclDeps = [ php.extensions.apcu ];
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
postInstall = ''
mv $out/lib/php/extensions/apc.so $out/lib/php/extensions/apcu_bc.so

View File

@ -1,4 +1,4 @@
{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre' }:
{ buildPecl, fetchpatch, lib, imagemagick, pkg-config, pcre2 }:
buildPecl {
pname = "imagick";
@ -21,7 +21,7 @@ buildPecl {
configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
meta.maintainers = lib.teams.php.members;
}

View File

@ -1,4 +1,4 @@
{ stdenv, buildPecl, lib, pcre', pkg-config, cyrus_sasl, icu64
{ stdenv, buildPecl, lib, pcre2, pkg-config, cyrus_sasl, icu64
, openssl, snappy, zlib, darwin }:
buildPecl {
@ -14,7 +14,7 @@ buildPecl {
openssl
snappy
zlib
pcre'
pcre2
] ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.Security;
meta.maintainers = lib.teams.php.members;

View File

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre' }:
{ buildPecl, lib, pcre2 }:
buildPecl {
pname = "pcov";
@ -6,7 +6,7 @@ buildPecl {
version = "1.0.8";
sha256 = "sha256-6rbniyxLIHPW/e+eWZN1qS8F1rOB7ld1N8JKUS1geRQ=";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
meta.maintainers = lib.teams.php.members;
}

View File

@ -1,24 +1,15 @@
{ buildPecl, lib, fetchFromGitHub, php }:
let
buildPecl {
pname = "pinba";
version = "1.1.2-dev";
isPhp73 = lib.versionAtLeast php.version "7.3";
version = if isPhp73 then "1.1.2-dev" else "1.1.1";
src = fetchFromGitHub ({
src = fetchFromGitHub {
owner = "tony2001";
repo = "pinba_extension";
} // (if (isPhp73) then {
rev = "edbc313f1b4fb8407bf7d5acf63fbb0359c7fb2e";
sha256 = "02sljqm6griw8ccqavl23f7w1hp2zflcv24lpf00k6pyrn9cwx80";
} else {
rev = "RELEASE_1_1_1";
sha256 = "1kdp7vav0y315695vhm3xifgsh6h6y6pny70xw3iai461n58khj5";
}));
in
buildPecl {
inherit pname version src;
};
meta = with lib; {
description = "PHP extension for Pinba";

View File

@ -1,4 +1,4 @@
{ buildPecl, lib, pcre', fetchpatch }:
{ buildPecl, lib, pcre2, fetchpatch }:
buildPecl {
pname = "protobuf";
@ -6,7 +6,7 @@ buildPecl {
version = "3.14.0";
sha256 = "1ldc4s28hq61cfg8l4c06pgicj0ng7k37f28a0dnnbs7xkr7cibd";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
patches = [
# TODO: remove with next update

View File

@ -1,28 +1,18 @@
{ buildPecl, lib, fetchFromGitHub, php, pcre' }:
let
{ buildPecl, lib, fetchFromGitHub, php, pcre2 }:
buildPecl {
pname = "pthreads";
version = "3.2.0-dev";
isPhp73 = lib.versionAtLeast php.version "7.3";
isPhp74 = lib.versionAtLeast php.version "7.4";
version = if isPhp73 then "3.2.0-dev" else "3.2.0";
src = fetchFromGitHub ({
src = fetchFromGitHub {
owner = "krakjoe";
repo = "pthreads";
} // (if (isPhp73) then {
rev = "4d1c2483ceb459ea4284db4eb06646d5715e7154";
sha256 = "07kdxypy0bgggrfav2h1ccbv67lllbvpa3s3zsaqci0gq4fyi830";
} else {
rev = "v3.2.0";
sha256 = "17hypm75d4w7lvz96jb7s0s87018yzmmap0l125d5fd7abnhzfvv";
}));
in
buildPecl {
inherit pname version src;
};
buildInputs = [ pcre'.dev ];
buildInputs = [ pcre2.dev ];
meta.broken = isPhp74;
meta.broken = lib.versionAtLeast php.version "7.4";
meta.maintainers = lib.teams.php.members;
}

View File

@ -1,4 +1,4 @@
{ buildPecl, lib, rdkafka, pcre' }:
{ buildPecl, lib, rdkafka, pcre2 }:
buildPecl {
pname = "rdkafka";
@ -6,7 +6,7 @@ buildPecl {
version = "5.0.0";
sha256 = "sha256-Qy+6rkPczhdxFbDhcuzmUTLMPUXYZ0HaheDBhkh4FXs=";
buildInputs = [ rdkafka pcre' ];
buildInputs = [ rdkafka pcre2 ];
postPhpize = ''
substituteInPlace configure \

View File

@ -2,7 +2,7 @@
, lib
, php
, fetchFromGitHub
, pcre'
, pcre2
, fetchpatch
}:
@ -17,7 +17,7 @@ buildPecl rec {
};
buildInputs = [
pcre'
pcre2
];
internalDeps = with php.extensions; [

View File

@ -1,4 +1,4 @@
{ lib, buildPecl, php, valgrind, pcre' }:
{ lib, buildPecl, php, valgrind, pcre2 }:
buildPecl {
pname = "swoole";
@ -6,7 +6,7 @@ buildPecl {
version = "4.6.4";
sha256 = "0hgndnn27q7fbsb0nw6bfdg0kyy5di9vrmf7g53jc6lsnf73ha31";
buildInputs = [ valgrind pcre' ];
buildInputs = [ valgrind pcre2 ];
internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
doCheck = true;

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, php73, which, makeWrapper, bash, coreutils, ncurses }:
{ lib, stdenv, fetchurl, php, which, makeWrapper, bash, coreutils, ncurses }:
stdenv.mkDerivation rec {
name = "drush-6.1.0";
@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
mkdir -p "$out"
cp -r . "$out/src"
mkdir "$out/bin"
wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php73 bash coreutils ncurses ]}"
wrapProgram "$out/src/drush" --prefix PATH : "${lib.makeBinPath [ which php bash coreutils ncurses ]}"
ln -s "$out/src/drush" "$out/bin/drush"
'';
}

View File

@ -2,7 +2,6 @@
, pcre2
, withPython2 ? false, python2
, withPython3 ? true, python3, ncurses
, withPHP73 ? false, php73
, withPHP74 ? true, php74
, withPerl530 ? false, perl530
, withPerl532 ? true, perl532
@ -26,7 +25,6 @@ let
fpmSupport = false;
};
php73-unit = php73.override phpConfig;
php74-unit = php74.override phpConfig;
in stdenv.mkDerivation rec {
@ -45,7 +43,6 @@ in stdenv.mkDerivation rec {
buildInputs = [ pcre2.dev ]
++ optional withPython2 python2
++ optionals withPython3 [ python3 ncurses ]
++ optional withPHP73 php73-unit
++ optional withPHP74 php74-unit
++ optional withPerl530 perl530
++ optional withPerl532 perl532
@ -64,13 +61,11 @@ in stdenv.mkDerivation rec {
++ optional withDebug "--debug";
# Optionally add the PHP derivations used so they can be addressed in the configs
usedPhp73 = optionals withPHP73 php73-unit;
usedPhp74 = optionals withPHP74 php74-unit;
postConfigure = ''
${optionalString withPython2 "./configure python --module=python2 --config=python2-config --lib-path=${python2}/lib"}
${optionalString withPython3 "./configure python --module=python3 --config=python3-config --lib-path=${python3}/lib"}
${optionalString withPHP73 "./configure php --module=php73 --config=${php73-unit.unwrapped.dev}/bin/php-config --lib-path=${php73-unit}/lib"}
${optionalString withPHP74 "./configure php --module=php74 --config=${php74-unit.unwrapped.dev}/bin/php-config --lib-path=${php74-unit}/lib"}
${optionalString withPerl530 "./configure perl --module=perl530 --perl=${perl530}/bin/perl"}
${optionalString withPerl532 "./configure perl --module=perl532 --perl=${perl532}/bin/perl"}

View File

@ -528,6 +528,11 @@ mapAliases ({
pgp-tools = signing-party; # added 2017-03-26
pg_tmp = ephemeralpg; # added 2018-01-16
# Obsolete PHP version aliases
php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # added 2021-06-03
php73Packages = php73; # added 2021-06-03
php73Extensions = php73; # added 2021-06-03
php-embed = throw ''
php*-embed has been dropped, you can build something similar
with the following snippet:
@ -541,8 +546,8 @@ mapAliases ({
similar with the following snippet:
(php74.override { embedSupport = true; apxs2Support = false; }).packages
''; # added 2020-04-01
php74Packages-embed = phpPackages-embed;
php73Packages-embed = phpPackages-embed;
php74Packages-embed = phpPackages-embed;
php-unit = throw ''
php*-unit has been dropped, you can build something similar with
@ -571,8 +576,8 @@ mapAliases ({
fpmSupport = false;
}).packages
''; # added 2020-04-01
php74Packages-unit = phpPackages-unit;
php73Packages-unit = phpPackages-unit;
php74Packages-unit = phpPackages-unit;
pidgin-with-plugins = pidgin; # added 2016-06
pidginlatex = pidgin-latex; # added 2018-01-08

View File

@ -12306,13 +12306,6 @@ in
php74Extensions = recurseIntoAttrs php74.extensions;
php74Packages = recurseIntoAttrs php74.packages;
# Import PHP73 interpreter, extensions and packages
php73 = callPackage ../development/interpreters/php/7.3.nix {
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
};
php73Extensions = recurseIntoAttrs php73.extensions;
php73Packages = recurseIntoAttrs php73.packages;
picoc = callPackage ../development/interpreters/picoc {};

View File

@ -1,6 +1,6 @@
{ stdenv, lib, pkgs, fetchgit, phpPackage, autoconf, pkg-config, re2c
, gettext, bzip2, curl, libxml2, openssl, gmp, icu64, oniguruma, libsodium
, html-tidy, libzip, zlib, pcre, pcre2, libxslt, aspell, openldap, cyrus_sasl
, html-tidy, libzip, zlib, pcre2, libxslt, aspell, openldap, cyrus_sasl
, uwimap, pam, libiconv, enchant1, libXpm, gd, libwebp, libjpeg, libpng
, freetype, libffi, freetds, postgresql, sqlite, net-snmp, unixODBC, libedit
, readline, rsync, fetchpatch, valgrind
@ -19,8 +19,6 @@ lib.makeScope pkgs.newScope (self: with self; {
pname = "php-${pname}";
});
pcre' = if (lib.versionAtLeast php.version "7.3") then pcre2 else pcre;
php = phpPackage;
# This is a set of interactive tools based on PHP.
@ -297,8 +295,8 @@ lib.makeScope pkgs.newScope (self: with self; {
doCheck = false; }
{ name = "exif"; doCheck = false; }
{ name = "ffi"; buildInputs = [ libffi ]; enable = lib.versionAtLeast php.version "7.4"; }
{ name = "fileinfo"; buildInputs = [ pcre' ]; }
{ name = "filter"; buildInputs = [ pcre' ]; }
{ name = "fileinfo"; buildInputs = [ pcre2 ]; }
{ name = "filter"; buildInputs = [ pcre2 ]; }
{ name = "ftp"; buildInputs = [ openssl ]; }
{ name = "gd";
buildInputs = [ zlib gd ];
@ -350,11 +348,10 @@ lib.makeScope pkgs.newScope (self: with self; {
];
doCheck = false; }
{ name = "imap";
buildInputs = [ uwimap openssl pam pcre' ];
buildInputs = [ uwimap openssl pam pcre2 ];
configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" ];
# uwimap doesn't build on darwin.
enable = (!stdenv.isDarwin); }
# interbase (7.3, 7.2)
{ name = "intl";
buildInputs = [ icu64 ];
patches = lib.optionals (lib.versionOlder php.version "7.4") [
@ -377,7 +374,7 @@ lib.makeScope pkgs.newScope (self: with self; {
];
doCheck = false; }
{ name = "mbstring"; buildInputs = [ oniguruma ] ++ lib.optionals (lib.versionAtLeast php.version "8.0") [
pcre'
pcre2
]; doCheck = false; }
{ name = "mysqli";
internalDeps = [ php.extensions.mysqlnd ];
@ -425,7 +422,7 @@ lib.makeScope pkgs.newScope (self: with self; {
# oci8 (7.4, 7.3, 7.2)
# odbc (7.4, 7.3, 7.2)
{ name = "opcache";
buildInputs = [ pcre' ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin && lib.versionAtLeast php.version "8.0") [
valgrind.dev
];
patches = lib.optionals (lib.versionOlder php.version "7.4") [
@ -480,7 +477,7 @@ lib.makeScope pkgs.newScope (self: with self; {
configureFlags = [ "--with-pdo-sqlite=${sqlite.dev}" ];
doCheck = false; }
{ name = "pgsql";
buildInputs = [ pcre' ];
buildInputs = [ pcre2 ];
configureFlags = [ "--with-pgsql=${postgresql}" ];
doCheck = false; }
{ name = "posix"; doCheck = false; }
@ -493,11 +490,10 @@ lib.makeScope pkgs.newScope (self: with self; {
'';
doCheck = false;
}
# recode (7.3, 7.2)
{ name = "session"; doCheck = !(lib.versionAtLeast php.version "8.0"); }
{ name = "shmop"; }
{ name = "simplexml";
buildInputs = [ libxml2 pcre' ];
buildInputs = [ libxml2 pcre2 ];
configureFlags = [ "--enable-simplexml" ]
# Required to build on darwin.
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-libxml-dir=${libxml2.dev}" ]; }
@ -558,7 +554,7 @@ lib.makeScope pkgs.newScope (self: with self; {
configureFlags = [ "--with-xsl=${libxslt.dev}" ]; }
{ name = "zend_test"; }
{ name = "zip";
buildInputs = [ libzip pcre' ];
buildInputs = [ libzip pcre2 ];
configureFlags = [ "--with-zip" ]
++ lib.optionals (lib.versionOlder php.version "7.4") [ "--with-zlib-dir=${zlib.dev}" ]
++ lib.optionals (lib.versionOlder php.version "7.3") [ "--with-libzip" ];