From 2e0d4a8b39a03a0db0c6c3622473d333a44d1ec1 Mon Sep 17 00:00:00 2001 From: talyz Date: Sun, 31 May 2020 19:25:07 +0200 Subject: [PATCH] php.extensions.mysqlnd: Fix compression support HAVE_ZLIB has to be defined in mysqlnd.h for compression support to be turned on, but the configure script doesn't actually define it even when zlib is available. --- pkgs/top-level/php-packages.nix | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix index 9ba2e21305a0..6394add94831 100644 --- a/pkgs/top-level/php-packages.nix +++ b/pkgs/top-level/php-packages.nix @@ -986,7 +986,7 @@ in # The configure script doesn't correctly add library link # flags, so we add them to the variable used by the Makefile # when linking. - MYSQLND_SHARED_LIBADD = "-lssl -lcrypto -lz"; + MYSQLND_SHARED_LIBADD = "-lssl -lcrypto"; # The configure script builds a config.h which is never # included. Let's include it in the main header file # included by all .c-files. @@ -1002,6 +1002,18 @@ in +----------------------------------------------------------------------+ | Copyright (c) The PHP Group | '') + (pkgs.writeText "mysqlnd_fix_compression.patch" '' + --- a/ext/mysqlnd/mysqlnd.h + +++ b/ext/mysqlnd/mysqlnd.h + @@ -48,7 +48,7 @@ + #define MYSQLND_DBG_ENABLED 0 + #endif + + -#if defined(MYSQLND_COMPRESSION_WANTED) && defined(HAVE_ZLIB) + +#if defined(MYSQLND_COMPRESSION_WANTED) + #define MYSQLND_COMPRESSION_ENABLED 1 + #endif + '') ]; postPhpize = lib.optionalString (lib.versionOlder php.version "7.4") '' substituteInPlace configure --replace '$OPENSSL_LIBDIR' '${openssl}/lib' \