From 67334aa9c08df0510e0a9d961a00fa95a0006fcd Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Wed, 23 Oct 2013 07:36:17 +0200 Subject: php-pecl-zip: switch to remi's spec --- php-pecl-zip.spec | 207 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 207 insertions(+) create mode 100644 php-pecl-zip.spec (limited to 'php-pecl-zip.spec') diff --git a/php-pecl-zip.spec b/php-pecl-zip.spec new file mode 100644 index 0000000..19d7ef2 --- /dev/null +++ b/php-pecl-zip.spec @@ -0,0 +1,207 @@ +# spec file for php-pecl-zip +# +# Copyright (c) 2013 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/3.0/ +# +# Please, preserve the changelog entries +# +%global pecl_name zip +%if 0%{?fedora} >= 20 +%global with_libzip 1 +%else +%global with_libzip 0 +%endif +%global with_zts 0%{?__ztsphp:1} + +Summary: A ZIP archive management extension +Summary(fr): Une extension de gestion des ZIP +Name: php-pecl-zip +Version: 1.12.1 +Release: 2%{?dist}.1 +%if %{with_libzip} +License: PHP +%else +# Zip extension is PHP, Libzip library is BSD +License: PHP and BSD +%endif +Group: Development/Languages +URL: http://pecl.php.net/package/zip + +Source: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz + +# https://github.com/pierrejoye/php_zip/pull/3 (merged) +# Cleanups and fix build warnings +Patch0: zip-git.patch +# use system libzip 0.11 instead of bundled copy +Patch1: zip-systemlibzip.patch + +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires: php-devel +%if %{with_libzip} +BuildRequires: pkgconfig(libzip) >= 0.11.1 +%endif +BuildRequires: zlib-devel +BuildRequires: php-pear + +Requires(post): %{_bindir}/pecl +Requires(postun): %{_bindir}/pecl +Requires: php(zend-abi) = %{php_zend_api} +Requires: php(api) = %{php_core_api} + +Provides: php-pecl(%{pecl_name}) = %{version} +Provides: php-pecl(%{pecl_name})%{?_isa} = %{version} +Provides: php-%{pecl_name} = %{version}-%{release} +Provides: php-%{pecl_name}%{?_isa} = %{version}-%{release} + +# Filter private shared +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} + + +%description +Zip is an extension to create and read zip files. + +%description -l fr +Zip est une extension pour créer et lire les archives au format ZIP. + + +%prep +%setup -c -q + +cd %{pecl_name}-%{version} + +%patch0 -p1 -b .git +rm -f LICENSE.git + +%if %{with_libzip} +%patch1 -p1 -b .systemlibzip +# delete bundled libzip to ensure it is not used (except zipint.h) +rm lib/*.c +%endif + +cd .. +: Create the configuration file +cat >%{pecl_name}.ini << 'EOF' +; Enable ZIP extension module +extension=%{pecl_name}.so +EOF + +%if %{with_zts} +: Duplicate sources tree for ZTS build +cp -pr %{pecl_name}-%{version} %{pecl_name}-zts +%endif + + +%build +export PHP_RPATH=no + +cd %{pecl_name}-%{version} +%{_bindir}/phpize +%configure \ +%if %{with_libzip} + --with-libzip \ +%endif + --with-php-config=%{_bindir}/php-config + +make %{?_smp_mflags} + +%if %{with_zts} +cd ../%{pecl_name}-zts +%{_bindir}/zts-phpize +%configure \ +%if %{with_libzip} + --with-libzip \ +%endif + --with-php-config=%{_bindir}/zts-php-config + +make %{?_smp_mflags} +%endif + + +%install +rm -rf %{buildroot} + +make -C %{pecl_name}-%{version} install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_inidir}/%{pecl_name}.ini + +# Install XML package description +install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml + +%if %{with_zts} +make -C %{pecl_name}-zts install INSTALL_ROOT=%{buildroot} +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini +%endif + + +%check +cd %{pecl_name}-%{version} +: minimal load test of NTS extension +%{_bindir}/php --no-php-ini \ + --define extension_dir=modules \ + --define extension=%{pecl_name}.so \ + --modules | grep %{pecl_name} + +: upstream test suite for NTS extension +TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \ +REPORT_EXIT_STATUS=1 \ +NO_INTERACTION=1 \ +TEST_PHP_EXECUTABLE=%{_bindir}/php \ +%{_bindir}/php \ + run-tests.php + +%if %{with_zts} +cd ../%{pecl_name}-zts +: minimal load test of ZTS extension +%{_bindir}/zts-php --no-php-ini \ + --define extension_dir=modules \ + --define extension=%{pecl_name}.so \ + --modules | grep %{pecl_name} + +: upstream test suite for ZTS extension +TEST_PHP_ARGS="-n -d extension_dir=$PWD/modules -d extension=%{pecl_name}.so" \ +REPORT_EXIT_STATUS=1 \ +NO_INTERACTION=1 \ +TEST_PHP_EXECUTABLE=%{_bindir}/zts-php \ +%{_bindir}/php \ + run-tests.php +%endif + + +%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} +%doc %{pecl_name}-%{version}/examples +%{pecl_xmldir}/%{name}.xml +%config(noreplace) %{php_inidir}/%{pecl_name}.ini +%{php_extdir}/%{pecl_name}.so + +%if %{with_zts} +%config(noreplace) %{php_ztsinidir}/%{pecl_name}.ini +%{php_ztsextdir}/%{pecl_name}.so +%endif + + +%changelog +* Tue Aug 20 2013 Remi Collet 1.12.1-2.1 +- backport stuff + +* Tue Aug 20 2013 Remi Collet 1.12.1-2 +- refresh our merged patches from upstream git + +* Thu Aug 08 2013 Remi Collet 1.12.1-1 +- New spec for version 1.12.1 -- cgit