# # Fedora spec file for php-react-stream # # Copyright (c) 2017 Shawn Iwinski # # License: MIT # http://opensource.org/licenses/MIT # # Please preserve changelog entries # %global github_owner reactphp %global github_name stream %global github_version 0.4.5 %global github_commit 23389503012e1ab721ad498a5a1f4b39f7a43c00 %global composer_vendor react %global composer_project stream # "php": ">=5.3.8" %global php_min_ver 5.3.8 # "clue/stream-filter": "~1.2" %global clue_stream_filter_min_ver 1.2 %global clue_stream_filter_max_ver 2.0 # "evenement/evenement": "^2.0|^1.0" %global evenement_min_ver 1.0 %global evenement_max_ver 3.0 # "react/event-loop": "^0.4" (suggest) # "react/event-loop": "^0.4|^0.3" (require-dev) %global react_event_loop_min_ver 0.4 %global react_event_loop_max_ver 1.0 # "react/promise": "^2.0" (suggest) # "react/promise": "^2.0|^1.0" (require-dev) %global react_promise_min_ver 2.0 %global react_promise_max_ver 3.0 # Build using "--without tests" to disable tests %global with_tests 0%{!?_without_tests:1} %{!?phpdir: %global phpdir %{_datadir}/php} Name: php-%{composer_vendor}-%{composer_project} Version: %{github_version} Release: 1%{?github_release}%{?dist} Summary: Basic readable and writable stream interfaces that support piping 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 BuildArch: noarch # Tests %if %{with_tests} ## composer.json BuildRequires: php(language) >= %{php_min_ver} BuildRequires: php-composer(phpunit/phpunit) BuildRequires: php-composer(clue/stream-filter) < %{clue_stream_filter_max_ver} BuildRequires: php-composer(clue/stream-filter) >= %{clue_stream_filter_min_ver} BuildRequires: php-composer(evenement/evenement) < %{evenement_max_ver} BuildRequires: php-composer(evenement/evenement) >= %{evenement_min_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} ## phpcompatinfo (computed from version 0.4.5) BuildRequires: php-spl ## Autoloader BuildRequires: php-composer(fedora/autoloader) %endif # composer.json Requires: php(language) >= %{php_min_ver} Requires: php-composer(evenement/evenement) < %{evenement_max_ver} Requires: php-composer(evenement/evenement) >= %{evenement_min_ver} # phpcompatinfo (computed from version 0.4.5) Requires: php-spl # Autoloader Requires: php-composer(fedora/autoloader) # Weak dependencies %if 0%{?fedora} >= 21 Suggests: php-composer(react/event-loop) Suggests: php-composer(react/promise) %endif # Composer Provides: php-composer(%{composer_vendor}/%{composer_project}) = %{version} %description Basic readable and writable stream interfaces that support piping. In order to make the event loop easier to use, this component introduces the concept of streams. They are very similar to the streams found in PHP itself, but have an interface more suited for async I/O. Mainly it provides interfaces for readable and writable streams, plus a file descriptor based implementation with an in-memory write buffer. This component depends on événement, which is an implementation of the EventEmitter. Autoloader: %{phpdir}/React/Stream/autoload.php %prep %setup -qn %{github_name}-%{github_commit} %build : Create autoloader cat <<'AUTOLOAD' | tee src/autoload.php - 0.4.5-1 - Initial package