# For ART-build %define with_atomicscl %{?_with_atomicscl: 1} %{?!_with_atomicscl: 0} %if %{with_atomicscl} %global scl atomic_php70 %define _scl_prefix /opt/atomic %define scl_root /opt/atomic/atomic_php70/root/ #%_scl_root %endif %if 0%{?scl:1} %scl_package php %else %global pkg_name %{name} %global _root_sysconfdir %{_sysconfdir} %global _root_bindir %{_bindir} %global _root_sbindir %{_sbindir} %global _root_includedir %{_includedir} %global _root_libdir %{_libdir} %global _root_prefix %{_prefix} %if 0%{?rhel} < 6 %global _root_initddir /etc %else %global _root_initddir %{_initddir} %endif %endif # spec file for php-pecl-igbinary # # Copyright (c) 2010-2014 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/3.0/ # # Please, preserve the changelog entries # %{!?php_inidir: %global php_inidir %{_sysconfdir}/php.d} %{!?__pecl: %global __pecl %{_bindir}/pecl} %{!?__php: %global __php %{_bindir}/php} %global extname igbinary %global with_zts 0%{?__ztsphp:1} %if "%{php_version}" < "5.6" %global ini_name %{extname}.ini %else %global ini_name 40-%{extname}.ini %endif Summary: Replacement for the standard PHP serializer Name: atomic-php70-php-pecl-igbinary Version: 1.2.1 Release: 7 #Source0: http://pecl.php.net/get/%{extname}-%{version}.tgz Source0: http://pecl.php.net/get/igbinary7.tar.gz License: BSD Group: System Environment/Libraries AutoReq: no URL: http://pecl.php.net/package/igbinary BuildRequires: atomic-php70-php-pear BuildRequires: atomic-php70-php-devel # php-pecl-apcu-devel provides php-pecl-apc-devel BuildRequires: atomic-php70-php-pecl-apcu-devel >= 5.1.4-7 Requires(post): %{__pecl} Requires(postun): %{__pecl} #Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} #Requires: %{?scl_prefix}php(api) = %{php_core_api} Provides: %{?scl_prefix}php-%{extname} = %{version} Provides: %{?scl_prefix}php-%{extname}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{extname}) = %{version} Provides: %{?scl_prefix}php-pecl(%{extname})%{?_isa} = %{version} %if 0%{?fedora} < 20 && 0%{?rhel} < 7 # Filter shared private %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} %{?filter_setup} %endif %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 AutoReq: no %description devel These are the files needed to compile programs using Igbinary %prep %setup -q -c -n igbinary7 #mv %{extname}-%{version} NTS mv igbinary7 NTS cd NTS # Check version #extver=$(sed -n '/#define PHP_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 .. %if %{with_zts} cp -r NTS ZTS %endif cat <<EOF | tee %{ini_name} ; Enable %{extname} extension module extension=%{extname}.so ; Enable or disable compacting of duplicate strings ; The default is On. ;igbinary.compact_strings=On ; Use igbinary as session serializer ;session.serialize_handler=igbinary ; Use igbinary as APC serializer ;apc.serializer=igbinary EOF %build cd NTS #%{_scl_root}%{_bindir}/phpize /opt/atomic/atomic_php70/root/usr/bin/phpize %configure --with-php-config=/opt/atomic/atomic_php70/root/usr/bin/php-config make %{?_smp_mflags} %if %{with_zts} cd ../ZTS /opt/atomic/atomic_php70/root/usr/bin/zts-phpize %configure --with-php-config=/opt/atomic/atomic_php70/root/usr/bin/zts-php-config make %{?_smp_mflags} %endif %install make install -C NTS INSTALL_ROOT=%{buildroot} #install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} # Install the ZTS stuff %if %{with_zts} make install -C ZTS INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # Test & Documentation cd NTS for i in $(grep 'role="test"' ../package2.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 $i %{buildroot}%{pecl_testdir}/%{extname}/tests/$i done for i in $(grep 'role="doc"' ../package2.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{extname}/$i done mkdir -p undefined/igbinary %files #%doc %{pecl_docdir}/%{extname} %config(noreplace) %{php_inidir}/%{ini_name} #%{php_extdir}/%{extname}.so #%{pecl_xmldir}/%{name}.xml /opt/atomic/atomic_php70/root/usr/lib64/php/modules/igbinary.so %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ini_name} %{php_ztsextdir}/%{extname}.so %endif %files devel #%doc %{pecl_testdir}/%{extname} #%{php_incldir}/ext/%{extname} /opt/atomic/atomic_php70/root/usr/include/php/ext/igbinary/ %if %{with_zts} %{php_ztsincldir}/ext/%{extname} %endif %changelog * Fri Aug 29 2014 Remi Collet <remi@fedoraproject.org> - 1.2.1-1 - Update to 1.2.1 * Thu Aug 28 2014 Remi Collet <remi@fedoraproject.org> - 1.2.0-1 - update to 1.2.0 - open https://github.com/igbinary/igbinary/pull/36 * Mon Mar 10 2014 Remi Collet <rcollet@redhat.com> - 1.1.2-0.8.gitc35d48f - cleanups and drop SCL support - install doc in pecl_docdir - install tests in pecl_testdir (devel) * Mon Jul 29 2013 Remi Collet <rcollet@redhat.com> - 1.1.2-0.7.gitc35d48f - adapt for scl * Sat Jul 27 2013 Remi Collet <remi@fedoraproject.org> - 1.1.2-0.6.gitc35d48f - latest snapshot - fix build with APCu - spec cleanups * Fri Mar 22 2013 Remi Collet <rcollet@redhat.com> - 1.1.2-0.5.git3b8ab7e - rebuild for http://fedoraproject.org/wiki/Features/Php55 * Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-0.4.git3b8ab7e - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sat Jul 21 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.2-0.3.git3b8ab7e - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Mon Apr 23 2012 Collet <remi@fedoraproject.org> - 1.1.2-0.2.git3b8ab7e - enable ZTS extension * Fri Jan 20 2012 Collet <remi@fedoraproject.org> - 1.1.2-0.1.git3b8ab7e - update to git snapshot for php 5.4 * Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Sun Sep 18 2011 Remi Collet <rpms@famillecollet.com> 1.1.1-3 - fix EPEL-6 build, no arch version for php-devel * Sat Sep 17 2011 Remi Collet <rpms@famillecollet.com> 1.1.1-2 - clean spec, adapted filters * Mon Mar 14 2011 Remi Collet <rpms@famillecollet.com> 1.1.1-1 - version 1.1.1 published on pecl.php.net - rename to php-pecl-igbinary * Mon Jan 17 2011 Remi Collet <rpms@famillecollet.com> 1.1.1-1 - update to 1.1.1 * Fri Dec 31 2010 Remi Collet <rpms@famillecollet.com> 1.0.2-3 - updated tests from Git. * Sat Oct 23 2010 Remi Collet <rpms@famillecollet.com> 1.0.2-2 - filter provides to avoid igbinary.so - add missing %%dist * Wed Sep 29 2010 Remi Collet <rpms@famillecollet.com> 1.0.2-1 - initital RPM