]> git.pld-linux.org Git - packages/doxygen.git/blob - doxygen.spec
- allow building without doc
[packages/doxygen.git] / doxygen.spec
1 # NOTE: on upgrades, beware of texlive features available in PLD
2 #
3 # Conditional build:
4 %bcond_without  doc     # without doc
5 %bcond_without  qt      # without doxywizard (qt-based)
6 %bcond_without  xapian  # without doxysearch (xapian based)
7 #
8 Summary:        Doxygen is the documentation system for C/C++
9 Summary(es.UTF-8):      Doxygen es el sistema de documentación para C/C++
10 Summary(pl.UTF-8):      System dokumentowania dla C/C++
11 Summary(pt_BR.UTF-8):   Um sistema de documentação para C/C++
12 Summary(ru.UTF-8):      Система документирования для C та C++
13 Summary(uk.UTF-8):      Система документування для C та C++
14 Name:           doxygen
15 Version:        1.8.10
16 Release:        1
17 Epoch:          1
18 License:        GPL v2
19 Group:          Development/Tools
20 # only latest
21 #Source0Download: https://www.doxygen.nl/download.html
22 #Source0:       https://www.doxygen.nl/files/%{name}-%{version}.src.tar.gz
23 Source0:        http://downloads.sourceforge.net/doxygen/%{name}-%{version}.src.tar.gz
24 # Source0-md5:  79767ccd986f12a0f949015efb5f058f
25 Patch0:         %{name}-doc.patch
26 Patch1:         flex2.6.patch
27 URL:            https://www.doxygen.nl/
28 %{?with_qt:BuildRequires:       QtGui-devel >= 4.3}
29 %{?with_qt:BuildRequires:       QtXml-devel >= 4.3}
30 BuildRequires:  bison
31 BuildRequires:  cmake >= 2.8.12
32 BuildRequires:  flex
33 BuildRequires:  ghostscript
34 BuildRequires:  ghostscript-fonts-std
35 BuildRequires:  libpng-devel
36 BuildRequires:  libstdc++-devel
37 BuildRequires:  perl-base
38 BuildRequires:  python3
39 %{?with_qt:BuildRequires:       qt4-build >= 4.3}
40 %{?with_qt:BuildRequires:       qt4-qmake >= 4.3}
41 %{?with_doc:BuildRequires:      texlive-latex}
42 %{?with_doc:BuildRequires:      texlive-pdftex}
43 %{?with_xapian:BuildRequires:   xapian-core-devel}
44 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
45
46 %description
47 Doxygen is a documentation system for C, C++ and IDL. It can generate
48 an on-line class browser (in HTML) and/or an off-line reference manual
49 (in LaTeX) from a set of documented source files. There is also
50 support for generating man pages and for converting the generated
51 output into Postscript, hyperlinked PDF or compressed HTML. The
52 documentation is extracted directly from the sources.
53
54 Doxygen can also be configured to extract the code-structure from
55 undocumented source files. This can be very useful to quickly find
56 your way in large source distributions.
57
58 %description -l es.UTF-8
59 Doxygen es un sistema de documentación para C, C++ e IDL. Es capaz de
60 generar un navegador on-line entre clases (en HTML) y-o un manual
61 off-line de referencia (en LaTeX) a partir de un conjunto de ficheros
62 de código fuente documentados. También hay soporte para generar
63 páginas man y para convertir la generada salida an Postscript, PDF con
64 hiperenlaces o HTML comprimido. La documentación se extrae
65 directamente de los fuentes.
66
67 Doxygen puede también ser configurado a extraer la estructura del
68 código de código fuente que carece de documentación. Eso puede ser muy
69 útil para orientarse rápidamente en distribuciones grandes de código
70 fuente.
71
72 %description -l pl.UTF-8
73 Doxygen to system dokumentowania dla C, C++ i IDL. Może generować
74 dokumentację klas on-line (w HTML-u) lub podręcznik off-line (w
75 LaTeXu) z zestawu udokumentowanych plików źródłowych. Ma także
76 możliwość generowania stron man i konwersji na Postscript, PDF z
77 hiperłączami oraz skompresowany HTML. Dokumentacja jest wyciągana
78 bezpośrednio ze źródeł.
79
80 Doxygen może być skonfigurowany także do wyciągania struktury kodu z
81 nieudokumentowanych plików źródłowych. Może być to przydatne do
82 szybkiego odnalezienia się w dużych źródłach.
83
84 %description -l pt_BR.UTF-8
85 Doxygen é uma sistema de documentação para C e C++ que gera um class
86 browser on-line (em HTML) e/ou um manual de referencia off-line (em
87 LaTeX) a partir de um conjunto de fontes documentados. A documentação
88 é extraida diretamente a partir dos fontes.
89
90 %description -l ru.UTF-8
91 Doxygen - это система документирования для C, C++ и IDL. Она может
92 создать онлайновый броузер классов (в HTML) и/или оффлайновый
93 справочник (в LaTeX) из набора документированных файлов. Есть также
94 поддержка создания man-страниц и конвертации сгенерированного вывода в
95 Postscript, PDF с гиперссылками и компрессированный HTML. Документация
96 извлекается непосредственно из исходных файлов.
97
98 Doxygen можно также сконфигурировать для получения структуры кода из
99 нелокументированных исходных файлов. Это может быть очень полезным для
100 того, чтобы бысто разобраться в большом проекте.
101
102 %description -l uk.UTF-8
103 Doxygen - це система документування для C, C++ та IDL. Вона може
104 створити онлайновий броузер класів (в HTML) та/чи оффлайновий довідник
105 (в LaTeX) з набору документованих вихідних файлів. Є також підтримка
106 для створення man-сторінок та конвертації згенерованого виводу в
107 Postscript, PDF з гіперлінками та компресований HTML. Документація
108 видобувається безпосердньо з вихідних файлів.
109
110 Doxygen можна також зконфігурувати для отримання структури коду з
111 недокументованих вихідних файлів. Це може бути дуже корисним для того,
112 щоб швидко розібратися у великому проекті.
113
114 %package search
115 Summary:        Search tools for Doxygen
116 Summary(pl.UTF-8):      Narzędzia do przeszukiwania dla Doxygena
117 Group:          Development/Tools
118 Conflicts:      doxygen < 1:1.3.4
119
120 %description search
121 Search tools for Doxygen.
122
123 %description search -l pl.UTF-8
124 Narzędzia do przeszukiwania dla Doxygena.
125
126 %package doxywizard
127 Summary:        A GUI front-end for creating and editing configuration files
128 Summary(es.UTF-8):      Un front-end GUI para crear y editar ficheros de configuración
129 Summary(pl.UTF-8):      GUI do tworzenia i edycji plików konfiguracyjnych
130 Summary(pt_BR.UTF-8):   Wizard gráfico para o Doxygen
131 Group:          X11/Applications
132 Requires:       %{name} = %{epoch}:%{version}-%{release}
133
134 %description doxywizard
135 Doxywizard is a GUI front-end for creating and editing configuration
136 files that are used by doxygen.
137
138 %description doxywizard -l es.UTF-8
139 Doxywizard es un front-end GUI para crear y editar los ficheros de
140 configuración que son usados por doxygen.
141
142 %description doxywizard -l pl.UTF-8
143 Doxywizard to frontend z graficznym interfejsem do tworzenia i edycji
144 plików konfiguracyjnych używanych przez doxygen.
145
146 %description doxywizard -l pt_BR.UTF-8
147 Wizard gráfico para o Doxygen.
148
149 %package latex
150 Summary:        LaTeX packages to support Doxygen-generated files compilation
151 Summary(pl.UTF-8):      Pakiety LaTeXa pozwalające na kompilowanie plików wygenerowanych przez Doxygena
152 Group:          Applications/Publishing
153 Requires:       /usr/bin/pdflatex
154 Requires:       /usr/bin/makeindex
155 Requires:       tex(adjustbox)
156 # TODO: generic dependencies instead of texlive-specific:
157 #Requires:      tex(psnfss)
158 #Requires:      tex(wasysym)
159 # TODO: generic dependencies instead of texlive-specific:
160 Requires:       texlive-fonts-larm
161 # alltt array calc fancyhdr fixltx2e float fontenc geometry hyperref ifpdf ifthen inputenc makeidx multirow natbib sectsty textcomp tocloft verbatim xcolor xtab
162 Requires:       texlive-latex
163 # amssymb
164 Requires:       texlive-latex-ams
165 # ??? obsolete?
166 Requires:       texlive-latex-cyrillic
167 # ??? obsolete?
168 Requires:       texlive-latex-extend
169 # courier helvet
170 Requires:       texlive-latex-psnfss
171 Requires:       texlive-latex-wasysym
172 Requires:       texlive-makeindex
173
174 %description latex
175 This metapackage installs all LaTeX packages required to compile PDF
176 documentation from Doxygen-generated LaTeX files.
177
178 %description latex -l pl.UTF-8
179 Ten metapakiet instaluje wszystkie pakiety LaTeXa otrzebne do
180 skompilowania dokumentacji w formacie PDF z plików LaTeXa
181 wygenerowanych przez Doxygena.
182
183 %prep
184 %setup -q
185 %patch0 -p1
186 %patch1 -p1
187
188 %build
189 install -d build
190 cd build
191 %cmake .. \
192         -DBUILD_SHARED_LIBS=OFF \
193         %{?with_doc:-Dbuild_doc=ON} \
194         %{?with_xapian:-Dbuild_search=ON} \
195         %{?with_qt:-Dbuild_wizard=ON}
196
197 %{__make}
198
199 %if %{with doc}
200 %{__make} docs
201 %endif
202
203 %install
204 rm -rf $RPM_BUILD_ROOT
205
206 %{__make} -C build install \
207         DESTDIR=$RPM_BUILD_ROOT
208
209 install -d $RPM_BUILD_ROOT%{_examplesdir}
210 cp -pr examples $RPM_BUILD_ROOT%{_examplesdir}/%{name}-%{version}
211
212 %if !%{with doc}
213 install -d $RPM_BUILD_ROOT%{_mandir}/man1
214 install -c -m 644 doc/doxygen.1 $RPM_BUILD_ROOT%{_mandir}/man1
215 %if %{with xapian}
216 install -c -m 644 doc/doxyindexer.1 $RPM_BUILD_ROOT%{_mandir}/man1
217 install -c -m 644 doc/doxysearch.1 $RPM_BUILD_ROOT%{_mandir}/man1
218 %endif
219 %if %{with qt}
220 %endif
221 install -c -m 644 doc/doxywizard.1 $RPM_BUILD_ROOT%{_mandir}/man1
222 %endif
223
224 %clean
225 rm -rf $RPM_BUILD_ROOT
226
227 %files
228 %defattr(644,root,root,755)
229 %doc README.md %{?with_doc:build/html}
230 %attr(755,root,root) %{_bindir}/doxygen
231 %{_examplesdir}/%{name}-%{version}
232 %{_mandir}/man1/doxygen.1*
233
234 %if %{with xapian}
235 %files search
236 %defattr(644,root,root,755)
237 %attr(755,root,root) %{_bindir}/doxyindexer
238 %attr(755,root,root) %{_bindir}/doxysearch.cgi
239 %{_mandir}/man1/doxyindexer.1*
240 %{_mandir}/man1/doxysearch.1*
241 %endif
242
243 %if %{with qt}
244 %files doxywizard
245 %defattr(644,root,root,755)
246 %attr(755,root,root) %{_bindir}/doxywizard
247 %{_mandir}/man1/doxywizard.1*
248 %endif
249
250 %files latex
251 %defattr(644,root,root,755)
This page took 0.07754 seconds and 4 git commands to generate.