From fdc094f69e8345a95df26af093adea2e18f5fb63 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:19:01 +0100 Subject: [PATCH 01/14] php74: init at 7.4.0RC6 --- pkgs/development/interpreters/php/default.nix | 15 ++++++++++++++- pkgs/top-level/all-packages.nix | 5 +++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 4778f08560d..373cbae262a 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -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 ] @@ -268,4 +269,16 @@ in { # https://bugs.php.net/bug.php?id=76826 extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch; }; + + php74 = let + version = "7.4.0RC6"; + sha256 = "1q20ax5mphypq7dwxd509lzca6m0rcxkzmcbkc6kg4bw6gvnjkyv"; + in (generic { + inherit version sha256; + }).overrideAttrs(oa: { + src = fetchurl { + url = "https://downloads.php.net/~derick/php-${version}.tar.bz2"; + inherit sha256; + }; + }); } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0656fb7d322..727df4f3a21 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9091,8 +9091,9 @@ in 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; From 375afaf271cd1ac03c19bc3a085f5234d7f26d56 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:32:41 +0100 Subject: [PATCH 02/14] php74-embed: init based on php74 --- pkgs/top-level/all-packages.nix | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 727df4f3a21..c6527850e5b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9107,6 +9107,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 { From 4ba409022cef853b061f55a94213a41b171b6efb Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:32:20 +0100 Subject: [PATCH 03/14] php74-unit: init based on php74 --- pkgs/top-level/all-packages.nix | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c6527850e5b..5e08d50e569 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9132,6 +9132,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 {}; From 9b52340a2b5d3b38f9d563baf8384c62ea555ec3 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:30:15 +0100 Subject: [PATCH 04/14] php74Packages: init packages for php74 --- pkgs/top-level/all-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 5e08d50e569..739d3bad537 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9078,6 +9078,10 @@ in php = php73; }); + php74Packages = recurseIntoAttrs (callPackage ./php-packages.nix { + php = php74; + }); + phpPackages-unit = php72Packages-unit; php72Packages-unit = recurseIntoAttrs (callPackage ./php-packages.nix { From 83de83ad3e5cf726e70cfe8ee19b28e5876d5a6e Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:31:51 +0100 Subject: [PATCH 05/14] php74Packages-unit: init packages for php74-unit --- pkgs/top-level/all-packages.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 739d3bad537..931cffb901e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9092,6 +9092,10 @@ 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; }) From 6dd3a702859ac4f8c5994f30b8ce046d5c803b33 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:39:42 +0100 Subject: [PATCH 06/14] phpPackages.xdebug: 2.7.1 -> 2.8.0 Required for php74 compatibility. --- pkgs/top-level/php-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index cdb1c19bce5..47fe47a08b7 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -617,10 +617,10 @@ let }; xdebug = buildPecl { - version = "2.7.1"; + version = "2.8.0"; pname = "xdebug"; - sha256 = "1hr4gy87a3gp682ggwp831xk1fxasil9wan8cxv23q3m752x3sdp"; + sha256 = "0r62501fdp63zz81scz2x1pq3qzpjafya96g12j0jx7crdz127fb"; doCheck = true; checkTarget = "test"; From 42495df1f4edcc48913d71cc614159c9e0d15428 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:58:57 +0100 Subject: [PATCH 07/14] phpPackages.apcu: 5.1.17 -> 5.1.18 Required for php74 compatibility. --- pkgs/top-level/php-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 47fe47a08b7..282e2d98523 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -16,10 +16,10 @@ let isPhp73 = pkgs.lib.versionAtLeast php.version "7.3"; 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; From d1a9b2a1305de6b8e70ddf7ff55b708b37ac49b6 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:41:34 +0100 Subject: [PATCH 08/14] phpPackages.sqlsrv: Mark broken on php74 --- pkgs/top-level/php-packages.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 282e2d98523..580bb0e5856 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -14,6 +14,7 @@ let }); isPhp73 = pkgs.lib.versionAtLeast php.version "7.3"; + isPhp74 = pkgs.lib.versionAtLeast php.version "7.4"; apcu = buildPecl { version = "5.1.18"; @@ -592,6 +593,8 @@ let sha256 = "0ial621zxn9zvjh7k1h755sm2lc9aafc389yxksqcxcmm7kqmd0a"; buildInputs = [ pkgs.unixODBC ]; + + meta.broken = isPhp74; # Build error }; v8 = buildPecl { From ec8203130bd14280c255f63599d8caaabcf3f0cc Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:48:43 +0100 Subject: [PATCH 09/14] phpPackages.protobuf: Mark broken on php74 --- pkgs/top-level/php-packages.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 580bb0e5856..8cd93be4e50 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -493,6 +493,7 @@ let ''; license = licenses.bsd3; homepage = "https://developers.google.com/protocol-buffers/"; + broken = isPhp74; # Build error }; }; From 403343259306a666f85efb2a5132b7c119ce3ba1 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:49:04 +0100 Subject: [PATCH 10/14] phpPackages.pdo_sqlsrv: Mark broken on php74 --- pkgs/top-level/php-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 8cd93be4e50..099d5e98d21 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -269,6 +269,8 @@ let sha256 = "02ill1iqffa5fha9iz4y91823scml24ikfk8pn90jyycfwv07x6a"; buildInputs = [ pkgs.unixODBC ]; + + meta.broken = isPhp74; # Build error }; php-cs-fixer = mkDerivation rec { From d92f57fcda61fadf2b66043dbf5a489ba0eac49d Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:49:17 +0100 Subject: [PATCH 11/14] phpPackages.pcs: Mark broken on php74 --- pkgs/top-level/php-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 099d5e98d21..4ab46efcb4f 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -260,6 +260,8 @@ let pname = "pcs"; sha256 = "0d4p1gpl8gkzdiv860qzxfz250ryf0wmjgyc8qcaaqgkdyh5jy5p"; + + meta.broken = isPhp74; # Build error }; pdo_sqlsrv = buildPecl { From 14e72966951389dcb2c4b278b1c7677f46351205 Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Thu, 21 Nov 2019 22:52:38 +0100 Subject: [PATCH 12/14] phpPackages.couchbase: Mark broken on php74 --- pkgs/top-level/php-packages.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 4ab46efcb4f..41db7109d9f 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -141,6 +141,8 @@ let AC_MSG_WARN([Cannot find igbinary.h]) '') ]; + + meta.broken = isPhp74; # Build error }; event = buildPecl { From 80b12a60dff90bc43626cd6632437031f8ea476e Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Wed, 27 Nov 2019 11:12:08 +0100 Subject: [PATCH 13/14] php74: 7.4.0RC6 -> 7.4.0 Changelog: https://www.php.net/ChangeLog-7.php#7.4.0 --- pkgs/development/interpreters/php/default.nix | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 373cbae262a..97d5c0aabe8 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -270,15 +270,8 @@ in { extraPatches = optional stdenv.isDarwin ./php73-darwin-isfinite.patch; }; - php74 = let - version = "7.4.0RC6"; - sha256 = "1q20ax5mphypq7dwxd509lzca6m0rcxkzmcbkc6kg4bw6gvnjkyv"; - in (generic { - inherit version sha256; - }).overrideAttrs(oa: { - src = fetchurl { - url = "https://downloads.php.net/~derick/php-${version}.tar.bz2"; - inherit sha256; - }; - }); + php74 = generic { + version = "7.4.0"; + sha256 = "1h01bahvcm9kgm5jqhm2j9k9d4q4rpfkkpqk00c47rirdblnn85z"; + }; } From a4cf20c68f81e331bd663fa4cb3d381145de501f Mon Sep 17 00:00:00 2001 From: Elis Hirwing Date: Sun, 1 Dec 2019 09:50:51 +0100 Subject: [PATCH 14/14] php74: Go through configuration options --- pkgs/development/interpreters/php/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 97d5c0aabe8..a58025c42ac 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -115,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 [ @@ -134,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" @@ -157,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}" @@ -174,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" @@ -182,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"