+#
+# Conditional build:
+%bcond_without qt # without doxywizard (qt-based)
+#
Summary: Doxygen is the documentation system for C/C++
+Summary(es): Doxygen es el sistema de documentación para C/C++
Summary(pl): System dokumentowania dla C/C++
Summary(pt_BR): Um sistema de documentação para C/C++
Summary(ru): óÉÓÔÅÍÁ ÄÏËÕÍÅÎÔÉÒÏ×ÁÎÉÑ ÄÌÑ C ÔÁ C++
Summary(uk): óÉÓÔÅÍÁ ÄÏËÕÍÅÎÔÕ×ÁÎÎÑ ÄÌÑ C ÔÁ C++
Name: doxygen
-Version: 1.2.15
-Release: 2
+Version: 1.4.2
+Release: 1
Epoch: 1
License: GPL
Group: Development/Tools
Source0: ftp://ftp.stack.nl/pub/users/dimitri/%{name}-%{version}.src.tar.gz
-URL: http://www.stack.nl/~dimitri/doxygen/
-#BuildRequires: qt-devel => 3.0.5
-BuildRequires: libstdc++-devel
-BuildRequires: tetex
-BuildRequires: tetex-latex
-BuildRequires: tetex-dvips
+# Source0-md5: 5e0b6c8854c87e06aaca78c81c5236ec
+Patch0: %{name}-system-libpng.patch
+Patch1: %{name}-qt-dirs.patch
+Patch2: %{name}-lib64.patch
+URL: http://www.doxygen.org/
+BuildRequires: flex
BuildRequires: ghostscript
+BuildRequires: ghostscript-fonts-std
+BuildRequires: libpng-devel
+BuildRequires: libstdc++-devel
+BuildRequires: python
+%{?with_qt:BuildRequires: qt-devel >= 2.1.0}
+BuildRequires: tetex-format-latex
+BuildRequires: tetex-format-pdflatex
+BuildRequires: tetex-plain-misc
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+# because of qt
+%define _noautoreqdep libGL.so.1 libGLU.so.1
+
%description
Doxygen is a documentation system for C, C++ and IDL. It can generate
an on-line class browser (in HTML) and/or an off-line reference manual
undocumented source files. This can be very useful to quickly find
your way in large source distributions.
+%description -l es
+Doxygen es un sistema de documentación para C, C++ e IDL. Es capaz de
+generar un navegador on-line entre clases (en HTML) y-o un manual
+off-line de referencia (en LaTeX) a partir de un conjunto de ficheros
+de código fuente documentados. También hay soporte para generar
+páginas man y para convertir la generada salida an Postscript, PDF con
+hiperenlaces o HTML comprimido. La documentación se extrae
+directamente de los fuentes.
+
+Doxygen puede también ser configurado a extraer la estructura del
+código de código fuente que carece de documentación. Eso puede ser muy
+útil para orientarse rápidamente en distribuciones grandes de código
+fuente.
+
%description -l pl
Doxygen to system dokumentowania dla C, C++ i IDL. Mo¿e generowaæ
-dokumentacjê klas on-line (w HTML) lub podrêcznik off-line (w LaTeX-u)
-z zestawu udokumentowanych plików ¼ród³owych. Ma tak¿e mo¿liwo¶æ
-generowania stron man i konwersji na Postscript, PDF z hiper³±czami
-oraz skompresowany HTML. Dokumentacja jest wyci±gana bezpo¶rednio ze
-¼róde³.
+dokumentacjê klas on-line (w HTML-u) lub podrêcznik off-line (w
+LaTeXu) z zestawu udokumentowanych plików ¼ród³owych. Ma tak¿e
+mo¿liwo¶æ generowania stron man i konwersji na Postscript, PDF z
+hiper³±czami oraz skompresowany HTML. Dokumentacja jest wyci±gana
+bezpo¶rednio ze ¼róde³.
Doxygen mo¿e byæ skonfigurowany tak¿e do wyci±gania struktury kodu z
nieudokumentowanych plików ¼ród³owych. Mo¿e byæ to przydatne do
%package doxywizard
Summary: A GUI front-end for creating and editing configuration files
+Summary(es): Un front-end GUI para crear y editar ficheros de configuración
Summary(pl): GUI do tworzenia i edycji plików konfiguracyjnych
Summary(pt_BR): Wizard gráfico para o Doxygen
Group: X11/Applications
-Requires: %{name} = %{version}
-Requires: qt >= 2.2
+Requires: %{name} = %{epoch}:%{version}-%{release}
+Requires: qt >= 2.1.0
%description doxywizard
Doxywizard is a GUI front-end for creating and editing configuration
files that are used by doxygen.
+%description doxywizard -l es
+Doxywizard es un front-end GUI para crear y editar los ficheros de
+configuración que son usados por doxygen.
+
%description doxywizard -l pl
Doxywizard to frontend z graficznym interfejsem do tworzenia i edycji
plików konfiguracyjnych u¿ywanych przez doxygen.
%description doxywizard -l pt_BR
-Wizard gráfico para o Doxygen
+Wizard gráfico para o Doxygen.
%prep
%setup -q
+%patch0 -p1
+%patch1 -p1
+%ifarch amd64
+%patch2 -p1
+%endif
+
+rm -rf libpng src/unistd.h
%build
export QTDIR=%{_prefix}
-## don't change it to %%configure!!!
+# don't change it to %%configure, not autoconf-generated!
./configure \
--prefix %{_prefix} \
--perl %{_bindir}/perl \
-# --with-doxywizard
+ --install %{_bindir}/install \
+ %{?with_qt:--with-doxywizard}
-%{__make} \
+%{__make} QTDIR=%{_prefix} \
CFLAGS="%{rpmcflags}" \
CXXFLAGS="%{rpmcflags} \
-DQT_NO_CODECS -DQT_LITE_UNICODE -fno-rtti -fno-exceptions"
%{__make} docs
-%{__make} ps
-mkdir ps
-mv -f latex/doxygen_manual.ps ps
+#%%{__make} pdf
%install
rm -rf $RPM_BUILD_ROOT
-install -d ${RPM_BUILD_ROOT}%{_bindir}
-install -d ${RPM_BUILD_ROOT}%{_examplesdir}/%{name}
+install -d $RPM_BUILD_ROOT%{_bindir}
-install bin/doxy* ${RPM_BUILD_ROOT}%{_bindir}
-cp -a examples/* ${RPM_BUILD_ROOT}%{_examplesdir}/%{name}
+install bin/doxy* $RPM_BUILD_ROOT%{_bindir}
%clean
-rm -rf ${RPM_BUILD_ROOT}
+rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
-%doc html README LICENSE
-%{_examplesdir}/%{name}
+%doc html examples README
%attr(755,root,root) %{_bindir}/doxygen
%attr(755,root,root) %{_bindir}/doxytag
-%attr(755,root,root) %{_bindir}/doxysearch
-#%files doxywizard
-#%defattr(644,root,root,755)
-#%attr(755,root,root) %{_bindir}/doxywizard
+%if %{with qt}
+%files doxywizard
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/doxywizard
+%endif