Merge pull request #73883 from etu/init-php74

php74: init at 7.4.0
This commit is contained in:
Aaron Andersen 2019-12-04 18:18:32 -05:00 committed by GitHub
commit 4b995ddfe7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 58 additions and 12 deletions

View File

@ -4,7 +4,7 @@
, openssl, pcre, pcre2, sqlite, config, libjpeg, libpng, freetype
, libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, unixODBC
, uwimap, pam, gmp, apacheHttpd, libiconv, systemd, libsodium, html-tidy, libargon2
, libzip, valgrind
, libzip, valgrind, oniguruma
}:
with lib;
@ -78,6 +78,7 @@ let
buildInputs = [ ]
++ optional (versionOlder version "7.3") pcre
++ optional (versionAtLeast version "7.3") pcre2
++ optional (versionAtLeast version "7.4") oniguruma
++ optional withSystemd systemd
++ optionals imapSupport [ uwimap openssl pam ]
++ optionals curlSupport [ curl openssl ]
@ -114,7 +115,8 @@ let
"--with-config-file-scan-dir=/etc/php.d"
]
++ optional (versionOlder version "7.3") "--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
++ optional (versionAtLeast version "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
++ optional (versions.majorMinor version == "7.3") "--with-pcre-regex=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
++ optional (versionAtLeast version "7.4") "--with-external-pcre=${pcre2.dev} PCRE_LIBDIR=${pcre2}"
++ optional stdenv.isDarwin "--with-iconv=${libiconv}"
++ optional withSystemd "--with-fpm-systemd"
++ optionals imapSupport [
@ -133,10 +135,11 @@ let
++ optional mhashSupport "--with-mhash"
++ optional curlSupport "--with-curl=${curl.dev}"
++ optional zlibSupport "--with-zlib=${zlib.dev}"
++ optional libxml2Support "--with-libxml-dir=${libxml2.dev}"
++ optional (libxml2Support && (versionOlder version "7.4")) "--with-libxml-dir=${libxml2.dev}"
++ optional (!libxml2Support) [
"--disable-dom"
"--disable-libxml"
(if (versionOlder version "7.4") then "--disable-libxml" else "--without-libxml")
"--disable-simplexml"
"--disable-xml"
"--disable-xmlreader"
@ -156,7 +159,12 @@ let
++ optional ( pdo_mysqlSupport || mysqliSupport ) "--with-mysql-sock=/run/mysqld/mysqld.sock"
++ optional bcmathSupport "--enable-bcmath"
# FIXME: Our own gd package doesn't work, see https://bugs.php.net/bug.php?id=60108.
++ optionals gdSupport [
++ optionals (gdSupport && versionAtLeast version "7.4") [
"--enable-gd"
"--with-jpeg=${libjpeg.dev}"
"--with-freetype=${freetype.dev}"
"--enable-gd-jis-conv"
] ++ optionals (gdSupport && versionOlder version "7.4") [
"--with-gd"
"--with-freetype-dir=${freetype.dev}"
"--with-png-dir=${libpng.dev}"
@ -173,7 +181,7 @@ let
++ optional xslSupport "--with-xsl=${libxslt.dev}"
++ optional mcryptSupport "--with-mcrypt=${libmcrypt'}"
++ optional bz2Support "--with-bz2=${bzip2.dev}"
++ optional zipSupport "--enable-zip"
++ optional (zipSupport && (versionOlder version "7.4")) "--enable-zip"
++ optional ftpSupport "--enable-ftp"
++ optional fpmSupport "--enable-fpm"
++ optional ztsSupport "--enable-maintainer-zts"
@ -181,7 +189,7 @@ let
++ optional sodiumSupport "--with-sodium=${libsodium.dev}"
++ optional tidySupport "--with-tidy=${html-tidy}"
++ optional argon2Support "--with-password-argon2=${libargon2}"
++ optional libzipSupport "--with-libzip=${libzip.dev}"
++ optional (libzipSupport && (versionOlder version "7.4")) "--with-libzip=${libzip.dev}"
++ optional phpdbgSupport "--enable-phpdbg"
++ optional (!phpdbgSupport) "--disable-phpdbg"
++ optional (!cgiSupport) "--disable-cgi"
@ -268,4 +276,9 @@ in {
# https://bugs.php.net/bug.php?id=76826
extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch;
};
php74 = generic {
version = "7.4.0";
sha256 = "1h01bahvcm9kgm5jqhm2j9k9d4q4rpfkkpqk00c47rirdblnn85z";
};
}

View File

@ -9093,6 +9093,10 @@ in
php = php73;
});
php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix {
php = php74;
});
phpPackages-unit = php72Packages-unit;
php72Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
@ -9103,11 +9107,16 @@ in
php = php73-unit;
});
php74Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix {
php = php74-unit;
});
inherit (callPackages ../development/interpreters/php {
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
})
php72
php73;
php74
php73
php72;
php-embed = php73-embed;
@ -9121,6 +9130,11 @@ in
config.php.apxs2 = false;
};
php74-embed = php74.override {
config.php.embed = true;
config.php.apxs2 = false;
};
php-unit = php73-unit;
php72-unit = php72.override {
@ -9141,6 +9155,15 @@ in
config.php.fpm = false;
};
php74-unit = php74.override {
config.php.embed = true;
config.php.apxs2 = false;
config.php.systemd = false;
config.php.phpdbg = false;
config.php.cgi = false;
config.php.fpm = false;
};
picoc = callPackage ../development/interpreters/picoc {};
picolisp = callPackage ../development/interpreters/picolisp {};

View File

@ -14,12 +14,13 @@ let
});
isPhp73 = pkgs.lib.versionAtLeast php.version "7.3";
isPhp74 = pkgs.lib.versionAtLeast php.version "7.4";
apcu = buildPecl {
version = "5.1.17";
version = "5.1.18";
pname = "apcu";
sha256 = "14y7alvj5q17q1b544bxidavkn6i40cjbq2nv1m0k70ai5vv84bb";
sha256 = "0ayykd4hfvdzk7qnr5k6yq5scwf6rb2i05xscfv76q5dmkkynvfl";
buildInputs = [ (if isPhp73 then pkgs.pcre2 else pkgs.pcre) ];
doCheck = true;
@ -140,6 +141,8 @@ let
AC_MSG_WARN([Cannot find igbinary.h])
'')
];
meta.broken = isPhp74; # Build error
};
event = buildPecl {
@ -259,6 +262,8 @@ let
pname = "pcs";
sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p";
meta.broken = isPhp74; # Build error
};
pdo_sqlsrv = buildPecl {
@ -268,6 +273,8 @@ let
sha256 = "02ill1iqffa5fha9iz4y91823scml24ikfk8pn90jyycfwv07x6a";
buildInputs = [ pkgs.unixODBC ];
meta.broken = isPhp74; # Build error
};
php-cs-fixer = mkDerivation rec {
@ -492,6 +499,7 @@ let
'';
license = licenses.bsd3;
homepage = "https://developers.google.com/protocol-buffers/";
broken = isPhp74; # Build error
};
};
@ -592,6 +600,8 @@ let
sha256 = "0ial621zxn9zvjh7k1h755sm2lc9aafc389yxksqcxcmm7kqmd0a";
buildInputs = [ pkgs.unixODBC ];
meta.broken = isPhp74; # Build error
};
v8 = buildPecl {
@ -617,10 +627,10 @@ let
};
xdebug = buildPecl {
version = "2.7.1";
version = "2.8.0";
pname = "xdebug";
sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp";
sha256 = "0r62501fdp63zz81scz2x1pq3qzpjafya96g12j0jx7crdz127fb";
doCheck = true;
checkTarget = "test";