phpExtensions.*: use meta.broken rather than filtering

This commit is contained in:
Emily 2024-10-28 23:43:03 +00:00
parent e06dae4378
commit 8b7ca25150

View File

@ -182,7 +182,7 @@ in {
meta = { meta = {
description = "PHP upstream extension: ${name}"; description = "PHP upstream extension: ${name}";
inherit (php.meta) maintainers homepage license; inherit (php.meta) maintainers homepage license;
}; } // args.meta or { };
})); }));
php = phpPackage; php = phpPackage;
@ -458,13 +458,6 @@ in {
configureFlags = [ "--with-iconv" ]; configureFlags = [ "--with-iconv" ];
doCheck = stdenv.hostPlatform.isLinux; doCheck = stdenv.hostPlatform.isLinux;
} }
{
name = "imap";
buildInputs = [ uwimap openssl pam pcre2 libkrb5 ];
configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" "--with-kerberos" ];
# Using version from PECL on new PHP versions.
enable = lib.versionOlder php.version "8.3";
}
{ {
name = "intl"; name = "intl";
buildInputs = [ icu73 ]; buildInputs = [ icu73 ];
@ -560,7 +553,7 @@ in {
internalDeps = [ php.extensions.pdo ]; internalDeps = [ php.extensions.pdo ];
configureFlags = [ "--with-pdo-dblib=${freetds}" ]; configureFlags = [ "--with-pdo-dblib=${freetds}" ];
# Doesn't seem to work on darwin. # Doesn't seem to work on darwin.
enable = (!stdenv.hostPlatform.isDarwin); meta.broken = (!stdenv.hostPlatform.isDarwin);
doCheck = false; doCheck = false;
} }
{ {
@ -655,7 +648,7 @@ in {
buildInputs = [ net-snmp openssl ]; buildInputs = [ net-snmp openssl ];
configureFlags = [ "--with-snmp" ]; configureFlags = [ "--with-snmp" ];
# net-snmp doesn't build on darwin. # net-snmp doesn't build on darwin.
enable = (!stdenv.hostPlatform.isDarwin); meta.broken = (!stdenv.hostPlatform.isDarwin);
doCheck = false; doCheck = false;
} }
{ {
@ -810,6 +803,13 @@ in {
"--with-zlib" "--with-zlib"
]; ];
} }
] ++ lib.optionals (lib.versionOlder php.version "8.3") [
# Using version from PECL on new PHP versions.
{
name = "imap";
buildInputs = [ uwimap openssl pam pcre2 libkrb5 ];
configureFlags = [ "--with-imap=${uwimap}" "--with-imap-ssl" "--with-kerberos" ];
}
]; ];
# Convert the list of attrs: # Convert the list of attrs:
@ -818,14 +818,12 @@ in {
# [ { name = <name>; value = <extension drv>; } ... ] # [ { name = <name>; value = <extension drv>; } ... ]
# #
# which we later use listToAttrs to make all attrs available by name. # which we later use listToAttrs to make all attrs available by name.
#
# Also filter out extensions based on the enable property.
namedExtensions = builtins.map namedExtensions = builtins.map
(drv: { (drv: {
name = drv.name; name = drv.name;
value = mkExtension (builtins.removeAttrs drv [ "enable" ]); value = mkExtension drv;
}) })
(builtins.filter (i: i.enable or true) extensionData); extensionData;
# Produce the final attribute set of all extensions defined. # Produce the final attribute set of all extensions defined.
in in