210 lines
5.0 KiB
RPMSpec
210 lines
5.0 KiB
RPMSpec
|
# 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: 5%{?dist}
|
||
|
%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
|
||
|
|
||
|
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
|
||
|
|
||
|
%if %{with_libzip}
|
||
|
%patch1 -p1 -b .systemlibzip
|
||
|
# delete bundled libzip to ensure it is not used (except zipint.h)
|
||
|
rm lib/*.c
|
||
|
%endif
|
||
|
|
||
|
# make rpmlint happy (fixed in upstream git)
|
||
|
find . -type f -exec chmod -x {} \;
|
||
|
|
||
|
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
|
||
|
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
|
||
|
|
||
|
|
||
|
%post
|
||
|
%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || :
|
||
|
|
||
|
|
||
|
%postun
|
||
|
if [ $1 -eq 0 ] ; then
|
||
|
%{pecl_uninstall} %{pecl_name} >/dev/null || :
|
||
|
fi
|
||
|
|
||
|
|
||
|
%files
|
||
|
%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
|
||
|
* Thu Aug 22 2013 Remi Collet <rcollet@redhat.com> 1.12.1-5
|
||
|
- really really fix all spurious-executable-perm
|
||
|
|
||
|
* Thu Aug 22 2013 Remi Collet <rcollet@redhat.com> 1.12.1-4
|
||
|
- really fix all spurious-executable-perm
|
||
|
|
||
|
* Thu Aug 22 2013 Remi Collet <rcollet@redhat.com> 1.12.1-3
|
||
|
- fixes from review comments #999313: clarify License
|
||
|
- drop execution right from sources
|
||
|
- BR libzip-devel always needed
|
||
|
|
||
|
* Tue Aug 20 2013 Remi Collet <rcollet@redhat.com> 1.12.1-2
|
||
|
- refresh our merged patches from upstream git
|
||
|
|
||
|
* Thu Aug 08 2013 Remi Collet <rcollet@redhat.com> 1.12.1-1
|
||
|
- New spec for version 1.12.1
|