Compare commits

..

No commits in common. "rawhide" and "f30" have entirely different histories.

10 changed files with 274 additions and 606 deletions

21
.gitignore vendored
View file

@ -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

View file

@ -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.

View file

@ -0,0 +1,52 @@
commit c26c5fc4fb852098c7188e7762778c87a50771cb
Author: albert-github <albert.tests@gmail.com>
Date: Mon Jan 7 18:48:13 2019 +0100
issue #6749 doxygen 1.8.15 segfault
An empty string was defined in a `<a href="">` 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;

View file

@ -0,0 +1,27 @@
commit cfe381e3ee55b8291faeea55fe3b67bb9e545d60
Author: Vladimír Vondruš <mosra@centrum.cz>
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 << " <tableofcontents>" << endl;
- SectionDict *sectionDict = pd->getSectionDict();
SDict<SectionInfo>::Iterator li(*sectionDict);
SectionInfo *si;
int level=1,l;

View file

@ -0,0 +1,48 @@
commit e54ccc0e6eb12a0720860d863a89cb3f1a83f2a2
Author: Dimitri van Heesch <doxygen@gmail.com>
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 <doxygen@gmail.com>
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&=

View file

@ -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
{

View file

@ -0,0 +1,42 @@
commit e26a5b8eed8a012e6a400f1ed6baf27980668b53
Author: Vladimír Vondruš <mosra@centrum.cz>
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 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
+ <compounddef id="empty" kind="page">
+ <compoundname>empty</compoundname>
+ <title>An empty page</title>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+<para>With an empty TOC. </para>
+ </detaileddescription>
+ </compounddef>
+</doxygen>
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.
+*/

View file

@ -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

View file

@ -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 <than@redhat.com> - 2:1.15.0-1
- Update to 1.15.0
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.14.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 25 2025 Than Ngo <than@redhat.com> - 2:1.14.0-3
- Upstream fix for input buffer overflow
* Wed May 28 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 2:1.14.0-2
- Use bundled spdlog on RHEL, redux
* Sun May 25 2025 Than Ngo <than@redhat.com> - 2:1.14.0-1
- Fix rhbz#2368381, update to 1.14.0
* Tue Feb 11 2025 Yaakov Selkowitz <yselkowi@redhat.com> - 2:1.13.2-5
- Use bundled spdlog on RHEL
* Mon Feb 10 2025 Than Ngo <than@redhat.com> - 2:1.13.2-4
- built with system sqlite3 and spdlog
* Sat Feb 08 2025 Than Ngo <than@redhat.com> - 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 <releng@fedoraproject.org> - 2:1.13.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Jan 13 2025 Than Ngo <than@redhat.com> - 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 <than@redhat.com> - 2:1.13.1-1
- Fix rhbz#2335266, Update to 1.13.1
* Thu Jan 02 2025 Than Ngo <than@redhat.com> - 2:1.13.0-1
- Fix rhbz#2334703, Update to 1.13.0
* Mon Oct 28 2024 Than Ngo <than@redhat.com> - 2:1.12.0-3
- Fix rhbz#2295788, Non-reproducible file names in doxygen output
* Mon Oct 28 2024 Than Ngo <than@redhat.com> - 2:1.12.0-2
- Fix rhbz#x2322116, broken markdown links to anchors
* Wed Aug 07 2024 Than Ngo <than@redhat.com> - 2:1.12.0-1
- update to 1.12.0
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.11.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Fri Jun 14 2024 Than Ngo <than@redhat.com> - 2:1.11.0-4
- fixed rhbz#2292250, update license
* Fri May 31 2024 Than Ngo <than@redhat.com> - 2:1.11.0-3
- removed workaround for debuginfo
* Wed May 29 2024 Than Ngo <than@redhat.com> - 2:1.11.0-2
- fixed rhbz#2283362, fix buffer overflow
* Tue May 21 2024 Than Ngo <than@redhat.com> - 2:1.11.0-1
- update to 1.11.0
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.10.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Than Ngo <than@redhat.com> - 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 <than@redhat.com> - 1.10.0-1
- bz#2255826, update to 1.10
* Mon Sep 11 2023 Than Ngo <than@redhat.com> - 1.9.8-1
- fix bz#2235035, update to 1.9.8
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Tue May 30 2023 Than Ngo <than@redhat.com> - 2:1.9.7-2
- disable build_wizard for eln
- fixed broken unicode test
* Fri May 19 2023 Than Ngo <than@redhat.com> - 2:1.9.7-1
- fix #2208417, rebase to 1.9.7
* Fri Mar 10 2023 Than Ngo <than@redhat.com> - 2:1.9.6-7
- replace obsolescent egrep with grep -E
* Fri Feb 17 2023 Than Ngo <than@redhat.com> - 2:1.9.6-6
- migrated to SPDX license
* Wed Jan 25 2023 Than Ngo <than@redhat.com> - 2:1.9.6-5
- rebuilt against new ghostscript-10
* Fri Jan 20 2023 Than Ngo <than@redhat.com> - 2:1.9.6-4
- fixed bz#2162170, add Require on texlive-wasy
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.6-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jan 18 2023 Than Ngo <than@redhat.com> - 2:1.9.6-2
- fixed bz#2161515 - doxygen FTBFS if _module_build is 1
* Tue Jan 03 2023 Than Ngo <than@redhat.com> - 2:1.9.6-1
- fixed bz#2156564, update to 1.9.6
* Sun Sep 18 2022 Pete Walter <pwalter@fedoraproject.org> - 2:1.9.5-2
- Rebuild for llvm 15
* Fri Sep 09 2022 Than Ngo <than@redhat.com> - 2:1.9.5-1
- 1.9.5
* Thu Aug 04 2022 Than Ngo <than@redhat.com> - 2:1.9.4-2
- Fixed #2113876, Failed to build LaTex output
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.4-1.1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri May 06 2022 Than Ngo <than@redhat.com> - 2:1.9.4-1
- 1.9.4
* Thu Feb 17 2022 Than Ngo <than@redhat.com> - 2:1.9.4-0.20220217gite18f715e
- update to 1.9.4 snapshot
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2:1.9.1-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Oct 27 2021 Than Ngo <than@redhat.com> - 2:1.9.1-12
- revert 1.9.1, noarch package built differently on different architectures
* Wed Oct 27 2021 Than Ngo <than@redhat.com> - 1:1.9.2-4
- update
* Thu Oct 07 2021 Tom Stellard <tstellar@redhat.com> - 1:1.9.2-3
- Rebuild for llvm-13.0.0
* Sun Sep 12 2021 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:1.9.2-2
- Use predictable and reproducible filenames (rhbz#2000138)
* Thu Aug 19 2021 Than Ngo <than@redhat.com> - 1:1.9.2-1
- rebase to 1.9.2
* Tue Aug 17 2021 Björn Esser <besser82@fedoraproject.org> - 1:1.9.1-11
- Rebuild for clang-13.0.0
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.1-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Mar 30 2021 Jonathan Wakely <jwakely@redhat.com> - 1:1.9.1-9
- Rebuilt for removed libstdc++ symbol (#1937698)
* Sun Mar 21 2021 Than Ngo <than@redhat.com> - 1:1.9.1-8
- update source
* Mon Feb 22 2021 Than Ngo <than@redhat.com> - 1:1.9.1-7
- drop test-suite
* Wed Feb 10 2021 Than Ngo <than@redhat.com> - 1:1.9.1-6
- fixed Coverity issues
- fixed crash in docparser
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.9.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jan 22 2021 Tom Stellard <tstellar@redhat.com> - 1:1.9.1-4
- Rebuild for clang-11.1.0
* Tue Jan 19 2021 Than Ngo <than@redhat.com> - 1.9.1-3
- fixed doxygen crashes when parsing config file part2
* Tue Jan 19 2021 Than Ngo <than@redhat.com> - 1.9.1-2
- fixed bz#1916161, crashes when parsing config file
* Mon Jan 11 2021 Than Ngo <than@redhat.com> - 1.9.1-1
- update to 1.9.1
* Mon Jan 11 2021 Than Ngo <than@redhat.com> - 1.8.20-6
- drop BR on ImageMagick in RHEL
* Tue Sep 29 2020 Than Ngo <than@redhat.com> - 1.8.20-5
- backport upstream patches
* Thu Sep 17 2020 Than Ngo <than@redhat.com> - 1.8.20-4
- Fix doxygen crash
* Tue Sep 15 2020 Mattias Ellert <mattias.ellert@physics.uu.se> - 1:1.8.20-3
- Fix doxygen producing different results on 32 and 64 bit architectures
* Fri Aug 28 2020 Scott Talbert <swt@techie.net> - 1:1.8.20-2
- Fix issue with enums being defined in multiple files
* Tue Aug 25 2020 Than Ngo <than@redhat.com> - 1.8.20-1
- update to 1.8.20
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.18-6
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.18-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Wed Jul 08 2020 Than Ngo <than@redhat.com> - 1.8.18-4
- fixed link issue against new clang
* Thu Jun 18 2020 Than Ngo <than@redhat.com> - 1.8.18-3
- fixed bz#1834591, enable clang support in fedora
* Wed May 27 2020 Tom Callaway <spot@fedoraproject.org> - 1.8.18-2
- update tex dependencies
* Mon May 25 2020 Than Ngo <than@redhat.com> - 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 <besser82@fedoraproject.org> - 1:1.8.17-3
- Fix string quoting for rpm >= 4.16
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.17-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Tue Jan 14 2020 Than Ngo <than@redhat.com> - 1:1.8.17-1
- resolves #1786799, update to 1.8.17
* Tue Dec 10 2019 Than Ngo <than@redhat.com> - 1:1.8.16-3
- fixed covscan issues
* Mon Sep 16 2019 Than Ngo <than@redhat.com> - 1:1.8.16-2
- backpored upstream patch to fix #7248
* Wed Sep 11 2019 Than Ngo <than@redhat.com> - 1:1.8.16-1
- resolves #1742614, update to 1.8.16
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1:1.8.15-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Tue Mar 19 2019 Christoph Junghans <junghans@votca.org> - 1:1.8.15-9
- Incl. xml fix for c++11
* Sat Mar 16 2019 Than Ngo <than@redhat.com> - 1:1.8.15-8
- added license file
* Wed Mar 13 2019 Than Ngo <than@redhat.com> - 1:1.8.15-7
- added Requirement on dot
* Thu Feb 14 2019 Than Ngo <than@redhat.com> - 1:1.8.15-6
- fixed bz#1677000, fixed multilib issue

View file

@ -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