summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian Evans <grknight@gentoo.org>2021-03-25 11:53:03 -0400
committerBrian Evans <grknight@gentoo.org>2021-03-25 11:53:03 -0400
commitc2d94c33c28a931a2c4371fafb335b7e5d84aadb (patch)
tree001d00c9e0e483e308a89613b040cfb9b12595d0 /dev-lang
parentgames-simulation/singularity: fix RDEPEND typo (diff)
downloadgentoo-c2d94c33c28a931a2c4371fafb335b7e5d84aadb.tar.gz
gentoo-c2d94c33c28a931a2c4371fafb335b7e5d84aadb.tar.bz2
gentoo-c2d94c33c28a931a2c4371fafb335b7e5d84aadb.zip
dev-lang/php: Include upstream patch on 8.0 slot for pdo_firebird
This patch eliminates several warnings which are normally harmless. However, with certain CFLAGS, the linking may fail as can be seen with the coverage USE. This is taken from upstream development branch but has not been backported to the 8.0 branch. Closes: https://bugs.gentoo.org/778053 Signed-off-by: Brian Evans <grknight@gentoo.org>
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/php/files/php80-firebird-warnings.patch56
-rw-r--r--dev-lang/php/php-8.0.3.ebuild5
2 files changed, 60 insertions, 1 deletions
diff --git a/dev-lang/php/files/php80-firebird-warnings.patch b/dev-lang/php/files/php80-firebird-warnings.patch
new file mode 100644
index 000000000000..48e38c2135f8
--- /dev/null
+++ b/dev-lang/php/files/php80-firebird-warnings.patch
@@ -0,0 +1,56 @@
+From c288b5294bb0e13ad2904a3ec79265f727baaea3 Mon Sep 17 00:00:00 2001
+From: Nikita Popov <nikita.ppv@gmail.com>
+Date: Mon, 14 Dec 2020 10:36:36 +0100
+Subject: [PATCH] Fix compile warnings in PDO Firebird
+
+---
+ ext/pdo_firebird/firebird_driver.c | 9 +++++----
+ ext/pdo_firebird/php_pdo_firebird_int.h | 3 +--
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/ext/pdo_firebird/firebird_driver.c b/ext/pdo_firebird/firebird_driver.c
+index c299907f0fea1..390871cc200c8 100644
+--- a/ext/pdo_firebird/firebird_driver.c
++++ b/ext/pdo_firebird/firebird_driver.c
+@@ -171,10 +171,11 @@ static const char classes_array[] = {
+ /* 127 */ 0
+ };
+
+-inline char classes(char idx)
++static inline char classes(char idx)
+ {
+- if (idx > 127) return 0;
+- return classes_array[idx];
++ unsigned char uidx = (unsigned char) idx;
++ if (uidx > 127) return 0;
++ return classes_array[uidx];
+ }
+
+ typedef enum {
+@@ -1085,7 +1086,7 @@ static int pdo_firebird_handle_factory(pdo_dbh_t *dbh, zval *driver_options) /*
+ char errmsg[512];
+ const ISC_STATUS *s = H->isc_status;
+ fb_interpret(errmsg, sizeof(errmsg),&s);
+- zend_throw_exception_ex(php_pdo_get_exception(), H->isc_status[1], "SQLSTATE[%s] [%d] %s",
++ zend_throw_exception_ex(php_pdo_get_exception(), H->isc_status[1], "SQLSTATE[%s] [%ld] %s",
+ "HY000", H->isc_status[1], errmsg);
+ }
+
+diff --git a/ext/pdo_firebird/php_pdo_firebird_int.h b/ext/pdo_firebird/php_pdo_firebird_int.h
+index 094767fa355d3..70a895b4b9f83 100644
+--- a/ext/pdo_firebird/php_pdo_firebird_int.h
++++ b/ext/pdo_firebird/php_pdo_firebird_int.h
+@@ -34,12 +34,11 @@
+ #define SHORT_MAX (1 << (8*sizeof(short)-1))
+
+ #if SIZEOF_ZEND_LONG == 8 && !defined(PHP_WIN32)
+-# define LL_MASK "l"
+ # define LL_LIT(lit) lit ## L
+ #else
+-# define LL_MASK "ll"
+ # define LL_LIT(lit) lit ## LL
+ #endif
++#define LL_MASK "ll"
+
+ /* Firebird API has a couple of missing const decls in its API */
+ #define const_cast(s) ((char*)(s))
diff --git a/dev-lang/php/php-8.0.3.ebuild b/dev-lang/php/php-8.0.3.ebuild
index c3b57be91fa5..599f1188e1c0 100644
--- a/dev-lang/php/php-8.0.3.ebuild
+++ b/dev-lang/php/php-8.0.3.ebuild
@@ -151,7 +151,10 @@ BDEPEND="virtual/pkgconfig"
PHP_MV="$(ver_cut 1)"
-PATCHES=( "${FILESDIR}/php-iodbc-header-location.patch" )
+PATCHES=(
+ "${FILESDIR}/php-iodbc-header-location.patch"
+ "${FILESDIR}/php80-firebird-warnings.patch"
+)
php_install_ini() {
local phpsapi="${1}"