diff --git a/doxygen-1.8.10-SOURCE_DATE_EPOCH.patch b/doxygen-1.8.10-SOURCE_DATE_EPOCH.patch
deleted file mode 100644
index 2ed341b..0000000
--- a/doxygen-1.8.10-SOURCE_DATE_EPOCH.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-diff --git a/qtools/qcstring.cpp b/qtools/qcstring.cpp
-index 45ccef9..35b9bb8 100644
---- a/qtools/qcstring.cpp
-+++ b/qtools/qcstring.cpp
-@@ -460,6 +460,12 @@ ulong QCString::toULong(bool *ok) const
- return s.toULong(ok);
- }
-
-+uint64 QCString::toUInt64(bool *ok) const
-+{
-+ QString s(data());
-+ return s.toUInt64(ok);
-+}
-+
- QCString &QCString::setNum(short n)
- {
- return setNum((long)n);
-diff --git a/qtools/qcstring.h b/qtools/qcstring.h
-index d8ce074..4f15b18 100644
---- a/qtools/qcstring.h
-+++ b/qtools/qcstring.h
-@@ -288,6 +288,7 @@ public:
- uint toUInt( bool *ok=0 ) const;
- long toLong( bool *ok=0 ) const;
- ulong toULong( bool *ok=0 ) const;
-+ uint64 toUInt64( bool *ok=0 ) const;
- QCString &setNum(short n);
- QCString &setNum(ushort n);
- QCString &setNum(int n);
-diff --git a/qtools/qstring.cpp b/qtools/qstring.cpp
-index f51c0d4..458fd53 100644
---- a/qtools/qstring.cpp
-+++ b/qtools/qstring.cpp
-@@ -13935,6 +13935,60 @@ bye:
- }
-
- /*!
-+ Returns the string converted to an unsigned long
-+ value.
-+
-+ If \a ok is non-null, \a *ok is set to TRUE if there are no
-+ conceivable errors, and FALSE if the string is not a number at all,
-+ or if it has trailing garbage.
-+*/
-+
-+uint64 QString::toUInt64( bool *ok, int base ) const
-+{
-+ const QChar *p = unicode();
-+ uint64 val=0;
-+ int l = length();
-+ const uint64 max_mult = 1844674407370955161ULL; // ULLONG_MAX/10, rounded down
-+ bool is_ok = FALSE;
-+ if ( !p )
-+ goto bye;
-+ while ( l && p->isSpace() ) // skip leading space
-+ l--,p++;
-+ if ( *p == '+' )
-+ l--,p++;
-+
-+ // NOTE: toULong() code is similar
-+ if ( !l || !ok_in_base(*p,base) )
-+ goto bye;
-+ while ( l && ok_in_base(*p,base) ) {
-+ l--;
-+ uint dv;
-+ if ( p->isDigit() ) {
-+ dv = p->digitValue();
-+ } else {
-+ if ( *p >= 'a' && *p <= 'z' )
-+ dv = *p - 'a' + 10;
-+ else
-+ dv = *p - 'A' + 10;
-+ }
-+ if ( val > max_mult || (val == max_mult && dv > (ULLONG_MAX%base)) )
-+ goto bye;
-+ val = base*val + dv;
-+ p++;
-+ }
-+
-+ while ( l && p->isSpace() ) // skip trailing space
-+ l--,p++;
-+ if ( !l )
-+ is_ok = TRUE;
-+bye:
-+ if ( ok )
-+ *ok = is_ok;
-+ return is_ok ? val : 0;
-+}
-+
-+
-+/*!
- Returns the string converted to a short
value.
-
- If \a ok is non-null, \a *ok is set to TRUE if there are no
-diff --git a/qtools/qstring.h b/qtools/qstring.h
-index a64fabf..df3873d 100644
---- a/qtools/qstring.h
-+++ b/qtools/qstring.h
-@@ -463,6 +463,7 @@ public:
- uint toUInt( bool *ok=0, int base=10 ) const;
- long toLong( bool *ok=0, int base=10 ) const;
- ulong toULong( bool *ok=0, int base=10 ) const;
-+ uint64 toUInt64( bool *ok=0, int base=10 ) const;
- float toFloat( bool *ok=0 ) const;
- double toDouble( bool *ok=0 ) const;
-
-diff --git a/src/util.cpp b/src/util.cpp
-index d367c40..db6a19c 100644
---- a/src/util.cpp
-+++ b/src/util.cpp
-@@ -18,6 +18,7 @@
- #include
- #include
- #include
-+#include
-
- #include "md5.h"
-
-@@ -2472,6 +2473,35 @@ QCString fileToString(const char *name,bool filter,bool isSourceCode)
- QCString dateToString(bool includeTime)
- {
- QDateTime current = QDateTime::currentDateTime();
-+ QCString sourceDateEpoch = portable_getenv("SOURCE_DATE_EPOCH");
-+ if (!sourceDateEpoch.isEmpty())
-+ {
-+ bool ok;
-+ uint64 epoch = sourceDateEpoch.toUInt64(&ok);
-+ if (!ok)
-+ {
-+ static bool warnedOnce=FALSE;
-+ if (!warnedOnce)
-+ {
-+ warn_uncond("Environment variable SOURCE_DATE_EPOCH does not contain a valid number; value is '%s'\n",
-+ sourceDateEpoch.data());
-+ warnedOnce=TRUE;
-+ }
-+ }
-+ else if (epoch>UINT_MAX)
-+ {
-+ static bool warnedOnce=FALSE;
-+ if (!warnedOnce)
-+ {
-+ warn_uncond("Environment variable SOURCE_DATA_EPOCH must have a value smaller than or equal to %llu; actual value %llu\n",UINT_MAX,epoch);
-+ warnedOnce=TRUE;
-+ }
-+ }
-+ else // all ok, replace current time with epoch value
-+ {
-+ current.setTime_t((ulong)epoch); // TODO: add support for 64bit epoch value
-+ }
-+ }
- return theTranslator->trDateTime(current.date().year(),
- current.date().month(),
- current.date().day(),
diff --git a/doxygen-1.8.10-angle-bracket.patch b/doxygen-1.8.10-angle-bracket.patch
deleted file mode 100644
index ab748d0..0000000
--- a/doxygen-1.8.10-angle-bracket.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
-index 99d6fdd..d8913e1 100644
---- a/src/htmldocvisitor.cpp
-+++ b/src/htmldocvisitor.cpp
-@@ -1902,6 +1902,8 @@ void HtmlDocVisitor::filterQuotedCdataAttr(const char* str)
- {
- case '&': m_t << "&"; break;
- case '"': m_t << """; break;
-+ case '<': m_t << "<"; break;
-+ case '>': m_t << ">"; break;
- // For SGML compliance, and given the SGML declaration for HTML syntax,
- // it's enough to replace these two, provided that the declaration
- // for the HTML version we generate (and as supported by the browser)
-diff --git a/src/htmldocvisitor.cpp b/src/htmldocvisitor.cpp
-index d8913e1..0ce4030 100644
---- a/src/htmldocvisitor.cpp
-+++ b/src/htmldocvisitor.cpp
-@@ -1904,24 +1904,6 @@ void HtmlDocVisitor::filterQuotedCdataAttr(const char* str)
- case '"': m_t << """; break;
- case '<': m_t << "<"; break;
- case '>': m_t << ">"; break;
-- // For SGML compliance, and given the SGML declaration for HTML syntax,
-- // it's enough to replace these two, provided that the declaration
-- // for the HTML version we generate (and as supported by the browser)
-- // specifies that all the other symbols used in rawVal are
-- // within the right character class (i.e., they're not
-- // some multinational weird characters not in the BASESET).
-- // We assume that 1) the browser will support whatever is remaining
-- // in the formula and 2) the TeX formulae are generally governed
-- // by even stricter character restrictions so it should be enough.
-- //
-- // On some incompliant browsers, additional translation of
-- // '>' and '<' into ">" and "<", respectively, might be needed;
-- // but I'm unaware of particular modern (last 4 years) versions
-- // with such problems, so let's not do it for performance.
-- // Also, some brousers will (wrongly) not process the entity references
-- // inside the attribute value and show the &...; form instead,
-- // so we won't create entites unless necessary to minimize clutter there.
-- // --vassilii
- default: m_t << c;
- }
- }
diff --git a/doxygen-1.8.10-bibtex.patch b/doxygen-1.8.10-bibtex.patch
deleted file mode 100644
index 7bfdc51..0000000
--- a/doxygen-1.8.10-bibtex.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/src/commentscan.l b/src/commentscan.l
-index 3546277..406d966 100644
---- a/src/commentscan.l
-+++ b/src/commentscan.l
-@@ -920,7 +920,7 @@ FILEECHAR [a-z_A-Z0-9\x80-\xFF\-\+@]
- FILE ({FILESCHAR}*{FILEECHAR}+("."{FILESCHAR}*{FILEECHAR}+)*)|("\""[^\n\"]*"\"")
- ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
- LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
--CITESCHAR [a-z_A-Z\x80-\xFF]
-+CITESCHAR [a-z_A-Z0-9\x80-\xFF]
- CITEECHAR [a-z_A-Z0-9\x80-\xFF\-\+:\/]*
- CITEID {CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*
- SCOPEID {ID}({ID}*{BN}*"::"{BN}*)*({ID}?)
-diff --git a/src/doctokenizer.l b/src/doctokenizer.l
-index 31d583c..efc058a 100644
---- a/src/doctokenizer.l
-+++ b/src/doctokenizer.l
-@@ -334,7 +334,7 @@ BLANK [ \t\r]
- ID "$"?[a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF]*
- LABELID [a-z_A-Z\x80-\xFF][a-z_A-Z0-9\x80-\xFF\-]*
- PHPTYPE [\\:a-z_A-Z0-9\x80-\xFF\-]+
--CITESCHAR [a-z_A-Z\x80-\xFF]
-+CITESCHAR [a-z_A-Z0-9\x80-\xFF]
- CITEECHAR [a-z_A-Z0-9\x80-\xFF\-\+:\/]*
- CITEID {CITESCHAR}{CITEECHAR}*("."{CITESCHAR}{CITEECHAR}*)*
- MAILADR ("mailto:")?[a-z_A-Z0-9.+-]+"@"[a-z_A-Z0-9-]+("."[a-z_A-Z0-9\-]+)+[a-z_A-Z0-9\-]+
-diff --git a/src/cite.cpp b/src/cite.cpp
-index 2ea6300..3125f35 100644
---- a/src/cite.cpp
-+++ b/src/cite.cpp
-@@ -226,13 +226,13 @@ void CiteDict::generatePage() const
- else if (insideBib) doc+=line+"\n";
- int i;
- // determine text to use at the location of the @cite command
-- if (insideBib && (i=line.find("[");
- int k=line.find("]");
- if (j!=-1 && k!=-1)
- {
-- QCString label = line.mid(i+17,j-i-17);
-+ QCString label = line.mid(i+14,j-i-14);
- QCString number = line.mid(j+2,k-j-1);
- CiteInfo *ci = m_entries.find(label);
- //printf("label='%s' number='%s' => %p\n",label.data(),number.data(),ci);
diff --git a/doxygen-1.8.10-drop-qt-arch-x86-64-definition.patch b/doxygen-1.8.10-drop-qt-arch-x86-64-definition.patch
deleted file mode 100644
index 5a92a14..0000000
--- a/doxygen-1.8.10-drop-qt-arch-x86-64-definition.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 031780293d2838da2643b46878061598ebb56822 Mon Sep 17 00:00:00 2001
-From: Marcin Juszkiewicz
-Date: Thu, 8 Oct 2015 10:24:36 +0200
-Subject: [PATCH] DO NOT hardcode x86-64 architecture.
-
-doxygen built on most of architectures by pure luck and order of Qt5
-qatomics_arch.h header where check for QT_ARCH_X86_64 was *after* most
-of other architectures.
-
-But not after AArch64 where it failed due to attempt of using x86-64
-atomics code.
-
-https://github.com/doxygen/doxygen/pull/402
-
-Signed-off-by: Marcin Juszkiewicz
----
- addon/doxywizard/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: doxygen-1.8.10/addon/doxywizard/CMakeLists.txt
-===================================================================
---- doxygen-1.8.10.orig/addon/doxywizard/CMakeLists.txt
-+++ doxygen-1.8.10/addon/doxywizard/CMakeLists.txt
-@@ -10,7 +10,7 @@ include_directories(
- set(GENERATED_SRC_WIZARD ${GENERATED_SRC}/doxywizard)
- file(MAKE_DIRECTORY ${GENERATED_SRC_WIZARD})
-
--add_definitions(-DQT_ARCH_X86_64 -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
-+add_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DUNICODE)
- set(QT_USE_QTXML TRUE)
- find_package(Qt4 REQUIRED)
- include(${QT_USE_FILE})
diff --git a/doxygen-1.8.10-fixspace.patch b/doxygen-1.8.10-fixspace.patch
deleted file mode 100644
index f3259fb..0000000
--- a/doxygen-1.8.10-fixspace.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/src/htmlgen.cpp b/src/htmlgen.cpp
-index a2dd473..dadbb4f 100644
---- a/src/htmlgen.cpp
-+++ b/src/htmlgen.cpp
-@@ -1952,11 +1952,6 @@ static void endQuickIndexItem(FTextStream &t,const char *l)
- t << "\n";
- }
-
--static QCString fixSpaces(const QCString &s)
--{
-- return substitute(s," "," ");
--}
--
- static bool quickLinkVisible(LayoutNavEntry::Kind kind)
- {
- static bool showFiles = Config_getBool("SHOW_FILES");
-diff --git a/src/index.h b/src/index.h
-index 150d23f..ace3614 100644
---- a/src/index.h
-+++ b/src/index.h
-@@ -284,5 +284,6 @@ void initNamespaceMemberIndices();
- void addClassMemberNameToIndex(MemberDef *md);
- void addFileMemberNameToIndex(MemberDef *md);
- void addNamespaceMemberNameToIndex(MemberDef *md);
-+QCString fixSpaces(const QCString &s);
-
- #endif
diff --git a/doxygen-1.8.10-install.patch b/doxygen-1.8.10-install.patch
deleted file mode 100644
index 32bb9b3..0000000
--- a/doxygen-1.8.10-install.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up doxygen-1.8.10/doc/CMakeLists.txt.than doxygen-1.8.10/doc/CMakeLists.txt
---- doxygen-1.8.10/doc/CMakeLists.txt.than 2015-08-28 11:46:15.675460840 +0200
-+++ doxygen-1.8.10/doc/CMakeLists.txt 2015-08-28 11:51:27.894592457 +0200
-@@ -88,17 +88,17 @@ install(FILES
- "${PROJECT_BINARY_DIR}/man/doxywizard.1"
- "${PROJECT_BINARY_DIR}/man/doxysearch.1"
- "${PROJECT_BINARY_DIR}/man/doxyindexer.1"
-- DESTINATION man/man1
-+ DESTINATION "${MAN_INSTALL_DIR}"
- )
-
- install(FILES
- "${PROJECT_BINARY_DIR}/latex/doxygen_manual.pdf"
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
-+ DESTINATION "${DOC_INSTALL_DIR}"
- )
-
- install(DIRECTORY
- "${PROJECT_BINARY_DIR}/html"
-- DESTINATION "${CMAKE_INSTALL_PREFIX}/${DOC_INSTALL_DIR}"
-+ DESTINATION "${DOC_INSTALL_DIR}"
- )
-
- endif()
diff --git a/doxygen-1.8.10-latex.patch b/doxygen-1.8.10-latex.patch
deleted file mode 100644
index 35ab52b..0000000
--- a/doxygen-1.8.10-latex.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/src/formula.cpp b/src/formula.cpp
-index ad37782..182ddaa 100644
---- a/src/formula.cpp
-+++ b/src/formula.cpp
-@@ -132,6 +132,7 @@ void FormulaList::generateBitmaps(const char *path)
- {
- err("Problems running dvips. Check your installation!\n");
- portable_sysTimerStop();
-+ QDir::setCurrent(oldDir);
- return;
- }
- portable_sysTimerStop();
-@@ -192,6 +193,7 @@ void FormulaList::generateBitmaps(const char *path)
- {
- err("Problem running ghostscript %s %s. Check your installation!\n",portable_ghostScriptCommand(),gsArgs);
- portable_sysTimerStop();
-+ QDir::setCurrent(oldDir);
- return;
- }
- portable_sysTimerStop();
-diff --git a/src/rtfgen.cpp b/src/rtfgen.cpp
-index 7baaa3c..e10b638 100644
---- a/src/rtfgen.cpp
-+++ b/src/rtfgen.cpp
-@@ -2590,6 +2590,7 @@ bool RTFGenerator::preProcessFileInplace(const char *path,const char *name)
- if (!outf.open(IO_WriteOnly))
- {
- err("Failed to open %s for writing!\n",combinedName.data());
-+ QDir::setCurrent(oldDir);
- return FALSE;
- }
- FTextStream outt(&outf);
diff --git a/doxygen-1.8.10-memory-leaks.patch b/doxygen-1.8.10-memory-leaks.patch
deleted file mode 100644
index 6faf9d1..0000000
--- a/doxygen-1.8.10-memory-leaks.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-commit 85ddfc814f33943199928447b4627d05b0920b99
-Author: Dimitri van Heesch
-Date: Sat Nov 14 13:50:56 2015 +0100
-
- Fixed a couple of small memory leaks
-
-diff --git a/src/classdef.cpp b/src/classdef.cpp
-index fa555ac..88f9a70 100644
---- a/src/classdef.cpp
-+++ b/src/classdef.cpp
-@@ -2603,7 +2603,7 @@ void ClassDef::setTypeConstraints(ArgumentList *al)
- void ClassDef::setTemplateArguments(ArgumentList *al)
- {
- if (al==0) return;
-- if (!m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
-+ if (m_impl->tempArgs) delete m_impl->tempArgs; // delete old list if needed
- //printf("setting template args '%s' for '%s'\n",tempArgListToString(al,getLanguage()).data(),name().data());
- m_impl->tempArgs=new ArgumentList;
- ArgumentListIterator ali(*al);
-diff --git a/src/pre.l b/src/pre.l
-index 86f9ebb..18f3b1d 100644
---- a/src/pre.l
-+++ b/src/pre.l
-@@ -1659,6 +1659,7 @@ static void endCondSection()
- {
- CondCtx *ctx = g_condStack.pop();
- g_skip=ctx->skip;
-+ delete ctx;
- }
- //printf("endCondSection: skip=%d stack=%d\n",g_skip,g_condStack.count());
- }
-@@ -1667,7 +1668,7 @@ static void forceEndCondSection()
- {
- while (!g_condStack.isEmpty())
- {
-- g_condStack.pop();
-+ delete g_condStack.pop();
- }
- g_skip=FALSE;
- }
-@@ -3010,8 +3011,8 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
- g_includeStack.clear();
- g_expandedDict->setAutoDelete(FALSE);
- g_expandedDict->clear();
-- g_condStack.clear();
- g_condStack.setAutoDelete(TRUE);
-+ g_condStack.clear();
- //g_fileDefineDict->clear();
-
- setFileName(fileName);
-@@ -3161,6 +3162,7 @@ void preprocessFile(const char *fileName,BufStr &input,BufStr &output)
- if (ctx->sectionId!=" ") sectionInfo.sprintf(" with label %s ",ctx->sectionId.data());
- warn(fileName,ctx->lineNr,"Conditional section%sdoes not have "
- "a corresponding \\endcond command within this file.",sectionInfo.data());
-+ delete ctx;
- }
- // make sure we don't extend a \cond with missing \endcond over multiple files (see bug 624829)
- forceEndCondSection();
diff --git a/doxygen-1.8.10-timestamp-latex.patch b/doxygen-1.8.10-timestamp-latex.patch
deleted file mode 100644
index 49bfeb0..0000000
--- a/doxygen-1.8.10-timestamp-latex.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-diff --git a/src/config.xml b/src/config.xml
-index acbee8e..faad651 100644
---- a/src/config.xml
-+++ b/src/config.xml
-@@ -2647,6 +2647,16 @@ or
- ]]>
-
-
-+
-
-
-