From af064a0e12ad8e5a8a2e8d8ad25fc0baf3f8ef54 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Thu, 25 Jun 2020 21:21:28 +0200 Subject: [PATCH] php7{2,3}: fix darwin build * Backported patches from `php-7.4` which fixes the env for all `gettext` and `zlib` tests. * Setting `--with-libxml-dir` is still needed for versions 7.2 and 7.3. --- pkgs/development/interpreters/php/default.nix | 10 +++-- .../interpreters/php/zlib-darwin-tests.patch | 44 +++++++++++++++++++ pkgs/top-level/php-packages.nix | 10 +++++ 3 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 pkgs/development/interpreters/php/zlib-darwin-tests.patch diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix index 78a3e91179f9..b930e54fa4cf 100644 --- a/pkgs/development/interpreters/php/default.nix +++ b/pkgs/development/interpreters/php/default.nix @@ -8,7 +8,7 @@ let { callPackage, lib, stdenv, nixosTests, config, fetchurl, makeWrapper , symlinkJoin, writeText, autoconf, automake, bison, flex, libtool , pkgconfig, re2c, apacheHttpd, libargon2, libxml2, pcre, pcre2 - , systemd, valgrind + , systemd, valgrind, xcbuild , version , sha256 @@ -143,7 +143,8 @@ let enableParallelBuilding = true; - nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ]; + nativeBuildInputs = [ autoconf automake bison flex libtool pkgconfig re2c ] + ++ lib.optional stdenv.isDarwin xcbuild; buildInputs = # PCRE extension @@ -177,7 +178,10 @@ let ++ lib.optional (!cliSupport) "--disable-cli" ++ lib.optional fpmSupport "--enable-fpm" ++ lib.optional pearSupport [ "--with-pear=$(out)/lib/php/pear" "--enable-xml" "--with-libxml" ] - ++ lib.optional (pearSupport && (lib.versionOlder version "7.4")) "--enable-libxml" + ++ lib.optionals (pearSupport && (lib.versionOlder version "7.4")) [ + "--enable-libxml" + "--with-libxml-dir=${libxml2.dev}" + ] ++ lib.optional pharSupport "--enable-phar" ++ lib.optional phpdbgSupport "--enable-phpdbg" diff --git a/pkgs/development/interpreters/php/zlib-darwin-tests.patch b/pkgs/development/interpreters/php/zlib-darwin-tests.patch new file mode 100644 index 000000000000..ef61f0a87845 --- /dev/null +++ b/pkgs/development/interpreters/php/zlib-darwin-tests.patch @@ -0,0 +1,44 @@ +diff --git a/ext/zlib/tests/bug55544.phpt b/ext/zlib/tests/bug55544.phpt +index a0d22f4fcebf4846da6781f424f87821626de5ea..e650fe6909f555d04834f4c08f7fd0d354b783e2 100644 +--- a/ext/zlib/tests/bug55544.phpt ++++ b/ext/zlib/tests/bug55544.phpt +@@ -6,6 +6,9 @@ extension_loaded("zlib") or die("skip"); + if (substr(PHP_OS, 0, 3) == 'WIN') { + die("skip not for windows"); + } ++if (PHP_OS == "Darwin") { ++ die("skip not for darwin"); ++} + ?> + --INI-- + output_handler=ob_gzhandler +diff --git a/ext/zlib/tests/gzencode_variation1.phpt b/ext/zlib/tests/gzencode_variation1.phpt +index c966b2cbc5b7..2f953168fa22 100644 +--- a/ext/zlib/tests/gzencode_variation1.phpt ++++ b/ext/zlib/tests/gzencode_variation1.phpt +@@ -10,6 +10,10 @@ if( substr(PHP_OS, 0, 3) == "WIN" ) { + if (!extension_loaded("zlib")) { + print "skip - ZLIB extension not loaded"; + } ++ ++if (PHP_OS == "Darwin") { ++ print "skip - OS is encoded in headers, tested header is non Darwin"; ++} + ?> + --FILE-- + + --FILE-- +