-%define _modname xdebug
-%define _status stable
-%define _sysconfdir /etc/php
-%define extensionsdir %(php-config --extension-dir 2>/dev/null)
-
-Summary: %{_modname} - provides functions for functions traces and profiling
-Summary(pl): %{_modname} - funkcje do ¶ledzenia i profilowania funkcji
-Name: php-pecl-%{_modname}
-Version: 2.0.0
-%define _snap beta3
-Release: 0.%{_snap}.1
-License: BSD style
+#
+# Conditional build:
+%bcond_without vim # make vim syntax package
+
+# build noarch packages only for 7.0 version
+%if 0%{?_pld_builder:1} && "%{?php_suffix}" != "70"
+%undefine with_vim
+%endif
+
+%define php_name php%{?php_suffix}
+%define modname xdebug
+Summary: %{modname} - provides functions for functions traces and profiling
+Summary(pl.UTF-8): %{modname} - funkcje do śledzenia i profilowania funkcji
+Name: %{php_name}-pecl-%{modname}
+Version: 2.6.1
+Release: 1
+# The Xdebug License, version 1.01
+# (Based on "The PHP License", version 3.0)
+License: PHP
Group: Development/Languages/PHP
-Source0: http://pecl.php.net/get/%{_modname}-%{version}%{_snap}.tgz
-# Source0-md5: 05a688515e37f93552333f7f3e95402f
-URL: http://pecl.php.net/package/xdebug/
+Source0: https://xdebug.org/files/xdebug-%{version}.tgz
+# Source0-md5: 35cc0f2e8b7d40556a9ad9afd9c49aee
+Source1: %{modname}.ini
+Source2: vim-xt-filetype.vim
+URL: https://xdebug.org/
+BuildRequires: %{php_name}-devel >= 4:7.0
BuildRequires: libedit-devel
BuildRequires: libtool
-BuildRequires: php-devel >= 3:5.0.0
-BuildRequires: rpmbuild(macros) >= 1.238
-Requires: %{_sysconfdir}/conf.d
-%{?requires_php_extension}
-Obsoletes: php-pear-%{_modname}
+BuildRequires: rpmbuild(macros) >= 1.650
+%{?requires_zend_extension}
+Provides: php(%{modname}) = %{version}
+Obsoletes: php-pecl-xdebug < 2.2.4-1
+Conflicts: ZendOptimizer
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define _vimdatadir %{_datadir}/vim
+
%description
The Xdebug extension helps you debugging your script by providing a
lot of valuable debug information. The debug information that Xdebug
- stack and function traces in error messages with:
- full parameter display for user defined functions
- function name, file name and line indications
- - support for member functions memory allocation
+ - support for member functions
+- memory allocation
- protection for infinite recursions
Xdebug also provides:
- profiling information for PHP scripts
-- script execution analysis
+- code coverage analysis
- capabilities to debug your scripts interactively with a debug client
-In PECL status of this package is: %{_status}.
-
-%description -l pl
-Rozszerzenie Xdebug pomaga przy odpluskwianiu skryptu dostarczaj±c
-du¿o warto¶ciowych informacji. Informacje przydatne do ¶ledzenia,
-które mo¿e zapewniæ Xdebug, obejmuj±:
+%description -l pl.UTF-8
+Rozszerzenie Xdebug pomaga przy odpluskwianiu skryptu dostarczając
+dużo wartościowych informacji. Informacje przydatne do śledzenia,
+które może zapewnić Xdebug, obejmują:
-- ¶ledzenie stosu i funkcji w komunikatach b³êdów wraz z:
- - pe³nym wy¶wietlaniem parametrów dla funkcji zdefiniowanych przez
- u¿ytkownika
- - nazwami funkcji, nazwami plików i numerami linii
- - obs³ug± metod klas
-- przydzielanie pamiêci
-- zabezpieczenie przed nieskoñczon± rekurencj±
+- śledzenie stosu i funkcji w komunikatach błędów wraz z:
+ - pełnym wyświetlaniem parametrów dla funkcji zdefiniowanych przez
+ użytkownika
+ - nazwami funkcji, nazwami plików i numerami linii
+ - obsługą metod klas
+- przydzielanie pamięci
+- zabezpieczenie przed nieskończoną rekurencją
-Xdebug dostarcza tak¿e:
+Xdebug dostarcza także:
-- informacje do profilowania skryptów PHP
-- analizê wywo³añ skryptu
-- mo¿liwo¶æ ¶ledzenia skryptów interaktywnie przy pomocy klienta
+- informacje do profilowania skryptów PHP
+- analizę wywołań skryptu
+- możliwość śledzenia skryptów interaktywnie przy pomocy klienta
odpluskwiacza
-To rozszerzenie ma w PECL status: %{_status}.
+%package -n vim-syntax-xdebug
+Summary: Vim syntax: Xdebug trace files
+Group: Applications/Editors/Vim
+Requires: php(%{modname}) = %{version}
+Requires: vim-rt >= 4:7.2.170
+BuildArch: noarch
+
+%description -n vim-syntax-xdebug
+This plugin provides syntax highlighting Xdebug trace files (context
+or unified).
%prep
-%setup -q -c
+%setup -qc
+mv %{modname}-%{version}*/* .
+chmod +x debugclient/configure
+
+%{__sed} -e 's#^;zend_extension.*#zend_extension=%{php_extensiondir}/%{modname}.so#' %{SOURCE1} > %{modname}.ini
+
+install -d vim/{syntax,ftdetect}
+mv contrib/xt.vim vim/syntax
+cp -p %{SOURCE2} vim/ftdetect/xt.vim
%build
-cd %{_modname}-%{version}%{_snap}
+# libtool 2.2 build fix
+if [ -f %{_aclocaldir}/ltsugar.m4 ]; then
+ cat %{_aclocaldir}/ltsugar.m4 >> config.m4
+ cat %{_aclocaldir}/ltsugar.m4 >> debugclient/aclocal.m4
+
+ cat %{_aclocaldir}/ltversion.m4 >> config.m4
+ cat %{_aclocaldir}/ltversion.m4 >> debugclient/aclocal.m4
+
+ cat %{_aclocaldir}/lt~obsolete.m4 >> config.m4
+ cat %{_aclocaldir}/lt~obsolete.m4 >> debugclient/aclocal.m4
+
+ cat %{_aclocaldir}/ltoptions.m4 >> config.m4
+ cat %{_aclocaldir}/ltoptions.m4 >> debugclient/aclocal.m4
+
+ cat %{_aclocaldir}/libtool.m4 >> debugclient/aclocal.m4
+fi
phpize
%configure
%{__make}
cd debugclient
-install %{_datadir}/automake/config.* .
-%{__libtoolize}
-%{__aclocal}
-%{__autoconf}
%configure \
--with-libedit
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}/conf.d,%{extensionsdir}}
+install -d $RPM_BUILD_ROOT{%{_bindir},%{php_sysconfdir}/conf.d,%{php_extensiondir}}
-install %{_modname}-*/debugclient/debugclient $RPM_BUILD_ROOT%{_bindir}/%{_modname}-debugclient
-install %{_modname}-*/modules/%{_modname}.so $RPM_BUILD_ROOT%{extensionsdir}
-cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/conf.d/%{_modname}.ini
-; Enable %{_modname} extension module
-zend_extension=%{_modname}.so
-EOF
+install -p debugclient/debugclient $RPM_BUILD_ROOT%{_bindir}/%{modname}%{?php_suffix}-debugclient
+install -p modules/%{modname}.so $RPM_BUILD_ROOT%{php_extensiondir}
+cp -a %{modname}.ini $RPM_BUILD_ROOT%{php_sysconfdir}/conf.d
+
+%if %{with vim}
+# vim syntax
+install -d $RPM_BUILD_ROOT%{_vimdatadir}
+cp -a vim/* $RPM_BUILD_ROOT%{_vimdatadir}
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%post
-[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
-[ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
+%php_webserver_restart
%postun
if [ "$1" = 0 ]; then
- [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart
- [ ! -f /etc/httpd/httpd.conf/??_mod_php.conf ] || %service -q httpd restart
+ %php_webserver_restart
fi
%files
%defattr(644,root,root,755)
-%doc %{_modname}-*/{README,NEWS,Changelog,CREDITS}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/%{_modname}.ini
-%attr(755,root,root) %{extensionsdir}/%{_modname}.so
-%attr(755,root,root) %{_bindir}/*
+%doc README.rst CREDITS contrib
+%config(noreplace) %verify(not md5 mtime size) %{php_sysconfdir}/conf.d/%{modname}.ini
+%attr(755,root,root) %{php_extensiondir}/%{modname}.so
+%attr(755,root,root) %{_bindir}/xdebug*-debugclient
+
+%if %{with vim}
+%files -n vim-syntax-xdebug
+%defattr(644,root,root,755)
+%{_vimdatadir}/ftdetect/xt.vim
+%{_vimdatadir}/syntax/xt.vim
+%endif