diff options
| -rw-r--r-- | php-pecl-gearman.spec | 134 | 
1 files changed, 89 insertions, 45 deletions
| diff --git a/php-pecl-gearman.spec b/php-pecl-gearman.spec index 3c574ec..9e7e298 100644 --- a/php-pecl-gearman.spec +++ b/php-pecl-gearman.spec @@ -1,6 +1,19 @@ -%{!?__pecl:	%{expand: %%global __pecl	%{_bindir}/pecl}} +# spec file for php-pecl-gearman +# +# Copyright (c) 2011-2014 Remi Collet +# Copyright (c) 2011 Paul Whalen +# +# License: MIT +# http://opensource.org/licenses/MIT +# +# Please, preserve the changelog entries +# +%{!?php_inidir:  %global php_inidir   %{_sysconfdir}/php.d} +%{!?__pecl:      %global __pecl       %{_bindir}/pecl} +%{!?__php:       %global __php        %{_bindir}/php}  %global pecl_name gearman +%global with_zts  0%{?__ztsphp:1}  %if 0%{?fedora} >= 12 && 0%{?fedora} <= 15  %global extver 0.8.3 @@ -16,56 +29,66 @@  %endif -Name:		php-pecl-gearman -Version:	%{extver} -Release:	1%{?dist}.1 -Summary:	PHP wrapper to libgearman +Name:           php-pecl-gearman +Version:        %{extver} +Release:        2%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} +Summary:        PHP wrapper to libgearman -Group:		Development/Tools -License:	PHP -URL:		http://gearman.org -Source0:	http://pecl.php.net/get/%{pecl_name}-%{version}.tgz +Group:          Development/Tools +License:        PHP +URL:            http://gearman.org +Source0:        http://pecl.php.net/get/%{pecl_name}-%{version}.tgz -BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -BuildRequires:	libgearman-devel > %{libver} -BuildRequires:	php-devel -BuildRequires:	php-pear +BuildRequires:  libgearman-devel > %{libver} +BuildRequires:  php-devel +BuildRequires:  php-pear  # Required by phpize -BuildRequires:	autoconf, automake, libtool +BuildRequires:  autoconf, automake, libtool -Requires:	php(zend-abi) = %{php_zend_api} -Requires:	php(api) = %{php_core_api} -Requires(post):	%{__pecl} +Requires:       php(zend-abi) = %{php_zend_api} +Requires:       php(api) = %{php_core_api} +Requires(post): %{__pecl}  Requires(postun): %{__pecl} -Provides:     php-%{pecl_name} = %{version} -Provides:     php-%{pecl_name}%{?_isa} = %{version} -Provides:     php-pecl(%{pecl_name}) = %{version} -Provides:     php-pecl(%{pecl_name})%{?_isa} = %{version} +Provides:       php-%{pecl_name} = %{version} +Provides:       php-%{pecl_name}%{?_isa} = %{version} +Provides:       php-pecl(%{pecl_name}) = %{version} +Provides:       php-pecl(%{pecl_name})%{?_isa} = %{version}  # Other third party repo stuff -Obsoletes:    php53-pecl-%{pecl_name} -Obsoletes:    php53u-pecl-%{pecl_name} -Obsoletes:    php54-pecl-%{pecl_name} +Obsoletes:      php53-pecl-%{pecl_name} +Obsoletes:      php53u-pecl-%{pecl_name} +%if "%{php_version}" > "5.4" +Obsoletes:      php54-pecl-%{pecl_name} +%endif  %if "%{php_version}" > "5.5" -Obsoletes:    php55u-pecl-%{pecl_name} +Obsoletes:      php55u-pecl-%{pecl_name} +%endif +%if "%{php_version}" > "5.6" +Obsoletes:      php56u-pecl-%{pecl_name}  %endif -# Filter private shared +%if 0%{?fedora} < 20 +# Filter shared private  %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$}  %{?filter_setup} +%endif  %description  This extension uses libgearman library to provide API for  communicating with gearmand, and writing clients and workers +Documentation: http://php.net/gearman +  %prep  %setup -q -c +mv %{pecl_name}-%{version} NTS -extver=$(sed -n '/#define PHP_GEARMAN_VERSION/{s/.* "//;s/".*$//;p}' %{pecl_name}-%{version}/php_gearman.h) +extver=$(sed -n '/#define PHP_GEARMAN_VERSION/{s/.* "//;s/".*$//;p}' NTS/php_gearman.h)  if test "x${extver}" != "x%{version}"; then     : Error: Upstream version is ${extver}, expecting %{version}.     exit 1 @@ -76,51 +99,64 @@ cat >%{pecl_name}.ini <<EOF  extension=%{pecl_name}.so  EOF -find %{pecl_name}-%{version} -type f -exec chmod -x {} \; -cp -pr %{pecl_name}-%{version} %{pecl_name}-%{version}-zts +find NTS -type f -exec chmod -x {} \; + +%if %{with_zts} +cp -pr NTS ZTS +%endif  %build -cd %{pecl_name}-%{version} +cd NTS  %{_bindir}/phpize  %configure  --with-php-config=%{_bindir}/php-config  make %{?_smp_mflags} -cd ../%{pecl_name}-%{version}-zts +%if %{with_zts} +cd ../ZTS  %{_bindir}/zts-phpize  %configure  --with-php-config=%{_bindir}/zts-php-config  make %{?_smp_mflags} +%endif  %install  rm -rf %{buildroot} -make -C %{pecl_name}-%{version} \ -     install INSTALL_ROOT=%{buildroot} - -make -C %{pecl_name}-%{version}-zts \ -     install INSTALL_ROOT=%{buildroot} +make -C NTS install INSTALL_ROOT=%{buildroot}  # Install XML package description  install -Dpm 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml  # install config file  install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_inidir}/%{pecl_name}.ini + +%if %{with_zts} +make -C ZTS install INSTALL_ROOT=%{buildroot}  install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini +%endif +# Test & Documentation +for i in $(grep 'role="test"' package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 NTS/$i %{buildroot}%{pecl_testdir}/%{pecl_name}/$i +done +for i in LICENSE $(grep 'role="doc"' package.xml | sed -e 's/^.*name="//;s/".*$//') +do install -Dpm 644 NTS/$i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i +done -%check -# simple module load test +%check +: Minimal load test for NTS extension  %{__php} --no-php-ini \ -    --define extension_dir=%{pecl_name}-%{version}/modules \ -    --define extension=%{pecl_name}.so \ +    --define extension=%{buildroot}%{php_extdir}/%{pecl_name}.so \      --modules | grep %{pecl_name} +%if %{with_zts} +: Minimal load test for ZTS extension  %{__ztsphp} --no-php-ini \ -    --define extension_dir=%{pecl_name}-%{version}-zts/modules \ -    --define extension=%{pecl_name}.so \ +    --define extension=%{buildroot}%{php_ztsextdir}/%{pecl_name}.so \      --modules | grep %{pecl_name} +%endif  %clean @@ -139,15 +175,23 @@ fi  %files  %defattr(-,root,root,-) -%doc %{pecl_name}-%{version}/{ChangeLog,README,CREDITS,LICENSE} +%doc %{pecl_docdir}/%{pecl_name} +%doc %{pecl_testdir}/%{pecl_name}  %config(noreplace) %{php_inidir}/%{pecl_name}.ini -%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini  %{php_extdir}/%{pecl_name}.so -%{php_ztsextdir}/%{pecl_name}.so  %{pecl_xmldir}/%{name}.xml +%if %{with_zts} +%{php_ztsextdir}/%{pecl_name}.so +%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini +%endif  %changelog +* Mon Mar  3 2014 Remi Collet <remi@fedoraproject.org> - 1.1.2-2 +- cleanups +- install documentation in pecl_docdir +- install tests in pecl_testdir +  * Thu Aug 29 2013 Remi Collet <remi@fedoraproject.org> - 1.1.2-1  - update to 1.1.2 | 
