# spec file for php-pecl-trader # # Copyright (c) 2015-2023 Remi Collet # License: CC-BY-SA-4.0 # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %{?scl:%scl_package php-pecl-trader} %bcond_without tests #### TODO : bundle ta-lib %global with_zts 0%{!?_without_zts:%{?__ztsphp:1}} %global pecl_name trader %global ini_name 40-%{pecl_name}.ini %global sources %{pecl_name}-%{version} %global _configure ../%{sources}/configure Summary: Technical Analysis for traders Name: %{?scl_prefix}php-pecl-%{pecl_name} Version: 0.5.1 Release: 2%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}} # PHP ext is BSD-2, ta-lib is BSD-3 License: BSD-2-Clause AND BSD-3-Clause URL: https://pecl.php.net/package/%{pecl_name} Source0: https://pecl.php.net/get/%{sources}.tgz Patch0: %{pecl_name}-tests.patch BuildRequires: make BuildRequires: %{?dtsprefix}gcc BuildRequires: %{?scl_prefix}php-devel >= 7.0 BuildRequires: %{?scl_prefix}php-pear Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} Provides: %{?scl_prefix}php-%{pecl_name} = %{version} 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} %description The trader extension is a free open source stock library based on TA-Lib. It's dedicated to trading software developers requiring to perform technical analysis of financial market data. Alongside many indicators like ADX, MACD, RSI, Stochastic, TRIX the candlestick pattern recognition and several vector arithmetic and algebraic functions are present. Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. %prep %setup -q -c # Don't install tests sed -e 's/role="test"/role="src"/' \ %{?_licensedir:-e '/LICENSE/s/role="doc"/role="src"/' } \ -i package.xml cd %{sources} %patch -P0 -p3 # Sanity check, really often broken extver=$(sed -n '/#define PHP_TRADER_VERSION/{s/.* "//;s/".*$//;p}' php_trader.h) if test "x${extver}" != "x%{version}"; then : Error: Upstream extension version is ${extver}, expecting %{version}. exit 1 fi cd .. mkdir NTS %if %{with_zts} mkdir ZTS %endif # Create configuration file cat > %{ini_name} << 'EOF' ; Enable %{pecl_name} extension module extension=%{pecl_name}.so EOF %build %{?dtsenable} cd %{sources} %{__phpize} cd ../NTS %configure \ --enable-gender \ --with-php-config=%{__phpconfig} make %{?_smp_mflags} %if %{with_zts} cd ../ZTS %configure \ --enable-gender \ --with-php-config=%{__ztsphpconfig} make %{?_smp_mflags} %endif %install %{?dtsenable} make -C NTS install INSTALL_ROOT=%{buildroot} # install config file install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} # Install XML package description install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml %if %{with_zts} make -C ZTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # Documentation for i in $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 %{sources}/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %if 0%{?fedora} < 24 && 0%{?rhel} < 8 # when pear installed alone, after us %triggerin -- %{?scl_prefix}php-pear if [ -x %{__pecl} ] ; then %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : fi # posttrans as pear can be installed after us %posttrans if [ -x %{__pecl} ] ; then %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : fi %postun if [ $1 -eq 0 -a -x %{__pecl} ] ; then %{pecl_uninstall} %{pecl_name} >/dev/null || : fi %endif %check cd %{sources} : Minimal load test for NTS extension %{__php} --no-php-ini \ --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \ --modules | grep '^%{pecl_name}$' %if %{with tests} : Upstream test suite for NTS extension TEST_PHP_EXECUTABLE=%{__php} \ TEST_PHP_ARGS="-n -d extension=$PWD/../NTS/modules/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ %{__php} -n run-tests.php -q --show-diff %endif %if %{with_zts} : Minimal load test for ZTS extension %{__ztsphp} --no-php-ini \ --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \ --modules | grep %{pecl_name} %if %{with tests} : Upstream test suite for ZTS extension TEST_PHP_EXECUTABLE=%{__ztsphp} \ TEST_PHP_ARGS="-n -d extension=$PWD/../ZTS/modules/%{pecl_name}.so" \ REPORT_EXIT_STATUS=1 \ %{__ztsphp} -n run-tests.php -q --show-diff %endif %endif %files %doc %{pecl_docdir}/%{pecl_name} %{?_licensedir:%license %{sources}/LICENSE} %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ini_name} %{php_ztsextdir}/%{pecl_name}.so %endif %changelog * Mon Sep 4 2023 Remi Collet - 0.5.1-2 - build out of sources tree * Mon Jan 18 2021 Remi Collet - 0.5.1-1 - update to 0.5.1 * Tue Sep 03 2019 Remi Collet - 0.5.0-5 - rebuild for 7.4.0RC1 * Tue Jul 23 2019 Remi Collet - 0.5.0-4 - rebuild for 7.4.0beta1 * Thu Aug 16 2018 Remi Collet - 0.5.0-3 - rebuild for 7.3.0beta2 new ABI * Wed Jul 18 2018 Remi Collet - 0.5.0-2 - rebuild for 7.3.0alpha4 new ABI * Sun Jul 1 2018 Remi Collet - 0.5.0-1 - update to 0.5.0 * Mon Feb 12 2018 Remi Collet - 0.4.1-1 - Update to 0.4.1 * Tue Jul 18 2017 Remi Collet - 0.4.0-6 - rebuild for PHP 7.2.0beta1 new API * Thu Dec 1 2016 Remi Collet - 0.4.0-5 - rebuild with PHP 7.1.0 GA * Wed Sep 14 2016 Remi Collet - 0.4.0-4 - rebuild for PHP 7.1 new API version * Sun Mar 6 2016 Remi Collet - 0.4.0-3 - adapt for F24 * Tue Nov 17 2015 Remi Collet - 0.4.0-2 - cleanup and build for PHP 7 * Mon Feb 16 2015 Remi Collet - 0.4.0-1 - initial package, version 0.4.0 (stable)