diff options
Diffstat (limited to 'php-pecl-zendopcache.spec')
-rw-r--r-- | php-pecl-zendopcache.spec | 199 |
1 files changed, 199 insertions, 0 deletions
diff --git a/php-pecl-zendopcache.spec b/php-pecl-zendopcache.spec new file mode 100644 index 0000000..73394a4 --- /dev/null +++ b/php-pecl-zendopcache.spec @@ -0,0 +1,199 @@ +%{!?php_inidir: %{expand: %%global php_inidir %{_sysconfdir}/php.d}} +%{!?__php: %{expand: %%global __php %{_bindir}/php}} +%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} +%global with_zts 0%{?__ztsphp:1} +%global owner zend-dev +%global commit cef6093956bee5446207d5919fc9d30be58aa245 +%global short %(c=%{commit}; echo ${c:0:7}) +%global prever dev +%global proj_name ZendOptimizerPlus +%global pecl_name zendoptimizerplus +%global plug_name opcache + +Name: php-pecl-%{pecl_name} +Version: 7.0.1 +Release: 0.1.git%{short}%{?dist} +Summary: The Zend Optimizer+ + +Group: Development/Libraries +License: PHP +URL: http://pecl.php.net/package/%{proj_name} +%if 0%{?commit:1} +Source0: https://github.com/%{owner}/%{proj_name}/archive/%{commit}/%{proj_name}-%{version}-%{short}.tar.gz +%else +Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz +%endif +# this extension must be loaded before XDebug +# So "opcache" if before "xdebug" +Source1: %{plug_name}.ini + +BuildRequires: php-devel >= 5.2.0 +BuildRequires: php-pear + +Requires(post): %{__pecl} +Requires(postun): %{__pecl} +Requires: php(zend-abi) = %{php_zend_api} +Requires: php(api) = %{php_core_api} + +# Only one opcode cache could be enabled +Conflicts: php-eaccelerator +Conflicts: php-xcache +# APC 3.1.15 offer an option to disable opcache +Conflicts: php-pecl-apc < 3.1.15 +Provides: php-pecl(%{plug_name}) = %{version}%{?prever} +Provides: php-pecl(%{plug_name})%{?_isa} = %{version}%{?prever} +Provides: php-%{plug_name} = %{version}-%{release} +Provides: php-%{plug_name}%{?_isa} = %{version}-%{release} + +# Filter private shared +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} + + +%description +The Zend Optimizer+ provides faster PHP execution through opcode caching and +optimization. It improves PHP performance by storing precompiled script +bytecode in the shared memory. This eliminates the stages of reading code from +the disk and compiling it on future access. In addition, it applies a few +bytecode optimization patterns that make code execution faster. + + +%prep +%setup -q -c +%if 0%{?commit:1} +mv %{proj_name}-%{commit} NTS +sed -e '/release/s/7.0.0/%{version}%{prever}/' \ + NTS/package.xml >package.xml +%else +mv %{pecl_name}-%{version} NTS +%endif + +# Sanity check, really often broken +extver=$(sed -n '/#define ACCELERATOR_VERSION/{s/.* "//;s/".*$//;p}' NTS/ZendAccelerator.h) +if test "x${extver}" != "x%{version}%{?prever:-%{prever}}"; then + : Error: Upstream extension version is ${extver}, expecting %{version}%{?prever:-%{prever}}. + exit 1 +fi + +%if %{with_zts} +# Duplicate source tree for NTS / ZTS build +cp -pr NTS ZTS +%endif + + +%build +cd NTS +%{_bindir}/phpize +%configure \ + --enable-optimizer-plus \ + --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +%if %{with_zts} +cd ../ZTS +%{_bindir}/zts-phpize +%configure \ + --enable-optimizer-plus \ + --with-php-config=%{_bindir}/zts-php-config +make %{?_smp_mflags} +%endif + + +%install +install -D -p -m 644 %{SOURCE1} %{buildroot}%{php_inidir}/%{plug_name}.ini +sed -e 's:@EXTPATH@:%{php_extdir}:' \ + -i %{buildroot}%{php_inidir}/%{plug_name}.ini + +make -C NTS install INSTALL_ROOT=%{buildroot} + +%if %{with_zts} +install -D -p -m 644 %{SOURCE1} %{buildroot}%{php_ztsinidir}/%{plug_name}.ini +sed -e 's:@EXTPATH@:%{php_ztsextdir}:' \ + -i %{buildroot}%{php_ztsinidir}/%{plug_name}.ini + +make -C ZTS install INSTALL_ROOT=%{buildroot} +%endif + +# Install XML package description +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + + +%check +cd NTS +%{__php} \ + -n -d zend_extension=%{buildroot}%{php_extdir}/%{plug_name}.so \ + -m | grep "Zend Optimizer+" + +TEST_PHP_EXECUTABLE=%{__php} \ +TEST_PHP_ARGS="-n -d zend_extension=%{buildroot}%{php_extdir}/%{plug_name}.so" \ +NO_INTERACTION=1 \ +REPORT_EXIT_STATUS=1 \ +%{__php} -n run-tests.php + +%if %{with_zts} +cd ../ZTS +%{__ztsphp} \ + -n -d zend_extension=%{buildroot}%{php_ztsextdir}/%{plug_name}.so \ + -m | grep "Zend Optimizer+" + +TEST_PHP_EXECUTABLE=%{__ztsphp} \ +TEST_PHP_ARGS="-n -d zend_extension=%{buildroot}%{php_ztsextdir}/%{plug_name}.so" \ +NO_INTERACTION=1 \ +REPORT_EXIT_STATUS=1 \ +%{__ztsphp} -n run-tests.php +%endif + + +%post +%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : + + +%postun +if [ $1 -eq 0 ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi + + +%files +%doc NTS/{LICENSE,README} +%config(noreplace) %{php_inidir}/%{plug_name}.ini +%{php_extdir}/%{plug_name}.so + +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/%{plug_name}.ini +%{php_ztsextdir}/%{plug_name}.so +%endif + +%{pecl_xmldir}/%{name}.xml + + +%changelog +* Mon Mar 18 2013 Remi Collet <remi@fedoraproject.org> - 7.0.1-0.1.gitcef6093 +- update to git snapshot, with new name (opcache) + +* Sun Mar 10 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-2 +- allow to install with APC >= 3.1.15 (user data cache) + +* Tue Mar 5 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-1 +- official PECL release, version 7.0.0 (beta) + +* Thu Feb 28 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-0.7.gitd39a49a +- new snapshot +- run test suite during build + +* Thu Feb 21 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-0.6.git3a06991 +- new snapshot + +* Fri Feb 15 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-0.4.git2b6eede +- new snapshot (ZTS fixes) + +* Thu Feb 14 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-0.3.gita84b588 +- make zts build optional + +* Thu Feb 14 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-0.2.gitafb43f5 +- new snapshot +- better default configuration file (new upstream recommendation) +- License file now provided by upstream + +* Wed Feb 13 2013 Remi Collet <remi@fedoraproject.org> - 7.0.0-0.1.gitaafc145 +- initial package |