diff --git a/.gitignore b/.gitignore index a007b45..62f8f34 100644 --- a/.gitignore +++ b/.gitignore @@ -48,24 +48,3 @@ doxygen-1.7.1.src.tar.gz /doxygen-1.8.13.src.tar.gz /doxygen-1.8.14.src.tar.gz /doxygen-1.8.15.src.tar.gz -/doxygen-1.8.16.src.tar.gz -/doxygen-1.8.17.src.tar.gz -/doxygen-1.8.18.src.tar.gz -/doxywizard-icons.tar.xz -/doxygen-1.9.1.src.tar.gz -/doxygen-1.9.2.src.tar.gz -/doxygen-1.9.2-d882240f-git.src.tar.gz -/doxygen-e18f715eb55121a4219d00bc4d824cebf1fb504b.tar.gz -/doxygen-1.9.4.src.tar.gz -/doxygen-1.9.5.src.tar.gz -/doxygen-1.9.6.src.tar.gz -/doxygen-1.9.7.src.tar.gz -/doxygen-1.9.8.src.tar.gz -/doxygen-1.10.0.src.tar.gz -/doxygen-1.11.0.src.tar.gz -/doxygen-1.12.0.src.tar.gz -/doxygen-1.13.0.src.tar.gz -/doxygen-1.13.1.src.tar.gz -/doxygen-1.13.2.src.tar.gz -/doxygen-1.14.0.src.tar.gz -/doxygen-1.15.0.src.tar.gz diff --git a/README.rpm-packaging b/README.rpm-packaging deleted file mode 100644 index 9f09233..0000000 --- a/README.rpm-packaging +++ /dev/null @@ -1,36 +0,0 @@ -# Javascript asset handling for RPM packaging - -RPM packages should unbundle Javascript assets during the RPM build -process. Currently, this process is not fully automated. - -If Doxygen HTML documentation is installed, add - - %{?doxygen_js_requires} - -to the subpackage that contains the HTML documentation. - -If HTML documentation is installed during the %install phase, invoke - - %{doxygen_unbundle_buildroot} - -towards the end of the %install section. It will process Javascript -files under %{_docdir} (/usr/share/doc). If another directory needs -to be processed, use an explicit directory argument: - - %{doxygen_unbundle_buildroot /usr/share/example/doc} - -The path is relative to %{buildroot} or $RPM_BUILD_ROOT. - -If HTML documentation is not installed, but propagated into package -using %doc directives, it is necessary to invoke - - %{doxygen_unbundle} - -after running Doxygen (typically from the %build section). This -unbundles assets found under the current directory. A specific -directory can be processed by passing it as an argument: - - %{doxygen_unbundle example/doc} - -In this case, the path argument is relative to the current directory, -not the buildroot. diff --git a/doxygen-1.8.15-crash.patch b/doxygen-1.8.15-crash.patch new file mode 100644 index 0000000..24c3467 --- /dev/null +++ b/doxygen-1.8.15-crash.patch @@ -0,0 +1,52 @@ +commit c26c5fc4fb852098c7188e7762778c87a50771cb +Author: albert-github +Date: Mon Jan 7 18:48:13 2019 +0100 + + issue #6749 doxygen 1.8.15 segfault + + An empty string was defined in a `` resulting in a null pointer access. + +diff --git a/src/util.cpp b/src/util.cpp +index f9c2492f..9a0e513b 100644 +--- a/src/util.cpp ++++ b/src/util.cpp +@@ -5444,6 +5444,7 @@ QCString escapeCharsInString(const char *name,bool allowDots,bool allowUnderscor + static bool allowUnicodeNames = Config_getBool(ALLOW_UNICODE_NAMES); + static GrowBuf growBuf; + growBuf.clear(); ++ if (name==0) return ""; + char c; + const char *p=name; + while ((c=*p++)!=0) +@@ -6962,6 +6963,7 @@ void filterLatexString(FTextStream &t,const char *str, + + QCString latexEscapeLabelName(const char *s) + { ++ if (s==0) return ""; + QGString result; + QCString tmp(qstrlen(s)+1); + FTextStream t(&result); +@@ -6999,6 +7001,7 @@ QCString latexEscapeLabelName(const char *s) + + QCString latexEscapeIndexChars(const char *s) + { ++ if (s==0) return ""; + QGString result; + QCString tmp(qstrlen(s)+1); + FTextStream t(&result); +@@ -7037,6 +7040,7 @@ QCString latexEscapeIndexChars(const char *s) + + QCString latexEscapePDFString(const char *s) + { ++ if (s==0) return ""; + QGString result; + FTextStream t(&result); + const char *p=s; +@@ -7061,6 +7065,7 @@ QCString latexEscapePDFString(const char *s) + + QCString latexFilterURL(const char *s) + { ++ if (s==0) return ""; + QGString result; + FTextStream t(&result); + const char *p=s; diff --git a/doxygen-1.8.15-handle_empty_TOC_in_XML_output.patch b/doxygen-1.8.15-handle_empty_TOC_in_XML_output.patch new file mode 100644 index 0000000..dd90cdd --- /dev/null +++ b/doxygen-1.8.15-handle_empty_TOC_in_XML_output.patch @@ -0,0 +1,27 @@ +commit cfe381e3ee55b8291faeea55fe3b67bb9e545d60 +Author: Vladimír Vondruš +Date: Sat Dec 29 21:52:39 2018 +0100 + + Properly handle empty TOC in XML output. + + Caused the test (079) to fail with a SIGSEGV, but larger projects exit + with a success return code and the generated XML is either truncated or + empty. Weird. + +diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp +index bacf4d41..033e611f 100644 +--- a/src/xmlgen.cpp ++++ b/src/xmlgen.cpp +@@ -1818,10 +1818,10 @@ static void generateXMLForPage(PageDef *pd,FTextStream &ti,bool isExample) + } + } + writeInnerPages(pd->getSubPages(),t); +- if (pd->localToc().isXmlEnabled()) ++ SectionDict *sectionDict = pd->getSectionDict(); ++ if (pd->localToc().isXmlEnabled() && sectionDict) + { + t << " " << endl; +- SectionDict *sectionDict = pd->getSectionDict(); + SDict::Iterator li(*sectionDict); + SectionInfo *si; + int level=1,l; diff --git a/doxygen-1.8.15-inconsistent_whitespace_removal_for_operators.patch b/doxygen-1.8.15-inconsistent_whitespace_removal_for_operators.patch new file mode 100644 index 0000000..01c3df7 --- /dev/null +++ b/doxygen-1.8.15-inconsistent_whitespace_removal_for_operators.patch @@ -0,0 +1,48 @@ +commit e54ccc0e6eb12a0720860d863a89cb3f1a83f2a2 +Author: Dimitri van Heesch +Date: Sun Feb 3 14:33:35 2019 +0100 + + Issue 6814: Inconsistent whitespace removal for operators in 1.8.15 + +diff --git a/src/util.cpp b/src/util.cpp +index 9a0e513b..3a3bfd38 100644 +--- a/src/util.cpp ++++ b/src/util.cpp +@@ -1895,7 +1895,7 @@ QCString removeRedundantWhiteSpace(const QCString &s) + if (g_charAroundSpace.charMap[(uchar)pc].before && + g_charAroundSpace.charMap[(uchar)nc].after && + !(pc==',' && nc=='.') && +- (osp<8 || (osp>=8 && pc!='"' && isId(nc)) || (osp>=8 && pc!='"' && nc!='"')) ++ (osp<8 || (osp>=8 && isId(pc) && isId(nc))) + // e.g. 'operator >>' -> 'operator>>', + // 'operator "" _x' -> 'operator""_x', + // but not 'operator int' -> 'operatorint' +commit 2802e2b4ee8158dba3f3584037e99907c6db7ec4 +Author: Dimitri van Heesch +Date: Mon Feb 4 22:19:56 2019 +0100 + + Issue 6814: Further finetuning for inconsistent whitespace removal for operators in 1.8.15 + +diff --git a/src/util.cpp b/src/util.cpp +index 3a3bfd38..53b176d4 100644 +--- a/src/util.cpp ++++ b/src/util.cpp +@@ -1847,7 +1847,8 @@ QCString removeRedundantWhiteSpace(const QCString &s) + case '*': + if (i>0 && pc!=' ' && pc!='\t' && pc!=':' && + pc!='*' && pc!='&' && pc!='(' && pc!='/' && +- pc!='.' && (osp<9 || !(pc=='>' && osp==11))) ++ pc!='.' && osp<9 ++ ) + // avoid splitting &&, **, .*, operator*, operator->* + { + *dst++=' '; +@@ -1855,7 +1856,7 @@ QCString removeRedundantWhiteSpace(const QCString &s) + *dst++=c; + break; + case '&': +- if (i>0 && isId(pc)) ++ if (i>0 && isId(pc) && osp<9) + { + if (nc != '=') + // avoid splitting operator&= diff --git a/doxygen-1.8.15-multilib.patch b/doxygen-1.8.15-multilib.patch new file mode 100644 index 0000000..329ce72 --- /dev/null +++ b/doxygen-1.8.15-multilib.patch @@ -0,0 +1,20 @@ +diff -up doxygen-1.8.15/src/dirdef.cpp.me doxygen-1.8.15/src/dirdef.cpp +--- doxygen-1.8.15/src/dirdef.cpp.me 2019-02-14 22:57:29.709491363 +0100 ++++ doxygen-1.8.15/src/dirdef.cpp 2019-02-14 22:59:10.922169840 +0100 +@@ -936,14 +936,14 @@ void buildDirectories() + for (;(fd=fni.current());++fni) + { + //printf("buildDirectories %s\n",fd->name().data()); +- if (fd->getReference().isEmpty()) ++ if (fd->getReference().isEmpty() && !fd->isDocumentationFile()) + { + DirDef *dir; + if ((dir=Doxygen::directories->find(fd->getPath()))==0) // new directory + { + dir = DirDef::mergeDirectoryInTree(fd->getPath()); + } +- if (dir && !fd->isDocumentationFile()) dir->addFile(fd); ++ if (dir) dir->addFile(fd); + } + else + { diff --git a/doxygen-1.8.15-test_for_XML_output_with_an_empty_TOC.patch b/doxygen-1.8.15-test_for_XML_output_with_an_empty_TOC.patch new file mode 100644 index 0000000..afa039d --- /dev/null +++ b/doxygen-1.8.15-test_for_XML_output_with_an_empty_TOC.patch @@ -0,0 +1,42 @@ +commit e26a5b8eed8a012e6a400f1ed6baf27980668b53 +Author: Vladimír Vondruš +Date: Sat Dec 29 21:30:51 2018 +0100 + + testing: add a test for XML output with an empty TOC. + + Fails, in particular causes Doxygen to produce an empty (or truncated) + XML file but returning with a success error code. + +diff --git a/testing/079/empty.xml b/testing/079/empty.xml +new file mode 100644 +index 00000000..3e1d6915 +--- /dev/null ++++ b/testing/079/empty.xml +@@ -0,0 +1,12 @@ ++ ++ ++ ++ empty ++ An empty page ++ ++ ++ ++With an empty TOC. ++ ++ ++ +diff --git a/testing/079_tableofcontents.dox b/testing/079_tableofcontents.dox +new file mode 100644 +index 00000000..499771d7 +--- /dev/null ++++ b/testing/079_tableofcontents.dox +@@ -0,0 +1,9 @@ ++// objective: test TOC generation for an empty page ++// check: empty.xml ++/** ++@page empty An empty page ++ ++@tableofcontents ++ ++With an empty TOC. ++*/ diff --git a/doxygen-unbundler b/doxygen-unbundler deleted file mode 100644 index aaf8bed..0000000 --- a/doxygen-unbundler +++ /dev/null @@ -1,69 +0,0 @@ -#!/usr/bin/bash -e -# Replace Doxygen-generated Javascript files with symblic links. - -set -o pipefail - -jsdir="$1" -buildroot="$2" -subdir="$3" - -if test -z "$jsdir" ; then - echo "error: Javascript directory argument required" 1>&2 - exit 1 -fi - -js_files="$(echo "$jsdir"/doxygen/*.js)" - -if test -z "$buildroot" ; then - # Only absolute links are possible because the final installation - # destination is unknown. - if test -z "$subdir"; then - subdir="." - fi - find "$subdir" -type f -name '*.js' \ - | while read js_file; do - for js_file_ref in $js_files; do - if cmp -s "$js_file_ref" "$js_file"; then - ln -sf "$js_file_ref" "$js_file" - break - fi - done - done -else - # Create relative links. - cd "$buildroot" - abs_buildroot="$(readlink -f .)" - cd "./$subdir" - - # Compute the number of ../ needed to reach the root directory. - prefix="" - while true; do - p="$(readlink -f "${prefix:-.}")" - if test "$p" = "$abs_buildroot"; then - break - elif test "$p" = "/"; then - echo "error: Could not find buildroot directory" 1>&2 - exit 1 - elif test -z "$prefix"; then - prefix=".." - else - prefix="../$prefix" - fi - done - - # Create relative links. - find . -type f -name '*.js' -printf "%d %p\n" \ - | while read depth js_file; do - for js_file_ref in $js_files; do - if cmp -s "$js_file_ref" "$js_file"; then - target_prefix="$prefix" - i=1 - while test "$i" -lt "$depth"; do - target_prefix="../$target_prefix" - i=$(($i + 1)) - done - ln -sf "$target_prefix$js_file_ref" "$js_file" - fi - done - done -fi diff --git a/doxygen.spec b/doxygen.spec index 7818615..6ec03ef 100644 --- a/doxygen.spec +++ b/doxygen.spec @@ -1,142 +1,62 @@ %if 0%{?fedora} %global xapian_core_support ON -%global build_wizard ON -%global system_spdlog ON -%global system_fmt ON %else %global xapian_core_support OFF -%global build_wizard OFF -%global system_spdlog OFF -%global system_fmt OFF %endif -%global build_search %{xapian_core_support} -%global clang_support ON -%global system_sqlite3 ON Summary: A documentation system for C/C++ Name: doxygen -Epoch: 2 -Version: 1.15.0 -Release: 1%{?dist} -# No version is specified. -License: GPL-2.0-or-later -Url: https://github.com/doxygen -Source0: https://www.doxygen.nl/files/%{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 -Source3: README.rpm-packaging -Source4: doxygen-unbundler +Epoch: 1 +Version: 1.8.15 +Release: 6%{?dist} -# upstream fixes +# No version is specified. +License: GPL+ +Url: http://www.doxygen.nl +Source0: http://doxygen.nl/files/%{name}-%{version}.src.tar.gz +# this icon is part of kdesdk +Source1: doxywizard.png +Source2: doxywizard.desktop + +# upstream patches +Patch0: doxygen-1.8.15-handle_empty_TOC_in_XML_output.patch +Patch1: doxygen-1.8.15-test_for_XML_output_with_an_empty_TOC.patch +Patch2: doxygen-1.8.15-inconsistent_whitespace_removal_for_operators.patch +Patch3: doxygen-1.8.15-crash.patch +Patch4: doxygen-1.8.15-multilib.patch BuildRequires: %{_bindir}/python3 -BuildRequires: perl-interpreter, perl-open -BuildRequires: texlive-bibtex -BuildRequires: web-assets-devel -# Building an RPM package typically needs unbundling of Javascript assets. -Requires: (js-doxygen if redhat-rpm-config) +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(multirow.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(import.sty) BuildRequires: tex(tabu.sty) +BuildRequires: tex(appendix.sty) +BuildRequires: tex(adjustbox.sty) BuildRequires: /usr/bin/epstopdf BuildRequires: texlive-epstopdf BuildRequires: ghostscript BuildRequires: gettext BuildRequires: desktop-file-utils BuildRequires: graphviz -%endif +%else BuildRequires: zlib-devel +%endif BuildRequires: flex BuildRequires: bison BuildRequires: cmake -BuildRequires: git -%if "x%{?xapian_core_support}" == "xON" +%if %{xapian_core_support} == "ON" BuildRequires: xapian-core-devel +BuildRequires: zlib-devel %endif -%if "x%{?clang_support}" == "xON" -BuildRequires: llvm-devel -BuildRequires: clang-devel -%else -BuildRequires: gcc-c++ gcc -%endif -%if "%{system_spdlog}" == "ON" -BuildRequires: spdlog-devel -%else -# SPDLOG_VER* defined in deps/spdlog/include/spdlog/version.h -Provides: bundled(spdlog) = 1.14.1 -%endif -%if "%{system_sqlite3}" == "ON" -BuildRequires: sqlite-devel -%else -# SQLITE_VERSION defined in deps/sqlite3/sqlite3.h -Provides: bundled(sqlite) = 3.42.0 -%endif -%if "%{system_fmt}" == "ON" -BuildRequires: fmt-devel -%else -# deps/fmt/README.md -Provides: bundled(fmt) = 10.2.1 -%endif - Requires: perl-interpreter -Requires: graphviz %description Doxygen can generate an online class browser (in HTML) and/or a @@ -145,94 +65,30 @@ documentation is extracted directly from the sources. Doxygen can also be configured to extract the code structure from undocumented source files. -%package -n js-doxygen -Summary: Javascript files used by Doxygen -Requires: web-assets-filesystem -BuildArch: noarch -%description -n js-doxygen -Javascript files for use by locally installed Doxygen documentation. - -%if "x%{build_wizard}" == "xON" +%if ! 0%{?_module_build} %package doxywizard Summary: A GUI for creating and editing configuration files Requires: %{name} = %{epoch}:%{version}-%{release} -BuildRequires: qt6-qtbase-devel -BuildRequires: qt6-qtsvg-devel +BuildRequires: qt5-qtbase-devel %description doxywizard Doxywizard is a GUI for creating and editing configuration files that are used by doxygen. -%endif -%if ! 0%{?_module_build} %package latex Summary: Support for producing latex/pdf output from doxygen Requires: %{name} = %{epoch}:%{version}-%{release} Requires: tex(latex) -Requires: tex(dvips) -Requires: texlive-wasy %if 0%{?fedora} > 17 || 0%{?rhel} > 6 -# From doc/manual.sty -Requires: tex(helvet.sty) +Requires: tex(multirow.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 +Requires: tex(import.sty) +Requires: tex(tabu.sty) +Requires: tex(appendix.sty) +Requires: tex(newunicodechar.sty) +Requires: texlive-epstopdf-bin %endif %description latex @@ -241,98 +97,92 @@ Requires: texlive-epstopdf %prep -%autosetup -p1 -a2 +%autosetup -p1 + +# 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 -cp %{SOURCE3} . %build -%cmake \ - -Dbuild_wizard=%{build_wizard} \ - -DBUILD_SHARED_LIBS=OFF \ - -DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \ - -Dbuild_search=%{build_search} \ - -Duse_libclang=%{clang_support} \ - -DMAN_INSTALL_DIR=%{_mandir}/man1 \ - -Dbuild_doc=OFF \ - -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ - -Dbuild_xmlparser=ON \ - -Duse_sys_sqlite3=%{system_sqlite3} \ - -Duse_sys_spdlog=%{system_spdlog} \ - -Duse_sys_fmt=%{system_fmt} -%cmake_build %{?_smp_mflags} +mkdir -p %{_target_platform} +pushd %{_target_platform} +%if ! 0%{?_module_build} +%cmake \ + -DPYTHON_EXECUTABLE=%{_bindir}/python3 \ + -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 \ + -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 +popd + +make %{?_smp_mflags} -C %{_target_platform} %install -%cmake_install +make install DESTDIR=%{buildroot} -C %{_target_platform} + +install -m644 -p -D %{SOURCE1} %{buildroot}%{_datadir}/pixmaps/doxywizard.png # install man pages mkdir -p %{buildroot}/%{_mandir}/man1 cp doc/*.1 %{buildroot}/%{_mandir}/man1/ - -%if "x%{build_wizard}" == "xOFF" +%if 0%{?_module_build} rm -f %{buildroot}/%{_mandir}/man1/doxywizard.1* -%else -# 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 -desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1} %endif -%if "x%{?xapian_core_support}" == "xOFF" +%if %{xapian_core_support} == "OFF" rm -f %{buildroot}/%{_mandir}/man1/doxyindexer.1* %{buildroot}/%{_mandir}/man1/doxysearch.1* %endif # remove duplicate rm -rf %{buildroot}/%{_docdir}/packages -# Install the asset files. -install -m644 -D --target-directory=%{buildroot}%{_jsdir}/doxygen templates/html/*.js - -# Generate the macros file. Expand version/release/%%_jsdir. -mkdir -p %{buildroot}%{_rpmconfigdir}/macros.d -cat > %{buildroot}%{_rpmconfigdir}/macros.d/macros.doxygen <<'EOF' -%%doxygen_js_requires() Requires: js-doxygen >= %{version}-%{release} -%%doxygen_unbundle_buildroot() %%{_rpmconfigdir}/redhat/doxygen-unbundler "%{_jsdir}" "%%{buildroot}" %%[ %%# == 0 ? "%%{_docdir}" : "%%1"] -%%doxygen_unbundle() %{_rpmconfigdir}/redhat/doxygen-unbundler "%{_jsdir}" "" %%* -EOF - - # Install the unbundler script. -install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE4} +%if ! 0%{?_module_build} +desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE2} +%endif %check -%ctest +make tests -C %{_target_platform} %files -%doc LANGUAGE.HOWTO README.md README.rpm-packaging -%license LICENSE +%doc LANGUAGE.HOWTO README.md %if ! 0%{?_module_build} -%if "x%{?xapian_core_support}" == "xON" +%if %{xapian_core_support} == "ON" %{_bindir}/doxyindexer %{_bindir}/doxysearch* %endif %endif %{_bindir}/doxygen %{_mandir}/man1/doxygen.1* -%if "x%{?xapian_core_support}" == "xON" +%if %{xapian_core_support} == "ON" %{_mandir}/man1/doxyindexer.1* %{_mandir}/man1/doxysearch.1* %endif -%{_rpmconfigdir}/macros.d/macros.doxygen -%{_rpmconfigdir}/redhat/doxygen-unbundler -%if "x%{build_wizard}" == "xON" +%if ! 0%{?_module_build} %files doxywizard %{_bindir}/doxywizard %{_mandir}/man1/doxywizard* %{_datadir}/applications/doxywizard.desktop -%{_datadir}/icons/hicolor/*/apps/doxywizard.png %endif - -%files -n js-doxygen -%{_jsdir}/doxygen/* +%{_datadir}/pixmaps/doxywizard.png %if ! 0%{?_module_build} %files latex @@ -340,251 +190,6 @@ install -m755 -D --target-directory=%{buildroot}%{_rpmconfigdir}/redhat %{SOURCE %endif %changelog -* Thu Nov 13 2025 Than Ngo - 2:1.15.0-1 -- Update to 1.15.0 - -* Wed Jul 23 2025 Fedora Release Engineering - 2:1.14.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Wed Jun 25 2025 Than Ngo - 2:1.14.0-3 -- Upstream fix for input buffer overflow - -* Wed May 28 2025 Yaakov Selkowitz - 2:1.14.0-2 -- Use bundled spdlog on RHEL, redux - -* Sun May 25 2025 Than Ngo - 2:1.14.0-1 -- Fix rhbz#2368381, update to 1.14.0 - -* Tue Feb 11 2025 Yaakov Selkowitz - 2:1.13.2-5 -- Use bundled spdlog on RHEL - -* Mon Feb 10 2025 Than Ngo - 2:1.13.2-4 -- built with system sqlite3 and spdlog - -* Sat Feb 08 2025 Than Ngo - 2:1.13.2-3 -- Introduce js-doxygen subpackage and unbundle Javascript during RPM builds -- Use system spdlog and sqlite3 - -* Thu Jan 16 2025 Fedora Release Engineering - 2:1.13.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Mon Jan 13 2025 Than Ngo - 2:1.13.2-1 -- Fix rhbz#2336720, Update to 1.13.2 -- Fix rhbz#2336536, FTBFS in ignition-transport - -* Fri Jan 03 2025 Than Ngo - 2:1.13.1-1 -- Fix rhbz#2335266, Update to 1.13.1 - -* Thu Jan 02 2025 Than Ngo - 2:1.13.0-1 -- Fix rhbz#2334703, Update to 1.13.0 - -* Mon Oct 28 2024 Than Ngo - 2:1.12.0-3 -- Fix rhbz#2295788, Non-reproducible file names in doxygen output - -* Mon Oct 28 2024 Than Ngo - 2:1.12.0-2 -- Fix rhbz#x2322116, broken markdown links to anchors - -* Wed Aug 07 2024 Than Ngo - 2:1.12.0-1 -- update to 1.12.0 - -* Wed Jul 17 2024 Fedora Release Engineering - 2:1.11.0-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 14 2024 Than Ngo - 2:1.11.0-4 -- fixed rhbz#2292250, update license - -* Fri May 31 2024 Than Ngo - 2:1.11.0-3 -- removed workaround for debuginfo - -* Wed May 29 2024 Than Ngo - 2:1.11.0-2 -- fixed rhbz#2283362, fix buffer overflow - -* Tue May 21 2024 Than Ngo - 2:1.11.0-1 -- update to 1.11.0 - -* Wed Jan 24 2024 Fedora Release Engineering - 2:1.10.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Than Ngo - 2:1.10.0-2 -- don't use clang to build doxygen as workaround for a bug in gcc-14 - -* Tue Dec 26 2023 Than Ngo - 1.10.0-1 -- bz#2255826, update to 1.10 - -* Mon Sep 11 2023 Than Ngo - 1.9.8-1 -- fix bz#2235035, update to 1.9.8 - -* Wed Jul 19 2023 Fedora Release Engineering - 2:1.9.7-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue May 30 2023 Than Ngo - 2:1.9.7-2 -- disable build_wizard for eln -- fixed broken unicode test - -* Fri May 19 2023 Than Ngo - 2:1.9.7-1 -- fix #2208417, rebase to 1.9.7 - -* Fri Mar 10 2023 Than Ngo - 2:1.9.6-7 -- replace obsolescent egrep with grep -E - -* Fri Feb 17 2023 Than Ngo - 2:1.9.6-6 -- migrated to SPDX license - -* Wed Jan 25 2023 Than Ngo - 2:1.9.6-5 -- rebuilt against new ghostscript-10 - -* Fri Jan 20 2023 Than Ngo - 2:1.9.6-4 -- fixed bz#2162170, add Require on texlive-wasy - -* Thu Jan 19 2023 Fedora Release Engineering - 2:1.9.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jan 18 2023 Than Ngo - 2:1.9.6-2 -- fixed bz#2161515 - doxygen FTBFS if _module_build is 1 - -* Tue Jan 03 2023 Than Ngo - 2:1.9.6-1 -- fixed bz#2156564, update to 1.9.6 - -* Sun Sep 18 2022 Pete Walter - 2:1.9.5-2 -- Rebuild for llvm 15 - -* Fri Sep 09 2022 Than Ngo - 2:1.9.5-1 -- 1.9.5 - -* Thu Aug 04 2022 Than Ngo - 2:1.9.4-2 -- Fixed #2113876, Failed to build LaTex output - -* Thu Jul 21 2022 Fedora Release Engineering - 2:1.9.4-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Fri May 06 2022 Than Ngo - 2:1.9.4-1 -- 1.9.4 - -* Thu Feb 17 2022 Than Ngo - 2:1.9.4-0.20220217gite18f715e -- update to 1.9.4 snapshot - -* Thu Jan 20 2022 Fedora Release Engineering - 2:1.9.1-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Oct 27 2021 Than Ngo - 2:1.9.1-12 -- revert 1.9.1, noarch package built differently on different architectures - -* Wed Oct 27 2021 Than Ngo - 1:1.9.2-4 -- update - -* Thu Oct 07 2021 Tom Stellard - 1:1.9.2-3 -- Rebuild for llvm-13.0.0 - -* Sun Sep 12 2021 Mattias Ellert - 1:1.9.2-2 -- Use predictable and reproducible filenames (rhbz#2000138) - -* Thu Aug 19 2021 Than Ngo - 1:1.9.2-1 -- rebase to 1.9.2 - -* Tue Aug 17 2021 Björn Esser - 1:1.9.1-11 -- Rebuild for clang-13.0.0 - -* Wed Jul 21 2021 Fedora Release Engineering - 1:1.9.1-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Mar 30 2021 Jonathan Wakely - 1:1.9.1-9 -- Rebuilt for removed libstdc++ symbol (#1937698) - -* Sun Mar 21 2021 Than Ngo - 1:1.9.1-8 -- update source - -* Mon Feb 22 2021 Than Ngo - 1:1.9.1-7 -- drop test-suite - -* Wed Feb 10 2021 Than Ngo - 1:1.9.1-6 -- fixed Coverity issues -- fixed crash in docparser - -* Tue Jan 26 2021 Fedora Release Engineering - 1:1.9.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Fri Jan 22 2021 Tom Stellard - 1:1.9.1-4 -- Rebuild for clang-11.1.0 - -* Tue Jan 19 2021 Than Ngo - 1.9.1-3 -- fixed doxygen crashes when parsing config file part2 - - -* Tue Jan 19 2021 Than Ngo - 1.9.1-2 -- fixed bz#1916161, crashes when parsing config file - -* Mon Jan 11 2021 Than Ngo - 1.9.1-1 -- update to 1.9.1 - -* Mon Jan 11 2021 Than Ngo - 1.8.20-6 -- drop BR on ImageMagick in RHEL - -* Tue Sep 29 2020 Than Ngo - 1.8.20-5 -- backport upstream patches - -* Thu Sep 17 2020 Than Ngo - 1.8.20-4 -- Fix doxygen crash - -* Tue Sep 15 2020 Mattias Ellert - 1:1.8.20-3 -- Fix doxygen producing different results on 32 and 64 bit architectures - -* Fri Aug 28 2020 Scott Talbert - 1:1.8.20-2 -- Fix issue with enums being defined in multiple files - -* Tue Aug 25 2020 Than Ngo - 1.8.20-1 -- update to 1.8.20 - -* Sat Aug 01 2020 Fedora Release Engineering - 1:1.8.18-6 -- Second attempt - Rebuilt for - https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1:1.8.18-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Wed Jul 08 2020 Than Ngo - 1.8.18-4 -- fixed link issue against new clang - -* Thu Jun 18 2020 Than Ngo - 1.8.18-3 -- fixed bz#1834591, enable clang support in fedora - -* Wed May 27 2020 Tom Callaway - 1.8.18-2 -- update tex dependencies - -* Mon May 25 2020 Than Ngo - 1.8.18-1 -- update to 1.8.18 -- backport fixes: buffer-overflow, memory leeks and md5 hash does not match for - 2 diffferent runs - -* Thu Apr 02 2020 Björn Esser - 1:1.8.17-3 -- Fix string quoting for rpm >= 4.16 - -* Tue Jan 28 2020 Fedora Release Engineering - 1:1.8.17-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Tue Jan 14 2020 Than Ngo - 1:1.8.17-1 -- resolves #1786799, update to 1.8.17 - -* Tue Dec 10 2019 Than Ngo - 1:1.8.16-3 -- fixed covscan issues - -* Mon Sep 16 2019 Than Ngo - 1:1.8.16-2 -- backpored upstream patch to fix #7248 - -* Wed Sep 11 2019 Than Ngo - 1:1.8.16-1 -- resolves #1742614, update to 1.8.16 - -* Wed Jul 24 2019 Fedora Release Engineering - 1:1.8.15-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Mar 19 2019 Christoph Junghans - 1:1.8.15-9 -- Incl. xml fix for c++11 - -* Sat Mar 16 2019 Than Ngo - 1:1.8.15-8 -- added license file - -* Wed Mar 13 2019 Than Ngo - 1:1.8.15-7 -- added Requirement on dot - * Thu Feb 14 2019 Than Ngo - 1:1.8.15-6 - fixed bz#1677000, fixed multilib issue diff --git a/sources b/sources index 7883325..0c7f9ec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (doxywizard-icons.tar.xz) = 865a86d7535e64ad92e36ba1f901d51cd6b603e762e5c68761a45bc1f965a36e6a6c8d29468ecb2ec799f0add2347537723832aff6660c76af453f80a0a370ad -SHA512 (doxygen-1.15.0.src.tar.gz) = e53cc8da6cf1fe3ca3b3637647ed6afa28365351eac81d010f6691d939df5e449b3d898a6f695dd850d12659dfd7018fc864071b30fbca5dd196dc094ec4371e +SHA512 (doxywizard.png) = 42a7e5903bf27463d3b072cf043aef071b519b53054bbe647c522d5e499e02f554867ab5e9971b06493769cc17b9d1588462aeade284de1f9d579cf9f99e8851 +SHA512 (doxygen-1.8.15.src.tar.gz) = a5512e78be66c1591d8ec7e284d5d25c92a97218c79e6fed3c538c723a8dfef4ff7085970bf271a6b639e907157cd4df9fb55d3c975f8d3302fb1012a4d92079