update to 1.8.2

This commit is contained in:
Than Ngo 2020-08-25 14:26:47 +02:00
parent ef5673b15d
commit 34ef017706
6 changed files with 15 additions and 591 deletions

View File

@ -1,53 +0,0 @@
commit 81cda478974e4198b10054a5ef49bc250c1a3cf7
Author: albert-github <albert.tests@gmail.com>
Date: Sat May 2 20:24:38 2020 +0200
Input buffer overflow in php input code (#7745)
When having a very long initialization line in php code we get the message:
```
input buffer overflow, can't enlarge buffer because scanner uses REJECT
```
In this case the, easy, solution is to split, in the lexer, the input based on the commas.
diff --git a/src/scanner.l b/src/scanner.l
index 8ceb4adb..e9cad5f8 100644
--- a/src/scanner.l
+++ b/src/scanner.l
@@ -2898,7 +2898,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
*yyextra->pCopyRoundString+=yytext;
}
}
-<CopyRound>[^"'()\n]+ {
+<CopyRound>[^"'()\n,]+ {
*yyextra->pCopyRoundString+=yytext;
}
<CopyRound>. {
@@ -2948,7 +2948,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
*yyextra->pCopyRoundGString+=yytext;
}
}
-<GCopyRound>[^"'()\n/]+ {
+<GCopyRound>[^"'()\n\/,]+ {
*yyextra->pCopyRoundGString+=yytext;
}
<GCopyRound>. {
@@ -2998,7 +2998,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
*yyextra->pCopySquareGString+=yytext;
}
}
-<GCopySquare>[^"\[\]\n/]+ {
+<GCopySquare>[^"\[\]\n\/,]+ {
*yyextra->pCopySquareGString+=yytext;
}
<GCopySquare>. {
@@ -3039,7 +3039,7 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP})
*yyextra->pCopyCurlyString+=yytext;
}
}
-<CopyCurly>[^"'{}\/\n]+ {
+<CopyCurly>[^"'{}\/\n,]+ {
*yyextra->pCopyCurlyString+=yytext;
}
<CopyCurly>"/" { *yyextra->pCopyCurlyString+=yytext; }

View File

@ -1,13 +0,0 @@
diff -up doxygen-1.8.18/CMakeLists.txt.old doxygen-1.8.18/CMakeLists.txt
diff -up doxygen-1.8.18/src/CMakeLists.txt.old doxygen-1.8.18/src/CMakeLists.txt
--- doxygen-1.8.18/src/CMakeLists.txt.old 2020-07-08 13:37:31.646148957 +0200
+++ doxygen-1.8.18/src/CMakeLists.txt 2020-07-08 13:45:53.470517795 +0200
@@ -308,7 +308,7 @@ if (use_libclang)
add_definitions(${LLVM_DEFINITIONS})
llvm_map_components_to_libnames(llvm_libs support core option)
target_compile_definitions(doxygen PRIVATE ${LLVM_DEFINITIONS})
- set(CLANG_LIBS libclang clangTooling ${llvm_libs})
+ set(CLANG_LIBS libclang clang-cpp -lLLVM-10)
endif()
target_link_libraries(doxygen

View File

@ -1,441 +0,0 @@
commit f3ebc866c88b31ab393637e30189d41ddb7f84f0
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Fri Apr 17 21:39:13 2020 +0200
issue #7706: Md5 hash does not match for two different runs
diff --git a/src/memberlist.cpp b/src/memberlist.cpp
index 8a76a1d7..b5377a49 100644
--- a/src/memberlist.cpp
+++ b/src/memberlist.cpp
@@ -1,12 +1,12 @@
/******************************************************************************
*
- *
+ *
*
* Copyright (C) 1997-2015 by Dimitri van Heesch.
*
* Permission to use, copy, modify, and distribute this software and its
- * documentation under the terms of the GNU General Public License is hereby
- * granted. No representations are made about the suitability of this software
+ * documentation under the terms of the GNU General Public License is hereby
+ * granted. No representations are made about the suitability of this software
* for any purpose. It is provided "as is" without express or implied warranty.
* See the GNU General Public License for more details.
*
@@ -63,10 +63,11 @@ MemberList::~MemberList()
delete memberGroupList;
}
-int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const
+static int genericCompareMembers(const MemberDef *c1,const MemberDef *c2)
{
- static bool sortConstructorsFirst = Config_getBool(SORT_MEMBERS_CTORS_1ST);
- if (sortConstructorsFirst) {
+ bool sortConstructorsFirst = Config_getBool(SORT_MEMBERS_CTORS_1ST);
+ if (sortConstructorsFirst)
+ {
int ord1 = c1->isConstructor() ? 2 : (c1->isDestructor() ? 1 : 0);
int ord2 = c2->isConstructor() ? 2 : (c2->isDestructor() ? 1 : 0);
if (ord1 > ord2)
@@ -74,11 +75,19 @@ int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const
else if (ord2 > ord1)
return 1;
}
+ // sort on name
int cmp = qstricmp(c1->name(),c2->name());
+ // then on argument list
if (cmp==0 && c1->argsString() && c2->argsString())
{
cmp = qstricmp(c1->argsString(),c2->argsString());
}
+ // then on file in which the item is defined
+ if (cmp==0)
+ {
+ cmp = qstricmp(c1->getDefFileName(),c2->getDefFileName());
+ }
+ // then on line number at which the member is defined
if (cmp==0)
{
cmp = c1->getDefLine()-c2->getDefLine();
@@ -86,6 +95,11 @@ int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const
return cmp;
}
+int MemberList::compareValues(const MemberDef *c1, const MemberDef *c2) const
+{
+ return genericCompareMembers(c1,c2);
+}
+
int MemberList::countInheritableMembers(const ClassDef *inheritedFrom) const
{
int count=0;
@@ -295,7 +309,7 @@ MemberDef *MemberList::take(uint index)
}
MemberListIterator::MemberListIterator(const MemberList &l) :
- QListIterator<MemberDef>(l)
+ QListIterator<MemberDef>(l)
{
}
@@ -385,9 +399,9 @@ bool MemberList::declVisible() const
case MemberType_Service: // fall through
case MemberType_Sequence: // fall through
case MemberType_Dictionary: // fall through
- case MemberType_Event:
+ case MemberType_Event:
return TRUE;
- case MemberType_Enumeration:
+ case MemberType_Enumeration:
{
// if this is an anonymous enum and there are variables of this
// enum type (i.e. enumVars>0), then we do not show the enum here.
@@ -399,7 +413,7 @@ bool MemberList::declVisible() const
break;
case MemberType_Friend:
return TRUE;
- case MemberType_EnumValue:
+ case MemberType_EnumValue:
{
if (m_inGroup)
{
@@ -431,7 +445,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
}
//printf(" --> writePlainDeclaration() numDecMembers()=%d\n",
// numDecMembers());
-
+
ol.pushGeneratorState();
bool first=TRUE;
@@ -460,13 +474,13 @@ void MemberList::writePlainDeclarations(OutputList &ol,
case MemberType_Service: // fall through
case MemberType_Sequence: // fall through
case MemberType_Dictionary: // fall through
- case MemberType_Event:
+ case MemberType_Event:
{
if (first) ol.startMemberList(),first=FALSE;
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup,inheritedFrom,inheritId);
break;
}
- case MemberType_Enumeration:
+ case MemberType_Enumeration:
{
// if this is an anonymous enum and there are variables of this
// enum type (i.e. enumVars>0), then we do not show the enum here.
@@ -531,7 +545,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
case MemberType_Friend:
if (inheritedFrom==0)
{
- if (first)
+ if (first)
{
ol.startMemberList();
first=FALSE;
@@ -539,7 +553,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
md->writeDeclaration(ol,cd,nd,fd,gd,m_inGroup,inheritedFrom,inheritId);
break;
}
- case MemberType_EnumValue:
+ case MemberType_EnumValue:
{
if (m_inGroup)
{
@@ -565,7 +579,7 @@ void MemberList::writePlainDeclarations(OutputList &ol,
//printf("anonymous compound members\n");
if (md->isBriefSectionVisible())
{
- if (first)
+ if (first)
{
ol.startMemberList();
first=FALSE;
@@ -576,10 +590,10 @@ void MemberList::writePlainDeclarations(OutputList &ol,
}
}
}
-
- if (!first)
+
+ if (!first)
{
- ol.endMemberList();
+ ol.endMemberList();
}
ol.popGeneratorState();
@@ -635,7 +649,7 @@ void MemberList::writeDeclarations(OutputList &ol,
if (title)
{
ol.writeInheritedSectionTitle(inheritId,cd->getReference(),
- cd->getOutputFileBase(),
+ cd->getOutputFileBase(),
cd->anchor(),title,cd->displayName());
}
ol.popGeneratorState();
@@ -643,7 +657,7 @@ void MemberList::writeDeclarations(OutputList &ol,
}
else if (num>numEnumValues)
{
- if (title)
+ if (title)
{
if (showInline)
{
@@ -663,7 +677,7 @@ void MemberList::writeDeclarations(OutputList &ol,
ol.endMemberHeader();
}
}
- if (subtitle)
+ if (subtitle)
{
QCString st=subtitle;
st = st.stripWhiteSpace();
@@ -728,7 +742,7 @@ void MemberList::writeDeclarations(OutputList &ol,
}
}
}
- if (inheritedFrom && cd)
+ if (inheritedFrom && cd)
{
// also add members that of this list type, that are grouped together
// in a separate list in class 'inheritedFrom'
@@ -772,7 +786,7 @@ void MemberList::writeDocumentation(OutputList &ol,
overloadCountDict.setAutoDelete(TRUE);
for (mli.toFirst() ; (md=mli.current()) ; ++mli)
{
- if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) &&
+ if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) &&
!(md->isEnumValue() && !showInline))
{
uint *pCount = overloadTotalDict.find(md->name());
@@ -790,7 +804,7 @@ void MemberList::writeDocumentation(OutputList &ol,
for (mli.toFirst() ; (md=mli.current()) ; ++mli)
{
- if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) &&
+ if (md->isDetailedSectionVisible(m_inGroup,container->definitionType()==Definition::TypeFile) &&
!(md->isEnumValue() && !showInline))
{
uint overloadCount = *overloadTotalDict.find(md->name());
@@ -949,7 +963,7 @@ void MemberList::addListReferences(Definition *def)
MemberDef *vmd;
for ( ; (vmd=vmli.current()) ; ++vmli)
{
- //printf(" adding %s\n",vmd->name().data());
+ //printf(" adding %s\n",vmd->name().data());
vmd->addListReference(def);
}
}
@@ -990,7 +1004,7 @@ void MemberList::setNeedsSorting(bool b)
m_needsSorting = b;
}
-QCString MemberList::listTypeAsString(MemberListType type)
+QCString MemberList::listTypeAsString(MemberListType type)
{
switch(type)
{
@@ -1087,16 +1101,7 @@ void MemberList::writeTagFile(FTextStream &tagFile)
int MemberSDict::compareValues(const MemberDef *c1, const MemberDef *c2) const
{
- //printf("MemberSDict::compareValues(%s,%s)\n",c1->name().data(),c2->name().data());
- int cmp = qstricmp(c1->name(),c2->name());
- if (cmp)
- {
- return cmp;
- }
- else
- {
- return c1->getDefLine()-c2->getDefLine();
- }
+ return genericCompareMembers(c1,c2);
}
commit cd581388f3d013c501e3cefbaf3e81cf93d46fcb
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Sun Apr 19 14:21:18 2020 +0200
issue #7706: Md5 hash does not match for two different runs (part 2)
diff --git a/src/dotfilepatcher.cpp b/src/dotfilepatcher.cpp
index e386af98..20ce4c1b 100644
--- a/src/dotfilepatcher.cpp
+++ b/src/dotfilepatcher.cpp
@@ -132,7 +132,7 @@ static QCString replaceRef(const QCString &buf,const QCString relPath,
//bool isXLink=FALSE;
int len = 6;
int indexS = buf.find("href=\""), indexE;
- bool setTarget = FALSE;
+ bool targetAlreadySet = buf.find("target=")!=-1;
if (indexS>5 && buf.find("xlink:href=\"")!=-1) // XLink href (for SVG)
{
indexS-=6;
@@ -152,9 +152,9 @@ static QCString replaceRef(const QCString &buf,const QCString relPath,
// fake ref node to resolve the url
DocRef *df = new DocRef( (DocNode*) 0, link.mid(5), context );
result+=externalRef(relPath,df->ref(),TRUE);
- if (!df->file().isEmpty())
+ if (!df->file().isEmpty())
result += df->file().data() + Doxygen::htmlFileExtension;
- if (!df->anchor().isEmpty())
+ if (!df->anchor().isEmpty())
result += "#" + df->anchor();
delete df;
result += "\"";
@@ -174,7 +174,6 @@ static QCString replaceRef(const QCString &buf,const QCString relPath,
if (!ref.isEmpty())
{
result = externalLinkTarget(true);
- if (result != "") setTarget = TRUE;
}
result+= href+"=\"";
result+=externalRef(relPath,ref,TRUE);
@@ -185,12 +184,14 @@ static QCString replaceRef(const QCString &buf,const QCString relPath,
result = href+"=\"" + link + "\"";
}
}
- if (!target.isEmpty() && !setTarget)
+ if (!target.isEmpty() && !targetAlreadySet)
{
result+=" target=\""+target+"\"";
}
QCString leftPart = buf.left(indexS);
QCString rightPart = buf.mid(indexE+1);
+ //printf("replaceRef(\n'%s'\n)->\n'%s+%s+%s'\n",
+ // buf.data(),leftPart.data(),result.data(),rightPart.data());
return leftPart + result + rightPart;
}
else
@@ -215,7 +216,7 @@ bool DotFilePatcher::convertMapFile(FTextStream &t,const char *mapName,
const QCString &context)
{
QFile f(mapName);
- if (!f.open(IO_ReadOnly))
+ if (!f.open(IO_ReadOnly))
{
err("problems opening map file %s for inclusion in the docs!\n"
"If you installed Graphviz/dot after a previous failing run, \n"
@@ -250,7 +251,7 @@ bool DotFilePatcher::convertMapFile(FTextStream &t,const char *mapName,
return TRUE;
}
-DotFilePatcher::DotFilePatcher(const char *patchFile)
+DotFilePatcher::DotFilePatcher(const char *patchFile)
: m_patchFile(patchFile)
{
m_maps.setAutoDelete(TRUE);
@@ -346,7 +347,7 @@ bool DotFilePatcher::run() const
}
QFile fi(tmpName);
QFile fo(patchFile);
- if (!fi.open(IO_ReadOnly))
+ if (!fi.open(IO_ReadOnly))
{
err("problem opening file %s for patching!\n",tmpName.data());
QDir::current().rename(tmpName,patchFile);
@@ -380,7 +381,7 @@ bool DotFilePatcher::run() const
ASSERT(numBytes<maxLineLen);
if (isSVGFile)
{
- if (interactiveSVG_local)
+ if (interactiveSVG_local)
{
if (line.find("<svg")!=-1 && !replacedHeader)
{
@@ -412,7 +413,7 @@ bool DotFilePatcher::run() const
replacedHeader=TRUE;
}
}
- if (!insideHeader || !foundSize) // copy SVG and replace refs,
+ if (!insideHeader || !foundSize) // copy SVG and replace refs,
// unless we are inside the header of the SVG.
// Then we replace it with another header.
{
@@ -508,7 +509,7 @@ bool DotFilePatcher::run() const
// dummy link by real ones
fi.setName(tmpName);
fo.setName(orgName);
- if (!fi.open(IO_ReadOnly))
+ if (!fi.open(IO_ReadOnly))
{
err("problem opening file %s for reading!\n",tmpName.data());
return FALSE;
@@ -602,18 +603,18 @@ bool DotFilePatcher::writeSVGFigureLink(FTextStream &out,const QCString &relPath
if (height<=60) height=300; else height+=300; // add some extra space for zooming
if (height>600) height=600; // clip to maximum height of 600 pixels
out << "<div class=\"zoom\">";
- //out << "<object type=\"image/svg+xml\" data=\""
- //out << "<embed type=\"image/svg+xml\" src=\""
- out << "<iframe scrolling=\"no\" frameborder=\"0\" src=\""
+ //out << "<object type=\"image/svg+xml\" data=\""
+ //out << "<embed type=\"image/svg+xml\" src=\""
+ out << "<iframe scrolling=\"no\" frameborder=\"0\" src=\""
<< relPath << baseName << ".svg\" width=\"100%\" height=\"" << height << "\">";
}
else
{
- //out << "<object type=\"image/svg+xml\" data=\""
- //out << "<embed type=\"image/svg+xml\" src=\""
- out << "<iframe scrolling=\"no\" frameborder=\"0\" src=\""
- << relPath << baseName << ".svg\" width=\""
- << ((width*96+48)/72) << "\" height=\""
+ //out << "<object type=\"image/svg+xml\" data=\""
+ //out << "<embed type=\"image/svg+xml\" src=\""
+ out << "<iframe scrolling=\"no\" frameborder=\"0\" src=\""
+ << relPath << baseName << ".svg\" width=\""
+ << ((width*96+48)/72) << "\" height=\""
<< ((height*96+48)/72) << "\">";
}
writeSVGNotSupported(out);
@@ -650,7 +651,7 @@ bool DotFilePatcher::writeVecGfxFigure(FTextStream &out,const QCString &baseName
}
//printf("Got PDF/EPS size %d,%d\n",width,height);
int maxWidth = 350; /* approx. page width in points, excl. margins */
- int maxHeight = 550; /* approx. page height in points, excl. margins */
+ int maxHeight = 550; /* approx. page height in points, excl. margins */
out << "\\nopagebreak\n"
"\\begin{figure}[H]\n"
"\\begin{center}\n"
diff --git a/src/dotgraph.cpp b/src/dotgraph.cpp
index e622dd4f..c0cc4fdf 100644
--- a/src/dotgraph.cpp
+++ b/src/dotgraph.cpp
@@ -74,15 +74,6 @@ static bool checkDeliverables(const QCString &file1,
return file1Ok && file2Ok;
}
-static void removeDotGraph(const QCString &dotName)
-{
- if (Config_getBool(DOT_CLEANUP))
- {
- QDir d;
- d.remove(dotName);
- }
-}
-
static bool insertMapFile(FTextStream &out,const QCString &mapFile,
const QCString &relPath,const QCString &mapLabel)
{
@@ -108,7 +99,7 @@ static bool insertMapFile(FTextStream &out,const QCString &mapFile,
QCString DotGraph::imgName() const
{
return m_baseName + ((m_graphFormat == GOF_BITMAP) ?
- ("." + getDotImageExtension()) : (Config_getBool(USE_PDFLATEX) ? ".pdf" : ".eps"));
+ ("." + getDotImageExtension()) : (Config_getBool(USE_PDFLATEX) ? ".pdf" : ".eps"));
}
QCString DotGraph::writeGraph(
@@ -166,7 +157,6 @@ bool DotGraph::prepareDotFile()
)
{
// all needed files are there
- removeDotGraph(absDotName());
return FALSE;
}

View File

@ -1,66 +0,0 @@
commit 30f8609975062896b0cd43b739310ab8d667ea82
Author: Dimitri van Heesch <doxygen@gmail.com>
Date: Sun Apr 26 20:44:17 2020 +0200
Fixed 2 small memory leaks
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 1d15a91b..2ceece91 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -1900,25 +1900,22 @@ static void findUsingDeclImports(const Entry *root)
if (md && md->protection()!=Private)
{
//printf("found member %s\n",mni->memberName());
- MemberDef *newMd = 0;
+ QCString fileName = root->fileName;
+ if (fileName.isEmpty() && root->tagInfo())
{
- QCString fileName = root->fileName;
- if (fileName.isEmpty() && root->tagInfo())
- {
- fileName = root->tagInfo()->tagName;
- }
- const ArgumentList &templAl = md->templateArguments();
- const ArgumentList &al = md->templateArguments();
- newMd = createMemberDef(
- fileName,root->startLine,root->startColumn,
- md->typeString(),memName,md->argsString(),
- md->excpString(),root->protection,root->virt,
- md->isStatic(),Member,md->memberType(),
- templAl,al,root->metaData
- );
+ fileName = root->tagInfo()->tagName;
}
+ const ArgumentList &templAl = md->templateArguments();
+ const ArgumentList &al = md->templateArguments();
+ std::unique_ptr<MemberDef> newMd { createMemberDef(
+ fileName,root->startLine,root->startColumn,
+ md->typeString(),memName,md->argsString(),
+ md->excpString(),root->protection,root->virt,
+ md->isStatic(),Member,md->memberType(),
+ templAl,al,root->metaData
+ ) };
newMd->setMemberClass(cd);
- cd->insertMember(newMd);
+ cd->insertMember(newMd.get());
if (!root->doc.isEmpty() || !root->brief.isEmpty())
{
newMd->setDocumentation(root->doc,root->docFile,root->docLine);
@@ -1946,6 +1943,8 @@ static void findUsingDeclImports(const Entry *root)
newMd->setMemberSpecifiers(md->getMemberSpecifiers());
newMd->setLanguage(root->lang);
newMd->setId(root->id);
+ MemberName *mn = Doxygen::memberNameLinkedMap->add(memName);
+ mn->push_back(std::move(newMd));
}
}
}
@@ -9739,6 +9738,7 @@ void initDoxygen()
Doxygen::exampleSDict->setAutoDelete(TRUE);
Doxygen::memGrpInfoDict.setAutoDelete(TRUE);
Doxygen::tagDestinationDict.setAutoDelete(TRUE);
+ Doxygen::namespaceAliasDict.setAutoDelete(TRUE);
Doxygen::dirRelations.setAutoDelete(TRUE);
Doxygen::genericsDict = new GenericsSDict;
Doxygen::indexList = new IndexList;

View File

@ -1,3 +1,9 @@
# doxygen is known not to work properly with LTO at this point. Some of the issues
# are being worked on upstream and disabling LTO should be re-evaluated as
# we update this change. Until such time...
# Disable LTO
%global _lto_cflags %{nil}
%if 0%{?fedora}
%global xapian_core_support ON
%global clang_support ON
@ -5,13 +11,12 @@
%global xapian_core_support OFF
%global clang_support OFF
%endif
%global BuildDir Out
Summary: A documentation system for C/C++
Name: doxygen
Epoch: 1
Version: 1.8.18
Release: 6%{?dist}
Version: 1.8.20
Release: 1%{?dist}
# No version is specified.
License: GPL+
@ -19,13 +24,7 @@ Url: http://www.doxygen.nl
Source0: http://doxygen.nl/files/%{name}-%{version}.src.tar.gz
# this icon is part of kdesdk
Source1: doxywizard.desktop
%if 0%{?fedora} >= 32
Patch0: doxygen-1.8.18-clang.patch
%endif
# upstream patches
Patch100: doxygen-1.8.17-buffer-overflow.patch
Patch101: doxygen-1.8.18-memory-leaks.patch
Patch103: doxygen-1.8.18-md5-hash-does-not-match-for-two-different-runs.patch
BuildRequires: %{_bindir}/python3
BuildRequires: ImageMagick
@ -213,8 +212,6 @@ mv LANGUAGE.HOWTO.new LANGUAGE.HOWTO
%build
mkdir -p %{BuildDir}
pushd %{BuildDir}
%if ! 0%{?_module_build}
%cmake \
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
@ -226,7 +223,6 @@ pushd %{BuildDir}
-DMAN_INSTALL_DIR=%{_mandir}/man1 \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DBUILD_SHARED_LIBS=OFF \
..
%else
%cmake \
-DPYTHON_EXECUTABLE=%{_bindir}/python3 \
@ -238,14 +234,12 @@ pushd %{BuildDir}
-DMAN_INSTALL_DIR=%{_mandir}/man1 \
-DCMAKE_INSTALL_PREFIX:PATH=%{_prefix} \
-DBUILD_SHARED_LIBS=OFF \
..
%endif
popd
make %{?_smp_mflags} -C %{BuildDir}
%cmake_build %{?_smp_mflags}
%install
make install DESTDIR=%{buildroot} -C %{BuildDir}
%cmake_install
# convert icons
convert addon/doxywizard/doxywizard.ico doxywizard.png
@ -277,7 +271,7 @@ desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
%endif
%check
make tests -C %{BuildDir}
%ctests
%files
%doc LANGUAGE.HOWTO README.md
@ -308,6 +302,9 @@ make tests -C %{BuildDir}
%endif
%changelog
* 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

View File

@ -1 +1 @@
SHA512 (doxygen-1.8.18.src.tar.gz) = 0be26f58e33e564318629bedefb1257f478bfcb78f6a363b066d46ff6e457c15e79fe8d5c36032ee3f9b200cca91690166c388234ba6a28b6669f19af364eed5
SHA512 (doxygen-1.8.20.src.tar.gz) = 15dc95850440aed2a56971d8c04bf3bdfac861bcc38c60c7be22fd3b922b9fe2a750ea8877cb0716832bb6ad7901afcdf4950ba985b09890027030bdf828eee3