diff options
-rw-r--r-- | 1717.patch | 22 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | REFLECTION | 151 | ||||
-rw-r--r-- | php-pecl-swoole4.spec | 45 |
4 files changed, 173 insertions, 49 deletions
diff --git a/1717.patch b/1717.patch new file mode 100644 index 0000000..506c7ca --- /dev/null +++ b/1717.patch @@ -0,0 +1,22 @@ +From 2835548fb1ddddcce082cabaa24efa17c2fada95 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Thu, 14 Jun 2018 11:21:39 +0200 +Subject: [PATCH] ensure C++ is used for link command + +--- + config.m4 | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/config.m4 b/config.m4 +index 9664ed075..0b8ced436 100644 +--- a/config.m4 ++++ b/config.m4 +@@ -630,7 +630,7 @@ if test "$PHP_SWOOLE" != "no"; then + LDFLAGS="$LDFLAGS -lboost_context" + fi + +- PHP_NEW_EXTENSION(swoole, $swoole_source_file, $ext_shared) ++ PHP_NEW_EXTENSION(swoole, $swoole_source_file, $ext_shared,,, cxx) + + PHP_ADD_INCLUDE([$ext_srcdir]) + PHP_ADD_INCLUDE([$ext_srcdir/include]) diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + @@ -1,4 +1,4 @@ -Extension [ <persistent> extension #147 swoole version 2.2.0 ] { +Extension [ <persistent> extension #147 swoole version 4.0.0 ] { - INI { Entry [ swoole.aio_thread_num <ALL> ] @@ -66,7 +66,7 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { Constant [ integer SWOOLE_DTLSv1_CLIENT_METHOD ] { 17 } Constant [ integer SWOOLE_EVENT_READ ] { 512 } Constant [ integer SWOOLE_EVENT_WRITE ] { 1024 } - Constant [ string SWOOLE_VERSION ] { 2.2.0 } + Constant [ string SWOOLE_VERSION ] { 4.0.0 } Constant [ integer SWOOLE_ERROR_MALLOC_FAIL ] { 501 } Constant [ integer SWOOLE_ERROR_SYSTEM_CALL_FAIL ] { 502 } Constant [ integer SWOOLE_ERROR_PHP_FATAL_ERROR ] { 503 } @@ -157,7 +157,7 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { Constant [ integer SW_PGSQL_NUM ] { 2 } Constant [ integer SW_PGSQL_BOTH ] { 3 } Constant [ integer SWOOLE_AIO_BASE ] { 0 } - Constant [ integer SWOOLE_AIO_LINUX ] { 1 } + Constant [ integer SWOOLE_AIO_LINUX ] { 0 } Constant [ integer SWOOLE_FILELOCK ] { 2 } Constant [ integer SWOOLE_MUTEX ] { 3 } Constant [ integer SWOOLE_SEM ] { 4 } @@ -408,9 +408,14 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { Parameter #1 [ <optional> $type ] } } + Function [ <internal:swoole> function swoole_call_user_shutdown_begin ] { + + - Parameters [0] { + } + } } - - Classes [46] { + - Classes [48] { Class [ <internal:swoole> class Swoole\Server ] { - Constants [0] { @@ -2691,7 +2696,7 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { Property [ <default> public $errno ] } - - Methods [4] { + - Methods [7] { Method [ <internal:swoole> public method execute ] { - Parameters [2] { @@ -2700,6 +2705,24 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { } } + Method [ <internal:swoole> public method fetch ] { + + - Parameters [0] { + } + } + + Method [ <internal:swoole> public method fetchAll ] { + + - Parameters [0] { + } + } + + Method [ <internal:swoole> public method nextResult ] { + + - Parameters [0] { + } + } + Method [ <internal:swoole, dtor> public method __destruct ] { - Parameters [0] { @@ -2960,7 +2983,7 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { - Static properties [0] { } - - Static methods [17] { + - Static methods [14] { Method [ <internal:swoole> static public method create ] { - Parameters [1] { @@ -2982,16 +3005,9 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { } } - Method [ <internal:swoole> static public method cli_wait ] { - - - Parameters [0] { - } - } - Method [ <internal:swoole> static public method suspend ] { - - Parameters [1] { - Parameter #0 [ <required> $uid ] + - Parameters [0] { } } @@ -3073,21 +3089,6 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { Parameter #4 [ <optional> $service ] } } - - Method [ <internal:swoole> static public method call_user_func ] { - - - Parameters [1] { - Parameter #0 [ <required> $func ] - } - } - - Method [ <internal:swoole> static public method call_user_func_array ] { - - - Parameters [2] { - Parameter #0 [ <required> $func ] - Parameter #1 [ <required> array $params ] - } - } } - Properties [0] { @@ -5230,7 +5231,7 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { - Properties [0] { } - - Methods [5] { + - Methods [6] { Method [ <internal:swoole, ctor> public method __construct ] { - Parameters [1] { @@ -5257,6 +5258,12 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { } } + Method [ <internal:swoole> public method peek ] { + + - Parameters [0] { + } + } + Method [ <internal:swoole> public method stats ] { - Parameters [0] { @@ -5858,6 +5865,90 @@ Extension [ <persistent> extension #147 swoole version 2.2.0 ] { } } + Class [ <internal:swoole> class Swoole\Memory\Pool ] { + + - Constants [5] { + Constant [ public integer TYPE_RING ] { 1 } + Constant [ public integer TYPE_GLOBAL ] { 2 } + Constant [ public integer TYPE_FIXED ] { 0 } + Constant [ public integer TYPE_MALLOC ] { 3 } + Constant [ public integer TYPE_EMALLOC ] { 4 } + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [3] { + Method [ <internal:swoole, ctor> public method __construct ] { + + - Parameters [4] { + Parameter #0 [ <required> $size ] + Parameter #1 [ <required> $type ] + Parameter #2 [ <optional> $slice_size ] + Parameter #3 [ <optional> $shared ] + } + } + + Method [ <internal:swoole, dtor> public method __destruct ] { + + - Parameters [0] { + } + } + + Method [ <internal:swoole> public method alloc ] { + + - Parameters [1] { + Parameter #0 [ <optional> $size ] + } + } + } + } + + Class [ <internal:swoole> class Swoole\Memory\Pool\Slice ] { + + - Constants [0] { + } + + - Static properties [0] { + } + + - Static methods [0] { + } + + - Properties [0] { + } + + - Methods [3] { + Method [ <internal:swoole> public method read ] { + + - Parameters [2] { + Parameter #0 [ <optional> $size ] + Parameter #1 [ <optional> $offset ] + } + } + + Method [ <internal:swoole> public method write ] { + + - Parameters [2] { + Parameter #0 [ <required> $data ] + Parameter #1 [ <optional> $offset ] + } + } + + Method [ <internal:swoole, dtor> public method __destruct ] { + + - Parameters [0] { + } + } + } + } + Class [ <internal:swoole> class Swoole\Redis ] { - Constants [5] { diff --git a/php-pecl-swoole4.spec b/php-pecl-swoole4.spec index e132e14..aae12ca 100644 --- a/php-pecl-swoole4.spec +++ b/php-pecl-swoole4.spec @@ -1,4 +1,4 @@ -# remirepo spec file for php-pecl-swoole2 +# remirepo spec file for php-pecl-swoole4 # # Copyright (c) 2013-2018 Remi Collet # License: CC-BY-SA @@ -40,15 +40,18 @@ %global with_hiredis 1 Summary: PHP's asynchronous concurrent distributed networking framework -Name: %{?sub_prefix}php-pecl-%{pecl_name}2 -Version: 2.2.0 +Name: %{?sub_prefix}php-pecl-%{pecl_name}4 +Version: 4.0.0 Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} License: BSD URL: http://pecl.php.net/package/%{pecl_name} Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz +Patch0: https://patch-diff.githubusercontent.com/raw/swoole/swoole-src/pull/1717.patch + BuildRequires: %{?dtsprefix}gcc -BuildRequires: %{?scl_prefix}php-devel > 7 +BuildRequires: %{?dtsprefix}gcc-c++ +BuildRequires: %{?scl_prefix}php-devel > 7.1 BuildRequires: %{?scl_prefix}php-pear BuildRequires: %{?scl_prefix}php-sockets BuildRequires: %{?scl_prefix}php-mysqlnd @@ -75,27 +78,22 @@ Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} %if "%{?scl_prefix}" != "%{?sub_prefix}" -Provides: %{?scl_prefix}php-pecl-%{pecl_name}2 = %{version}-%{release} -Provides: %{?scl_prefix}php-pecl-%{pecl_name}2%{?_isa} = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}4 = %{version}-%{release} +Provides: %{?scl_prefix}php-pecl-%{pecl_name}4%{?_isa} = %{version}-%{release} +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name} < 2 +Conflicts: %{?scl_prefix}php-pecl-%{pecl_name}2 < 4 %endif # Single version can be installed -Conflicts: %{?sub_prefix}php-pecl-%{pecl_name} < 2 -Conflicts: %{?scl_prefix}php-pecl-%{pecl_name} < 2 +Conflicts: %{?sub_prefix}php-pecl-%{pecl_name} < 2 +Conflicts: %{?sub_prefix}php-pecl-%{pecl_name}2 < 4 %if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} -# Other third party repo stuff -Obsoletes: php56u-pecl-%{pecl_name}2 <= %{version} -Obsoletes: php56w-pecl-%{pecl_name}2 <= %{version} -Obsoletes: php70u-pecl-%{pecl_name}2 <= %{version} -Obsoletes: php70w-pecl-%{pecl_name}2 <= %{version} -%if "%{php_version}" > "7.1" -Obsoletes: php71u-pecl-%{pecl_name}2 <= %{version} -Obsoletes: php71w-pecl-%{pecl_name}2 <= %{version} -%endif +Obsoletes: php71u-pecl-%{pecl_name}4 <= %{version} +Obsoletes: php71w-pecl-%{pecl_name}4 <= %{version} %if "%{php_version}" > "7.2" -Obsoletes: php72u-pecl-%{pecl_name}2 <= %{version} -Obsoletes: php72w-pecl-%{pecl_name}2 <= %{version} +Obsoletes: php72u-pecl-%{pecl_name}4 <= %{version} +Obsoletes: php72w-pecl-%{pecl_name}4 <= %{version} %endif %endif @@ -154,6 +152,8 @@ sed -e '/examples/s/role="src"/role="doc"/' \ cd NTS +%patch0 -p1 -b .pr1717 + # Sanity check, really often broken extver=$(sed -n '/#define PHP_SWOOLE_VERSION/{s/.* "//;s/".*$//;p}' php_swoole.h) if test "x${extver}" != "x%{version}%{?prever:-%{prever}}"; then @@ -315,6 +315,13 @@ cd ../ZTS %changelog +* Thu Jun 14 2018 Remi Collet <remi@remirepo.net> - 4.0.0-1 +- update to 4.0.0 +- rename to php-pecl-swoole4 +- raise dependency on PHP 7.1 +- add patch to ensure g++ is used a linktime from + https://github.com/swoole/swoole-src/pull/1717 + * Wed May 23 2018 Remi Collet <remi@remirepo.net> - 2.2.0-1 - update to 2.2.0 |