# 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