# remirepo spec file for php-pecl-xslcache # # Copyright (c) 2013-2019 Remi Collet # License: CC-BY-SA # http://creativecommons.org/licenses/by-sa/4.0/ # # Please, preserve the changelog entries # %{?scl: %scl_package php-pecl-xslcache} %global with_zts 0%{?__ztsphp:1} %global pecl_name xslcache %if "%{php_version}" < "5.6" # After dom %global ini_name %{pecl_name}.ini %else # After 20-dom %global ini_name 40-%{pecl_name}.ini %endif Summary: XSL extension that caches the parsed XSL style sheet Name: %{?scl_prefix}php-pecl-%{pecl_name} Version: 0.7.2 Release: 7%{?dist}%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')} License: PHP URL: http://pecl.php.net/package/%{pecl_name} Source0: http://pecl.php.net/get/%{pecl_name}-%{version}.tgz # https://bugs.php.net/65851 Please Provides LICENSE file # Link from the headers Source1: http://www.php.net/license/3_01.txt BuildRequires: gcc BuildRequires: %{?scl_prefix}php-devel BuildRequires: %{?scl_prefix}php-pear BuildRequires: %{?scl_prefix}php-dom BuildRequires: libattr-devel BuildRequires: libxslt-devel Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api} Requires: %{?scl_prefix}php(api) = %{php_core_api} Requires: %{?scl_prefix}php-dom%{?_isa} %{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}} Provides: %{?scl_prefix}php-%{pecl_name} = %{version} Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version} Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version} Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release} Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release} %if "%{?vendor}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} # Other third party repo stuff Obsoletes: php53-pecl-%{pecl_name} <= %{version} Obsoletes: php53u-pecl-%{pecl_name} <= %{version} Obsoletes: php54-pecl-%{pecl_name} <= %{version} Obsoletes: php54w-pecl-%{pecl_name} <= %{version} %if "%{php_version}" > "5.5" Obsoletes: php55u-pecl-%{pecl_name} <= %{version} Obsoletes: php55w-pecl-%{pecl_name} <= %{version} %endif %if "%{php_version}" > "5.6" Obsoletes: php56u-pecl-%{pecl_name} <= %{version} Obsoletes: php56w-pecl-%{pecl_name} <= %{version} %endif %endif %if 0%{?fedora} < 20 && 0%{?rhel} < 7 # Filter private shared object %{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} %{?filter_setup} %endif %description The XSL Cache extension is a modification of PHP's standard XSL extension that caches the parsed XSL style sheet representation between sessions for 2.5x boost in performance for sites that repeatedly apply the same transform. Although there is still some further work that could be done on the extension, this code is already proving beneficial in production use for a few applications on the New York Times's; website. Package built for PHP %(%{__php} -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')%{?scl: as Software Collection (%{scl} by %{?scl_vendor}%{!?scl_vendor:rh})}. %prep %setup -q -c mv %{pecl_name}-%{version} NTS cd NTS cp %{SOURCE1} LICENSE # http://svn.php.net/viewvc?view=revision&revision=331722 find . -type f -exec chmod -x {} \; # Sanity check, really often broken extver=$(sed -n '/#define PHP_XSLCACHE_VERSION/{s/.* "//;s/".*$//;p}' php_xsl.h) if test "x${extver}" != "x%{version}%{?prever:-%{prever}}"; then : Error: Upstream extension version is ${extver}, expecting %{version}%{?prever:-%{prever}}. exit 1 fi cd .. %if %{with_zts} # Duplicate source tree for NTS / ZTS build cp -pr NTS ZTS %endif # Create configuration file cat > %{ini_name} << 'EOF' ; Enable %{pecl_name} extension module extension=%{pecl_name}.so EOF %build cd NTS %{_bindir}/phpize %configure \ --with-libdir=%{_lib} \ --with-php-config=%{_bindir}/php-config make %{?_smp_mflags} %if %{with_zts} cd ../ZTS %{_bindir}/zts-phpize %configure \ --with-libdir=%{_lib} \ --with-php-config=%{_bindir}/zts-php-config make %{?_smp_mflags} %endif %install make -C NTS install INSTALL_ROOT=%{buildroot} # install config file install -D -m 644 %{ini_name} %{buildroot}%{php_inidir}/%{ini_name} # Install XML package description install -D -m 644 package.xml %{buildroot}%{pecl_xmldir}/%{name}.xml %if %{with_zts} make -C ZTS install INSTALL_ROOT=%{buildroot} install -D -m 644 %{ini_name} %{buildroot}%{php_ztsinidir}/%{ini_name} %endif # Test & Documentation cd NTS for i in $(grep 'role="doc"' ../package.xml | sed -e 's/^.*name="//;s/".*$//') do install -Dpm 644 $i %{buildroot}%{pecl_docdir}/%{pecl_name}/$i done %{!?_licensedir:install -Dpm 644 LICENSE %{buildroot}%{pecl_docdir}/%{pecl_name}/LICENSE} %if 0%{?fedora} < 24 && 0%{?rhel} < 8 # when pear installed alone, after us %triggerin -- %{?scl_prefix}php-pear if [ -x %{__pecl} ] ; then %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : fi # posttrans as pear can be installed after us %posttrans if [ -x %{__pecl} ] ; then %{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : fi %postun if [ $1 -eq 0 -a -x %{__pecl} ] ; then %{pecl_uninstall} %{pecl_name} >/dev/null || : fi %endif %check : Minimal load test for NTS extension cd NTS %{__php} --no-php-ini \ --define extension=dom.so \ --define extension=modules/%{pecl_name}.so \ --modules | grep %{pecl_name} %if %{with_zts} : Minimal load test for ZTS extension cd ../ZTS %{__ztsphp} --no-php-ini \ --define extension=dom.so \ --define extension=modules/%{pecl_name}.so \ --modules | grep %{pecl_name} %endif %files %{?_licensedir:%license NTS/LICENSE} %doc %{pecl_docdir}/%{pecl_name} %{pecl_xmldir}/%{name}.xml %config(noreplace) %{php_inidir}/%{ini_name} %{php_extdir}/%{pecl_name}.so %if %{with_zts} %config(noreplace) %{php_ztsinidir}/%{ini_name} %{php_ztsextdir}/%{pecl_name}.so %endif %changelog * Mon Jan 21 2019 Remi Collet - 0.7.2-7 - cleanup for EL-8 * Wed Mar 9 2016 Remi Collet - 0.7.2-6 - adapt for F24 - drop runtime dependency on pear, new scriptlets - fix license management * Wed Dec 24 2014 Remi Collet - 0.7.2-5.1 - Fedora 21 SCL mass rebuild * Tue Aug 26 2014 Remi Collet - 0.7.2-5 - improve SCL build * Thu Apr 17 2014 Remi Collet - 0.7.2-4 - add numerical prefix to extension configuration file (php 5.6) * Mon Mar 24 2014 Remi Collet - 0.7.2-3 - allow SCL build * Sat Mar 15 2014 Remi Collet - 0.7.2-2 - install doc in pecl_docdir * Mon Oct 7 2013 Remi Collet - 0.7.2-1 - initial package, version 0.7.2 (beta)