summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mongodb-pr633.patch40
-rw-r--r--php-pecl-mongodb.spec10
2 files changed, 49 insertions, 1 deletions
diff --git a/mongodb-pr633.patch b/mongodb-pr633.patch
new file mode 100644
index 0000000..61d019c
--- /dev/null
+++ b/mongodb-pr633.patch
@@ -0,0 +1,40 @@
+Adapted from
+
+From ec7463a77b643f533b19079147a952a0d2dd21e3 Mon Sep 17 00:00:00 2001
+From: Derick Rethans <github@derickrethans.nl>
+Date: Wed, 16 Aug 2017 10:31:18 +0100
+Subject: [PATCH 1/2] PHPC-997: Handle changes in field names in timelib
+ 2017.05beta7
+
+---
+ src/BSON/UTCDateTime.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/BSON/UTCDateTime.c b/src/BSON/UTCDateTime.c
+index 7f08285f..11055565 100644
+--- a/src/BSON/UTCDateTime.c
++++ b/src/BSON/UTCDateTime.c
+@@ -128,7 +128,11 @@ static bool php_phongo_utcdatetime_init_
+
+ /* The following assignments use the same logic as date_format() in php_date.c */
+ sec = datetime_obj->time->sse;
++#if PHP_VERSION_ID >= 70200
++ usec = (int64_t) floor(datetime_obj->time->us);
++#else
+ usec = (int64_t) floor(datetime_obj->time->f * 1000000 + 0.5);
++#endif
+
+ intern->milliseconds = (sec * 1000) + (usec / 1000);
+ intern->initialized = true;
+@@ -256,7 +260,11 @@ static PHP_METHOD(UTCDateTime, toDateTim
+ php_date_initialize(datetime_obj, sec, sec_len, NULL, NULL, 0 TSRMLS_CC);
+ efree(sec);
+
++#if PHP_VERSION_ID >= 70200
++ datetime_obj->time->us = (intern->milliseconds % 1000) * 1000;
++#else
+ datetime_obj->time->f = (double) (intern->milliseconds % 1000) / 1000;
++#endif
+ } /* }}} */
+
+ /* {{{ proto array MongoDB\BSON\UTCDateTime::jsonSerialize()
diff --git a/php-pecl-mongodb.spec b/php-pecl-mongodb.spec
index 2b3f7d9..3903373 100644
--- a/php-pecl-mongodb.spec
+++ b/php-pecl-mongodb.spec
@@ -42,12 +42,15 @@ Name: %{?sub_prefix}php-pecl-%{pecl_name}
%global upstream_version 1.3.0
%global upstream_prever beta1
Version: %{upstream_version}%{?upstream_prever:~%{upstream_prever}}
-Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
License: ASL 2.0
Group: Development/Languages
URL: http://pecl.php.net/package/%{pecl_name}
Source0: http://pecl.php.net/get/%{pecl_name}-%{upstream_version}%{?upstream_prever}.tgz
+# https://github.com/mongodb/mongo-php-driver/pull/633
+Patch0: %{pecl_name}-pr633.patch
+
BuildRequires: %{?scl_prefix}php-devel > 5.4
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: %{?scl_prefix}php-json
@@ -132,6 +135,7 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
+%patch0 -p1 -b .pr633
# Sanity check, really often broken
extver=$(sed -n '/#define PHP_MONGODB_VERSION/{s/.* "//;s/".*$//;p}' php_phongo.h)
@@ -321,6 +325,10 @@ exit $ret
%changelog
+* Wed Aug 23 2017 Remi Collet <remi@remirepo.net> - 1.3.0~beta1-2
+- add patch for upcoming PHP 7.2.0RC1 and new timelib from
+ https://github.com/mongodb/mongo-php-driver/pull/633
+
* Fri Aug 11 2017 Remi Collet <remi@remirepo.net> - 1.3.0~beta1-1
- update to 1.3.0beta1
- raise dependency on libbson and mongo-c-driver 1.7.0