diff --git a/doxygen-1.9.6.src.tar.gz b/doxygen-1.9.6.src.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..50d904054e6f764ccc833b29fde20d27edf824ea Binary files /dev/null and b/doxygen-1.9.6.src.tar.gz differ diff --git a/doxygen.spec b/doxygen.spec new file mode 100644 index 0000000000000000000000000000000000000000..d0f3363aea58443595a350cc5327e92a6063949e --- /dev/null +++ b/doxygen.spec @@ -0,0 +1,294 @@ +%define anolis_release 1 + +%global xapian_core_support ON +%global clang_support ON + +%global stable 1 + +Summary: A documentation system for C/C++ +Name: doxygen +Epoch: 1 +Version: 1.9.6 +Release: %{anolis_release}%{?dist} +# No version is specified. +License: GPL+ +Url: https://github.com/doxygen +Source0: https://github.com/doxygen/doxygen/releases/download/Release_1_9_6/%{name}-%{version}.src.tar.gz +# this icon is part of kdesdk +Source1: doxywizard.desktop +# these icons are part of doxygen and converted from doxywizard.ico +Source2: doxywizard-icons.tar.xz +# upstream patches + +BuildRequires: %{_bindir}/python3 +BuildRequires: gcc-c++ gcc +BuildRequires: perl-interpreter +%if ! 0%{?_module_build} +BuildRequires: tex(dvips) +BuildRequires: tex(latex) +# From doc/manual.sty +BuildRequires: tex(helvet.sty) +BuildRequires: tex(sectsty.sty) +BuildRequires: tex(tocloft.sty) +BuildRequires: tex(fontenc.sty) +BuildRequires: tex(fancyhdr.sty) +# From templates/latex/doxygen.sty +BuildRequires: tex(alltt.sty) +BuildRequires: tex(calc.sty) +BuildRequires: tex(float.sty) +BuildRequires: tex(verbatim.sty) +BuildRequires: tex(xcolor.sty) +BuildRequires: tex(fancyvrb.sty) +BuildRequires: tex(tabularx.sty) +BuildRequires: tex(multirow.sty) +BuildRequires: tex(hanging.sty) +BuildRequires: tex(ifpdf.sty) +BuildRequires: tex(adjustbox.sty) +BuildRequires: tex(amssymb.sty) +BuildRequires: tex(stackengine.sty) +BuildRequires: tex(ulem.sty) +# From doc/doxygen_manual.tex +BuildRequires: tex(ifthen.sty) +BuildRequires: tex(array.sty) +BuildRequires: tex(geometry.sty) +BuildRequires: tex(makeidx.sty) +BuildRequires: tex(natbib.sty) +BuildRequires: tex(graphicx.sty) +BuildRequires: tex(multicol.sty) +BuildRequires: tex(float.sty) +BuildRequires: tex(geometry.sty) +BuildRequires: tex(listings.sty) +BuildRequires: tex(color.sty) +BuildRequires: tex(xcolor.sty) +BuildRequires: tex(textcomp.sty) +BuildRequires: tex(wasysym.sty) +BuildRequires: tex(import.sty) +BuildRequires: tex(appendix.sty) +BuildRequires: tex(hyperref.sty) +BuildRequires: tex(pspicture.sty) +BuildRequires: tex(inputenc.sty) +BuildRequires: tex(mathptmx.sty) +BuildRequires: tex(courier.sty) +# From src/latexgen.cpp +BuildRequires: tex(fixltx2e.sty) +BuildRequires: tex(ifxetex.sty) +BuildRequires: tex(caption.sty) +BuildRequires: tex(etoc.sty) +# From src/util.cpp +BuildRequires: tex(newunicodechar.sty) +# From templates/latex/tabu_doxygen.sty +BuildRequires: tex(varwidth.sty) +BuildRequires: tex(xtab.sty) +BuildRequires: tex(tabu.sty) +BuildRequires: /usr/bin/epstopdf +BuildRequires: texlive-epstopdf +BuildRequires: ghostscript +BuildRequires: gettext +BuildRequires: desktop-file-utils +BuildRequires: graphviz +%else +BuildRequires: zlib-devel +%endif +BuildRequires: flex +BuildRequires: bison +BuildRequires: cmake +BuildRequires: git +%if "x%{?xapian_core_support}" == "xON" +BuildRequires: xapian-core-devel +BuildRequires: zlib-devel +%endif +%if "x%{?clang_support}" == "xON" +BuildRequires: llvm-devel +BuildRequires: clang-devel +%endif +Requires: perl-interpreter +Requires: graphviz + +%description +Doxygen can generate an online class browser (in HTML) and/or a +reference manual (in LaTeX) from a set of documented source files. The +documentation is extracted directly from the sources. Doxygen can +also be configured to extract the code structure from undocumented +source files. + +%if ! 0%{?_module_build} +%package doxywizard +Summary: A GUI for creating and editing configuration files +Requires: %{name} = %{epoch}:%{version}-%{release} +BuildRequires: qt5-qtbase-devel + +%description doxywizard +Doxywizard is a GUI for creating and editing configuration files that +are used by doxygen. + +%package latex +Summary: Support for producing latex/pdf output from doxygen +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: tex(latex) +Requires: tex(dvips) +# From doc/manual.sty +Requires: tex(helvet.sty) +Requires: tex(sectsty.sty) +Requires: tex(tocloft.sty) +Requires: tex(fontenc.sty) +Requires: tex(fancyhdr.sty) +# From templates/latex/doxygen.sty +Requires: tex(alltt.sty) +Requires: tex(calc.sty) +Requires: tex(float.sty) +Requires: tex(verbatim.sty) +Requires: tex(xcolor.sty) +Requires: tex(fancyvrb.sty) +Requires: tex(tabularx.sty) +Requires: tex(multirow.sty) +Requires: tex(hanging.sty) +Requires: tex(ifpdf.sty) +Requires: tex(adjustbox.sty) +Requires: tex(amssymb.sty) +Requires: tex(stackengine.sty) +Requires: tex(ulem.sty) +# From doc/doxygen_manual.tex +Requires: tex(ifthen.sty) +Requires: tex(array.sty) +Requires: tex(geometry.sty) +Requires: tex(makeidx.sty) +Requires: tex(natbib.sty) +Requires: tex(graphicx.sty) +Requires: tex(multicol.sty) +Requires: tex(float.sty) +Requires: tex(geometry.sty) +Requires: tex(listings.sty) +Requires: tex(color.sty) +Requires: tex(xcolor.sty) +Requires: tex(textcomp.sty) +Requires: tex(wasysym.sty) +Requires: tex(import.sty) +Requires: tex(appendix.sty) +Requires: tex(hyperref.sty) +Requires: tex(pspicture.sty) +Requires: tex(inputenc.sty) +Requires: tex(mathptmx.sty) +Requires: tex(courier.sty) +# From src/latexgen.cpp +Requires: tex(fixltx2e.sty) +Requires: tex(ifxetex.sty) +Requires: tex(caption.sty) +Requires: tex(etoc.sty) +# From src/util.cpp +Requires: tex(newunicodechar.sty) +# From templates/latex/tabu_doxygen.sty +Requires: tex(varwidth.sty) +# I'm 99% sure this isn't needed anymore since +# doxygen has a local fork of tabu... but it doesn't seem to be hurting anything. +Requires: tex(tabu.sty) +# There also does not seem to be any references to xtab in the code... but eh. +Requires: tex(xtab.sty) +# Explicitly called binaries +Requires: texlive-bibtex +Requires: texlive-makeindex +Requires: texlive-epstopdf + +%description latex +%{summary}. +%endif + + +%prep +%autosetup -p1 -a2 + +# convert into utf-8 +iconv --from=ISO-8859-1 --to=UTF-8 LANGUAGE.HOWTO > LANGUAGE.HOWTO.new +touch -r LANGUAGE.HOWTO LANGUAGE.HOWTO.new +mv LANGUAGE.HOWTO.new LANGUAGE.HOWTO + + +%build +%if ! 0%{?_module_build} +%cmake \ + -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ + -Duse_libclang=%{clang_support} \ + -Dbuild_doc=OFF \ + -Dbuild_wizard=ON \ + -Dbuild_xmlparser=ON \ + -Dbuild_search=%{xapian_core_support} \ + -DMAN_INSTALL_DIR=%{_mandir}/man1 \ + -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ + -DBUILD_SHARED_LIBS=OFF \ +%else +%cmake \ + -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ + -Duse_libclang=%{clang_support} \ + -Dbuild_doc=OFF \ + -Dbuild_wizard=OFF \ + -Dbuild_xmlparser=ON \ + -Dbuild_search=OFF \ + -DMAN_INSTALL_DIR=%{_mandir}/man1 \ + -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ + -DBUILD_SHARED_LIBS=OFF \ +%endif + +%cmake_build + +%install +%cmake_install + +# install icons +icondir=%{buildroot}%{_datadir}/icons/hicolor +mkdir -m755 -p $icondir/{16x16,32x32,48x48,128x128}/apps +install -m644 -p -D doxywizard-6.png $icondir/16x16/apps/doxywizard.png +install -m644 -p -D doxywizard-5.png $icondir/32x32/apps/doxywizard.png +install -m644 -p -D doxywizard-4.png $icondir/48x48/apps/doxywizard.png +install -m644 -p -D doxywizard-3.png $icondir/128x128/apps/doxywizard.png + +# install man pages +mkdir -p %{buildroot}/%{_mandir}/man1 +cp doc/*.1 %{buildroot}/%{_mandir}/man1/ +%if 0%{?_module_build} +rm -f %{buildroot}/%{_mandir}/man1/doxywizard.1* +%endif + +%if "x%{?xapian_core_support}" == "xOFF" +rm -f %{buildroot}/%{_mandir}/man1/doxyindexer.1* %{buildroot}/%{_mandir}/man1/doxysearch.1* +%endif + +# remove duplicate +rm -rf %{buildroot}/%{_docdir}/packages + +%if ! 0%{?_module_build} +desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} +%endif + +%check +%ctest + +%files +%doc LANGUAGE.HOWTO README.md +%license LICENSE +%if ! 0%{?_module_build} +%if "x%{?xapian_core_support}" == "xON" +%{_bindir}/doxyindexer +%{_bindir}/doxysearch* +%endif +%endif +%{_bindir}/doxygen +%{_mandir}/man1/doxygen.1* +%if "x%{?xapian_core_support}" == "xON" +%{_mandir}/man1/doxyindexer.1* +%{_mandir}/man1/doxysearch.1* +%endif +%if ! 0%{?_module_build} +%files doxywizard +%{_bindir}/doxywizard +%{_mandir}/man1/doxywizard* +%{_datadir}/applications/doxywizard.desktop +%endif +%{_datadir}/icons/hicolor/*/apps/doxywizard.png + +%if ! 0%{?_module_build} +%files latex +# intentionally left blank +%endif + +%changelog +* Tue Jan 10 2023 Funda Wang - 1:1.9.6-1 +- Import package for anolis 23 diff --git a/doxywizard-icons.tar.xz b/doxywizard-icons.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..1ae67c77a79bf986817fbd830f0673dc20496d4a Binary files /dev/null and b/doxywizard-icons.tar.xz differ diff --git a/doxywizard.desktop b/doxywizard.desktop new file mode 100644 index 0000000000000000000000000000000000000000..f3d0a4ffcbdfeefe494c1170953814f62c5e633b --- /dev/null +++ b/doxywizard.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Exec=doxywizard +Name=Doxygen Wizard +Icon=doxywizard +Categories=Qt;Development;