summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore8
-rw-r--r--composer.json18
-rw-r--r--php-react-socket.spec118
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)