diff options
Diffstat (limited to 'php-pecl-yaml.spec')
-rw-r--r-- | php-pecl-yaml.spec | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/php-pecl-yaml.spec b/php-pecl-yaml.spec new file mode 100644 index 0000000..0b7fa38 --- /dev/null +++ b/php-pecl-yaml.spec @@ -0,0 +1,177 @@ +%{!?__pecl: %{expand: %%global __pecl %{_bindir}/pecl}} + +%global pecl_name yaml + +Summary: PHP Bindings for yaml +Name: php-pecl-yaml +Version: 1.1.0 +Release: 2%{?dist} +License: MIT +Group: Development/Languages +URL: http://pecl.php.net/package/yaml + +Source: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: php-devel >= 5.2.0 +BuildRequires: php-pear +BuildRequires: libyaml-devel + +Requires(post): %{__pecl} +Requires(postun): %{__pecl} +Provides: php-pecl(%{pecl_name}) = %{version} +Requires: php(zend-abi) = %{php_zend_api} +Requires: php(api) = %{php_core_api} + +# RPM 4.8 +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} +# RPM 4.9 +%global __provides_exclude_from %{?__provides_exclude_from:%__provides_exclude_from|}%{_libdir}/.*\\.so$ + + +%description +Support for YAML 1.1 (YAML Ain't Markup Language) serialization using the +LibYAML library. + + +%prep +%setup -c -q + +# https://bugs.php.net/bug.php?id=61789 +sed -i -e '/PHP_YAML_MODULE_VERSION/s/1.1.0-dev/%{version}/' %{pecl_name}-%{version}/php_yaml.h + +# Check upstream version (often broken) +extver=$(sed -n '/#define PHP_YAML_MODULE_VERSION/{s/.* "//;s/".*$//;p}' %{pecl_name}-%{version}/php_yaml.h) +if test "x${extver}" != "x%{version}"; then + : Error: Upstream version is ${extver}, expecting %{version}. + exit 1 +fi + +cat > %{pecl_name}.ini << 'EOF' +; Enable %{pecl_name} extension module +extension=%{pecl_name}.so + +; %{pecl_name} extension configuration +; see http://www.php.net/manual/en/yaml.configuration.php + +; Decode entities which have the explicit tag "tag:yaml.org,2002:binary" +yaml.decode_binary = 0 + +; Controls the decoding of "tag:yaml.org,2002:timestamp" +; 0 will not apply any decoding, 1 will use strtotime() 2 will use date_create(). +yaml.decode_timestamp = 0 + +; Cause canonical form output. +yaml.output_canonical = 0 + +; Number of spaces to indent sections. Value should be between 1 and 10. +yaml.output_indent = 2 + +; Set the preferred line width. -1 means unlimited. +yaml.output_width = 80 +EOF + +cp -pr %{pecl_name}-%{version} %{pecl_name}-%{version}-zts + + +%build +cd %{pecl_name}-%{version} +phpize +%configure --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +cd ../%{pecl_name}-%{version}-zts +zts-phpize +%configure --with-php-config=%{_bindir}/zts-php-config +make %{?_smp_mflags} + + +%install +make -C %{pecl_name}-%{version} \ + install INSTALL_ROOT=%{buildroot} + +make -C %{pecl_name}-%{version}-zts \ + 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 +install -Dpm644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini + + +%check +cd %{pecl_name}-%{version} +php --no-php-ini \ + --define extension_dir=modules \ + --define extension=%{pecl_name}.so \ + --modules | grep %{pecl_name} + +make test NO_INTERACTION=1 | tee rpmtests.log + +if grep -q "FAILED TEST" rpmtests.log; then + for t in tests/*diff; do + echo "*** FAILED: $(basename $t .diff)" + diff -u tests/$(basename $t .diff).exp tests/$(basename $t .diff).out || : + done + exit 1 +fi + +cd ../%{pecl_name}-%{version}-zts +zts-php --no-php-ini \ + --define extension_dir=modules \ + --define extension=%{pecl_name}.so \ + --modules | grep %{pecl_name} + + +%clean +rm -rf %{buildroot} + + +%post +%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : + + +%postun +if [ $1 -eq 0 ] ; then + %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi + + +%files +%defattr(-, root, root, -) +%doc %{pecl_name}-%{version}/{CREDITS,LICENSE} +%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 + + +%changelog +* Fri Apr 20 2012 Remi Collet <RPMS@FamilleCollet.com> - 1.1.0-2 +- update to 1.0.1 for php 5.4 + +* Fri Apr 20 2012 Remi Collet <RPMS@FamilleCollet.com> - 1.1.0-1 +- update to 1.0.1 for php 5.3 + +* Fri Apr 20 2012 Theodore Lee <theo148@gmail.com> - 1.1.0-1 +- Update to upstream 1.1.0 release +- Drop upstreamed cflags patch + +* Sun Nov 13 2011 Remi Collet <remi@fedoraproject.org> - 1.0.1-5 +- build against php 5.4 + +* Wed Oct 05 2011 Remi Collet <Fedora@FamilleCollet.com> - 1.0.1-4 +- ZTS extension +- spec cleanups + +* Fri May 06 2011 Remi Collet <RPMS@FamilleCollet.com> - 1.0.1-2 +- clean spec +- fix requirment, license, tests... + +* Wed May 05 2011 Thomas Morse <tmorse@empowercampaigns.com> 1.0.1-1 +- Version 1.0.1 +- initial RPM |