diff --git a/app-doc/doxygen/doxygen-1.8.13.ebuild b/app-doc/doxygen/doxygen-1.8.13-r1.ebuild similarity index 97% rename from app-doc/doxygen/doxygen-1.8.13.ebuild rename to app-doc/doxygen/doxygen-1.8.13-r1.ebuild index ce44a9d456f0e..8b0705893f885 100644 --- a/app-doc/doxygen/doxygen-1.8.13.ebuild +++ b/app-doc/doxygen/doxygen-1.8.13-r1.ebuild @@ -55,6 +55,7 @@ RESTRICT="test" PATCHES=( "${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348 "${FILESDIR}/${PN}-1.8.12-link_with_pthread.patch" + "${FILESDIR}/${PN}-1.8.13-NULL-dereference.patch" ) DOCS=( LANGUAGE.HOWTO README.md ) @@ -64,7 +65,7 @@ pkg_setup() { } src_prepare() { - default + cmake-utils_src_prepare # Ensure we link to -liconv if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then @@ -82,12 +83,13 @@ src_prepare() { doc/maintainers.txt || die if is-flagq "-O3" ; then - echo + ewarn ewarn "Compiling with -O3 is known to produce incorrectly" ewarn "optimized code which breaks doxygen." - echo + ewarn + elog elog "Continuing with -O2 instead ..." - echo + elog replace-flags "-O3" "-O2" fi } diff --git a/app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch b/app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch new file mode 100644 index 0000000000000..8d72e8ff6e0d1 --- /dev/null +++ b/app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch @@ -0,0 +1,24 @@ +From 0f02761a158a5e9ddbd5801682482af8986dbc35 Mon Sep 17 00:00:00 2001 +From: albert-github +Date: Wed, 4 Jan 2017 12:24:55 +0100 +Subject: [PATCH] Bug 776791 - [1.8.13 Regression] Segfault building the + breathe docs + +Protected against NULL pointer of variable al +--- + src/xmlgen.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/xmlgen.cpp b/src/xmlgen.cpp +index fe95c7a..70e198a 100644 +--- a/src/xmlgen.cpp ++++ b/src/xmlgen.cpp +@@ -620,7 +620,7 @@ static void generateXMLForMember(MemberDef *md,FTextStream &ti,FTextStream &t,De + if (md->isInline()) t << "yes"; else t << "no"; + t << "\""; + +- if (al->refQualifier!=RefQualifierNone) ++ if (al!=0 && al->refQualifier!=RefQualifierNone) + { + t << " refqual=\""; + if (al->refQualifier==RefQualifierLValue) t << "lvalue"; else t << "rvalue";