diff options
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | php-pecl-vld.spec | 151 | 
2 files changed, 155 insertions, 0 deletions
diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..13af741 --- /dev/null +++ b/Makefile @@ -0,0 +1,4 @@ +SRCDIR := $(shell pwd) +NAME := $(shell basename $(SRCDIR)) +include ../../../common/Makefile + diff --git a/php-pecl-vld.spec b/php-pecl-vld.spec new file mode 100644 index 0000000..389912c --- /dev/null +++ b/php-pecl-vld.spec @@ -0,0 +1,151 @@ +# spec file for php-pecl-vld +# +# Copyright (c) 2013 Remi Collet +# License: CC-BY-SA +# http://creativecommons.org/licenses/by-sa/3.0/ +# +# Please, preserve the changelog entries +# +%{!?php_inidir:  %{expand: %%global php_inidir  %{_sysconfdir}/php.d}} +%{!?__pecl:      %{expand: %%global __pecl      %{_bindir}/pecl}} + +%global with_zts  0%{?__ztsphp:1} +%global pecl_name vld + +Summary:        Dump the internal representation of PHP scripts +Name:           php-pecl-%{pecl_name} +Version:        0.12.0 +Release:        1%{?dist}.1 +License:        PHP +Group:          Development/Languages +URL:            http://pecl.php.net/package/%{pecl_name} +Source0:        http://pecl.php.net/get/%{pecl_name}-%{version}.tgz + +BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +BuildRequires:  php-devel +BuildRequires:  php-pear + +Requires(post): %{__pecl} +Requires(postun): %{__pecl} +Requires:       php(zend-abi) = %{php_zend_api} +Requires:       php(api) = %{php_core_api} + +Provides:       php-%{pecl_name} = %{version} +Provides:       php-%{pecl_name}%{?_isa} = %{version} +Provides:       php-pecl(%{pecl_name}) = %{version} +Provides:       php-pecl(%{pecl_name})%{?_isa} = %{version} + +# Filter shared private +%{?filter_provides_in: %filter_provides_in %{_libdir}/.*\.so$} +%{?filter_setup} + +%description +The Vulcan Logic Disassembler hooks into the Zend Engine and +dumps all the opcodes (execution units) of a script. + + +%prep +%setup -q -c +mv %{pecl_name}-%{version} NTS + +%if %{with_zts} +# Duplicate source tree for NTS / ZTS build +cp -pr NTS ZTS +%endif + +# Create configuration file +cat > %{pecl_name}.ini << 'EOF' +; Enable %{pecl_name} extension module +extension=%{pecl_name}.so + +;vld.active=0 +;vld.skip_prepend=0 +;vld.skip_append=0 +;vld.execute=1 +;vld.verbosity=1 +;vld.format=0 +;vld.col_sep="	" +;vld.save_dir="/tmp" +;vld.save_paths=0 +;vld.dump_paths=1 +EOF + + +%build +cd NTS +%{_bindir}/phpize +%configure \ +    --with-php-config=%{_bindir}/php-config +make %{?_smp_mflags} + +%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 NTS install INSTALL_ROOT=%{buildroot} + +# install config file +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 ZTS install INSTALL_ROOT=%{buildroot} + +install -D -m 644 %{pecl_name}.ini %{buildroot}%{php_ztsinidir}/%{pecl_name}.ini +%endif + + +%post +%{pecl_install} %{pecl_xmldir}/%{name}.xml >/dev/null || : + + +%postun +if [ $1 -eq 0 ] ; then +    %{pecl_uninstall} %{pecl_name} >/dev/null || : +fi + + +%check +# Minimal load test for NTS extension +php --no-php-ini \ +    --define extension=NTS/modules/%{pecl_name}.so \ +    --modules | grep %{pecl_name} + +%if %{with_zts} +# Minimal load test for ZTS extension +%{__ztsphp} --no-php-ini \ +    --define extension=ZTS/modules/%{pecl_name}.so \ +    --modules | grep %{pecl_name} +%endif + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%doc NTS/CREDITS +%{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 +* Wed Sep 25 2013 Remi Collet <remi@fedoraproject.org> - 0.12.0-1 +- initial package  | 
