%{!?phpname: %{expand: %%global phpname php}} %{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} %{!?php_extdir: %{expand: %%global php_extdir %(%{phpbindir}/php-config --extension-dir 2>/dev/null || echo %{_libdir}/php/modules)}} %global extname igbinary %global gitver 3b8ab7e %global prever -dev Summary: Replacement for the standard PHP serializer Name: %{phpname}-pecl-igbinary Version: 1.1.2 %if 0%{?gitver:1} Release: 0.2.git%{gitver}%{?dist} Source0: igbinary-igbinary-1.1.1-15-g3b8ab7e.tar.gz %else Release: 2%{?dist} Source0: http://pecl.php.net/get/%{extname}-%{version}.tgz # http://pecl.php.net/bugs/22598 Source1: %{extname}-tests.tgz %endif # http://pecl.php.net/bugs/22599 License: BSD Group: System Environment/Libraries URL: http://pecl.php.net/package/igbinary # https://bugs.php.net/60298 Patch0: igbinary-php54.patch BuildRoot: %{_tmppath}/%{name}-%{version}-root-%(%{__id_u} -n) BuildRequires: %{phpname}-pecl-apc-devel >= 3.1.7 BuildRequires: %{phpname}-pear BuildRequires: %{phpname}-devel >= 5.2.0 Requires(post): %{__pecl} Requires(postun): %{__pecl} Requires: %{phpname}(zend-abi) = %{php_zend_api} Requires: %{phpname}(api) = %{php_core_api} Obsoletes: %{phpname}-%{extname} <= 1.1.1 Provides: %{phpname}-%{extname} = %{version}-%{release} Provides: %{phpname}-%{extname}%{?_isa} = %{version}-%{release} Provides: %{phpname}-pecl(%{extname}) = %{version} # RPM 4.8 %{?filter_provides_in: %filter_provides_in %{php_extdir}/.*\.so$} %{?filter_provides_in: %filter_provides_in %{php_ztsextdir}/.*\.so$} %{?filter_setup} # RPM 4.9 %global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{php_extdir}/.*\\.so$ %global __provides_exclude_from %__provides_exclude_from|%{php_ztsextdir}/.*\\.so$ %description Igbinary is a drop in replacement for the standard PHP serializer. Instead of time and space consuming textual representation, igbinary stores PHP data structures in a compact binary form. Savings are significant when using memcached or similar memory based storages for serialized data. %package devel Summary: Igbinary developer files (header) Group: Development/Libraries Requires: %{phpname}-pecl-%{extname}%{?_isa} = %{version}-%{release} Requires: %{phpname}-devel%{?_isa} Obsoletes: %{phpname}-%{extname}-devel <= 1.1.1 Provides: %{phpname}-%{extname}-devel = %{version}-%{release} Provides: %{phpname}-%{extname}-devel%{?_isa} = %{version}-%{release} %description devel These are the files needed to compile programs using Igbinary %prep %setup -q -c %if 0%{?gitver:1} mv igbinary-igbinary-%{gitver}/package.xml . mv igbinary-igbinary-%{gitver} %{extname}-%{version} cd %{extname}-%{version} %patch0 -p0 -b .php54 %else cd %{extname}-%{version} tar xzf %{SOURCE1} %endif extver=$(sed -n '/#define IGBINARY_VERSION/{s/.* "//;s/".*$//;p}' igbinary.h) if test "x${extver}" != "x%{version}%{?prever}"; then : Error: Upstream version is ${extver}, expecting %{version}%{?prever}. exit 1 fi cd .. cp -r %{extname}-%{version} %{extname}-%{version}-zts cat >%{extname}.ini </dev/null || : %postun if [ $1 -eq 0 ] ; then %{pecl_uninstall} %{extname} >/dev/null || : fi %files %defattr(-,root,root,-) %doc %{extname}-%{version}/COPYING %doc %{extname}-%{version}/CREDITS %doc %{extname}-%{version}/ChangeLog %doc %{extname}-%{version}/NEWS %doc %{extname}-%{version}/README %config(noreplace) %{php_inidir}/%{extname}.ini %config(noreplace) %{php_ztsinidir}/%{extname}.ini %{php_extdir}/%{extname}.so %{php_ztsextdir}/%{extname}.so %{pecl_xmldir}/%{name}.xml %files devel %defattr(-,root,root,-) %{php_incldir}/ext/%{extname} %{php_ztsincldir}/ext/%{extname} %changelog * Sat Mar 03 2012 Remi Collet - 1.1.2-0.2.git3b8ab7e - macro usage for latest PHP * Mon Nov 14 2011 Remi Collet - 1.1.2-0.1.git3b8ab7e - latest git against php 5.4 - partial patch for https://bugs.php.net/60298 - ignore test result because of above bug * Sat Sep 17 2011 Remi Collet 1.1.1-2 - use latest macro - build zts extension * Mon Mar 14 2011 Remi Collet 1.1.1-1 - version 1.1.1 published on pecl.php.net - rename to php-pecl-igbinary * Mon Jan 17 2011 Remi Collet 1.1.1-2 - allow relocation using phpname macro * Mon Jan 17 2011 Remi Collet 1.1.1-1 - update to 1.1.1 * Fri Dec 31 2010 Remi Collet 1.0.2-3 - updated tests from Git. * Sat Oct 23 2010 Remi Collet 1.0.2-2 - filter provides to avoid igbinary.so - add missing %%dist * Wed Sep 29 2010 Remi Collet 1.0.2-1 - initital RPM