diff options
-rw-r--r-- | .gitignore | 8 | ||||
-rw-r--r-- | composer.json | 18 | ||||
-rw-r--r-- | php-react-socket.spec | 118 |
3 files changed, 86 insertions, 58 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fc9aa8c --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +clog +package-*.xml +*.tgz +*.tar.gz +*.tar.xz +*.tar.xz.asc +*.src.rpm +*/*rpm diff --git a/composer.json b/composer.json index a354140..cad0aef 100644 --- a/composer.json +++ b/composer.json @@ -1,18 +1,20 @@ { "name": "react/socket", - "description": "Async, streaming plaintext TCP/IP and secure TLS socket server for React PHP", - "keywords": ["socket"], + "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP", + "keywords": ["async", "socket", "stream", "connection", "ReactPHP"], "license": "MIT", "require": { "php": ">=5.3.0", - "evenement/evenement": "~2.0|~1.0", - "react/event-loop": "0.4.*|0.3.*", - "react/stream": "^0.4.5", - "react/promise": "^2.0 || ^1.1" + "evenement/evenement": "^3.0 || ^2.0 || ^1.0", + "react/dns": "^0.4.13", + "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5", + "react/stream": "^1.0 || ^0.7.1", + "react/promise": "^2.6.0 || ^1.2.1", + "react/promise-timer": "^1.4.0" }, "require-dev": { - "react/socket-client": "^0.5.1", - "clue/block-react": "^1.1" + "clue/block-react": "^1.2", + "phpunit/phpunit": "^6.4 || ^5.7 || ^4.8.35" }, "autoload": { "psr-4": { diff --git a/php-react-socket.spec b/php-react-socket.spec index 9b14028..99c2f38 100644 --- a/php-react-socket.spec +++ b/php-react-socket.spec @@ -2,7 +2,7 @@ # # Fedora spec file for php-react-socket # -# Copyright (c) 2017 Shawn Iwinski <shawn@iwin.ski> +# Copyright (c) 2017-2018 Shawn Iwinski <shawn@iwin.ski> # # License: MIT # http://opensource.org/licenses/MIT @@ -12,39 +12,36 @@ %global github_owner reactphp %global github_name socket -%global github_version 0.4.6 -%global github_commit cf074e53c974df52388ebd09710a9018894745d2 +%global github_version 0.8.12 +%global github_commit 7f7e6c56ccda7418a1a264892a625f38a5bdee0c %global composer_vendor react %global composer_project socket -# "php": ">= 5.3.0" +# "php": ">=5.3.0" %global php_min_ver 5.3.0 -# "clue/block-react": "^1.1" -%global clue_block_react_min_ver 1.1 +# "clue/block-react": "^1.2" +%global clue_block_react_min_ver 1.2 %global clue_block_react_max_ver 2.0 -# "evenement/evenement": "~2.0|~1.0" -# NOTE: Min version not 1.0 to restrict to one major version +# "evenement/evenement": "^3.0 || ^2.0 || ^1.0" +# NOTE: Restricted to one major version %global evenement_min_ver 2.0 %global evenement_max_ver 3.0 -# "react/event-loop": "0.4.*|0.3.*" -%global react_event_loop_min_ver 0.3.0 -%global react_event_loop_max_ver 0.5.0 -# "react/promise": "^2.0 || ^1.1" -# NOTE: Min version not 1.1 to restrict to one major version -%global react_promise_min_ver 2.0 +# "react/dns": "^0.4.13" +%global react_dns_min_ver 0.4.13 +%global react_dns_max_ver 1.0 +# "react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3.5" +%global react_event_loop_min_ver 0.3.5 +%global react_event_loop_max_ver 2.0 +# "react/promise": "^2.6.0 || ^1.2.1" +%global react_promise_min_ver 1.2.1 %global react_promise_max_ver 3.0 -# "react/socket-client": "^0.5.1" -%global react_socket_client_min_ver 0.5.1 -%global react_socket_client_max_ver 1.0 -# "react/stream": "^0.4.5" -%global react_stream_min_ver 0.4.5 -%global react_stream_max_ver 1.0 - -# Allow bootstrapped build because: -# - Circular build dependency with "react/socket-client" and "react/dns" -# - Requires "react/socket-client" >= 0.5.1 but 0.4 will be packaged -%global bootstrap 1 +# "react/promise-timer": "^1.4.0" +%global react_promise_timer_min_ver 1.4.0 +%global react_promise_timer_max_ver 2.0 +# "react/stream": "^1.0 || ^0.7.1" +%global react_stream_min_ver 0.7.1 +%global react_stream_max_ver 2.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} @@ -58,8 +55,8 @@ Summary: Async, streaming plaintext TCP/IP and secure TLS socket server Group: Development/Libraries License: MIT -URL: https://github.com/%{github_owner}/%{github_name} -Source0: %{url}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz +URL: https://reactphp.org/socket/ +Source0: https://github.com/%{github_owner}/%{github_name}/archive/%{github_commit}/%{name}-%{github_version}-%{github_commit}.tar.gz BuildArch: noarch # Tests @@ -67,24 +64,34 @@ BuildArch: noarch ## composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(phpunit/phpunit) +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +BuildRequires: (php-composer(clue/block-react) >= %{clue_block_react_min_ver} with php-composer(clue/block-react) < %{clue_block_react_max_ver}) +BuildRequires: (php-composer(evenement/evenement) >= %{evenement_min_ver} with php-composer(evenement/evenement) < %{evenement_max_ver}) +BuildRequires: (php-composer(react/dns) >= %{react_dns_min_ver} with php-composer(react/dns) < %{react_dns_max_ver}) +BuildRequires: (php-composer(react/event-loop) >= %{react_event_loop_min_ver} with php-composer(react/event-loop) < %{react_event_loop_max_ver}) +BuildRequires: (php-composer(react/promise) >= %{react_promise_min_ver} with php-composer(react/promise) < %{react_promise_max_ver}) +BuildRequires: (php-composer(react/promise-timer) >= %{react_promise_timer_min_ver} with php-composer(react/promise-timer) < %{react_promise_timer_max_ver}) +BuildRequires: (php-composer(react/stream) >= %{react_stream_min_ver} with php-composer(react/stream) < %{react_stream_max_ver}) +%else BuildRequires: php-composer(clue/block-react) < %{clue_block_react_max_ver} BuildRequires: php-composer(clue/block-react) >= %{clue_block_react_min_ver} BuildRequires: php-composer(evenement/evenement) < %{evenement_max_ver} BuildRequires: php-composer(evenement/evenement) >= %{evenement_min_ver} +BuildRequires: php-composer(react/dns) >= %{react_dns_min_ver} +BuildRequires: php-composer(react/dns) < %{react_dns_max_ver} BuildRequires: php-composer(react/event-loop) < %{react_event_loop_max_ver} BuildRequires: php-composer(react/event-loop) >= %{react_event_loop_min_ver} BuildRequires: php-composer(react/promise) < %{react_promise_max_ver} BuildRequires: php-composer(react/promise) >= %{react_promise_min_ver} +BuildRequires: php-composer(react/promise-timer) >= %{react_promise_timer_min_ver} +BuildRequires: php-composer(react/promise-timer) < %{react_promise_timer_max_ver} BuildRequires: php-composer(react/stream) < %{react_stream_max_ver} BuildRequires: php-composer(react/stream) >= %{react_stream_min_ver} -%if !%{bootstrap} -BuildRequires: php-composer(react/socket-client) < %{react_socket_client_max_ver} -BuildRequires: php-composer(react/socket-client) >= %{react_socket_client_min_ver} %endif -## phpcompatinfo (computed from version 0.4.5) +## phpcompatinfo (computed from version 0.8.12) +BuildRequires: php-filter BuildRequires: php-openssl BuildRequires: php-pcre -BuildRequires: php-reflection BuildRequires: php-spl ## Autoloader BuildRequires: php-composer(fedora/autoloader) @@ -92,15 +99,27 @@ BuildRequires: php-composer(fedora/autoloader) # composer.json Requires: php(language) >= %{php_min_ver} +%if 0%{?fedora} >= 27 || 0%{?rhel} >= 8 +Requires: (php-composer(evenement/evenement) >= %{evenement_min_ver} with php-composer(evenement/evenement) < %{evenement_max_ver}) +Requires: (php-composer(react/dns) >= %{react_dns_min_ver} with php-composer(react/dns) < %{react_dns_max_ver}) +Requires: (php-composer(react/event-loop) >= %{react_event_loop_min_ver} with php-composer(react/event-loop) < %{react_event_loop_max_ver}) +Requires: (php-composer(react/promise) >= %{react_promise_min_ver} with php-composer(react/promise) < %{react_promise_max_ver}) +Requires: (php-composer(react/promise-timer) >= %{react_promise_timer_min_ver} with php-composer(react/promise-timer) < %{react_promise_timer_max_ver}) +Requires: (php-composer(react/stream) >= %{react_stream_min_ver} with php-composer(react/stream) < %{react_stream_max_ver}) +%else Requires: php-composer(evenement/evenement) < %{evenement_max_ver} Requires: php-composer(evenement/evenement) >= %{evenement_min_ver} Requires: php-composer(react/event-loop) < %{react_event_loop_max_ver} Requires: php-composer(react/event-loop) >= %{react_event_loop_min_ver} Requires: php-composer(react/promise) < %{react_promise_max_ver} Requires: php-composer(react/promise) >= %{react_promise_min_ver} +Requires: php-composer(react/promise-timer) >= %{react_promise_timer_min_ver} +Requires: php-composer(react/promise-timer) < %{react_promise_timer_max_ver} Requires: php-composer(react/stream) < %{react_stream_max_ver} Requires: php-composer(react/stream) >= %{react_stream_min_ver} -# phpcompatinfo (computed from version 0.4.5) +%endif +# phpcompatinfo (computed from version 0.8.12) +Requires: php-filter Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) @@ -135,8 +154,10 @@ require_once '%{phpdir}/Fedora/Autoloader/autoload.php'; \Fedora\Autoloader\Dependencies::required(array( '%{phpdir}/Evenement/autoload.php', + '%{phpdir}/React/Dns/autoload.php', '%{phpdir}/React/EventLoop/autoload.php', '%{phpdir}/React/Promise/autoload.php', + '%{phpdir}/React/Promise/Timer/autoload.php', '%{phpdir}/React/Stream/autoload.php', )); AUTOLOAD @@ -158,30 +179,22 @@ require '%{buildroot}%{phpdir}/React/Socket/autoload.php'; \Fedora\Autoloader\Dependencies::required(array( '%{phpdir}/Clue/React/Block/autoload.php', -%if !%{bootstrap} - '%{phpdir}/React/SocketClient/autoload.php', -%endif )); BOOTSTRAP -%if %{bootstrap} -: Skip tests requiring react/socket-client -rm -f \ - tests/FunctionalSecureServerTest.php \ - tests/FunctionalServerTest.php -%endif +: Skip test requiring network access +rm -f tests/IntegrationTest.php : Upstream tests -%{_bindir}/phpunit --verbose --bootstrap bootstrap.php - -: Upstream tests with SCLs if available -SCL_RETURN_CODE=0 -for SCL in %{?rhel:php54 php55} php56 php70 php71; do - if which $SCL; then - $SCL %{_bindir}/phpunit --verbose --bootstrap bootstrap.php || SCL_RETURN_CODE=1 +RETURN_CODE=0 +PHPUNIT=$(which phpunit) +for PHP_EXEC in "" %{?rhel:php54 php55} php70 php71 php72 php73; do + if [ -z "$PHP_EXEC" ] || which $PHP_EXEC; then + $PHP_EXEC $PHPUNIT --verbose --bootstrap bootstrap.php \ + || RETURN_CODE=1 fi done -exit $SCL_RETURN_CODE +exit $RETURN_CODE %else : Tests skipped %endif @@ -196,6 +209,11 @@ exit $SCL_RETURN_CODE %changelog +* Mon Jul 02 2018 Shawn Iwinski <shawn@iwin.ski> - 0.8.12-1 +- Update to 0.8.12 (RHBZ #1422067) +- Add range version dependencies for Fedora >= 27 || RHEL >= 8 +- Add composer.json to repo + * Fri Jan 27 2017 Shawn Iwinski <shawn@iwin.ski> - 0.4.6-1 - Update to 0.4.6 (RHBZ #1416802) |