summaryrefslogtreecommitdiff
path: root/app-doc/doxygen
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /app-doc/doxygen
reinit the tree, so we can have metadata
Diffstat (limited to 'app-doc/doxygen')
-rw-r--r--app-doc/doxygen/Manifest13
-rw-r--r--app-doc/doxygen/doxygen-1.8.12.ebuild150
-rw-r--r--app-doc/doxygen/doxygen-1.8.13-r1.ebuild151
-rw-r--r--app-doc/doxygen/doxygen-9999.ebuild147
-rw-r--r--app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch96
-rw-r--r--app-doc/doxygen/files/doxygen-1.8.12-link_with_pthread.patch32
-rw-r--r--app-doc/doxygen/files/doxygen-1.8.13-NULL-dereference.patch24
-rw-r--r--app-doc/doxygen/files/doxygen-1.8.9.1-empty-line-sigsegv.patch20
-rw-r--r--app-doc/doxygen/metadata.xml19
9 files changed, 652 insertions, 0 deletions
diff --git a/app-doc/doxygen/Manifest b/app-doc/doxygen/Manifest
new file mode 100644
index 000000000000..a320c53d1f3e
--- /dev/null
+++ b/app-doc/doxygen/Manifest
@@ -0,0 +1,13 @@
+AUX doxygen-1.8.10-fix_flex_check.patch 4833 SHA256 d912f166f9c47015a9ba36d108ea59b9a9ad3c7b04e169ce5cb501cb61540f70 SHA512 5dd35c3633d5a9e1296c7ac60e7756e0a2ee2e5c6731dfcb3a1d0460702dc96b3f9b54b6f3344fa6908c5b2b60e616f320e3505a5c97ebec43ccc613bba268a9 WHIRLPOOL 9512317a54b06ed99a48279def7ffc6edf3b48959f1b12d2821d590a551f332e7cc63a0dd69e28255a31b41a63785aeb2c2e9bffdfe5b3d5f3d3ee9c0d0481bf
+AUX doxygen-1.8.12-link_with_pthread.patch 1078 SHA256 32572502132272a9cbabbf6767e3958a251daaad4a5eb647af906aae49e11b45 SHA512 01173974a66a4b6214f6506f9f9009da2ae3ee1b6f424763dfc2b1ce96293e71b463b1afb4c6ccdeac299c66132bbf6d3ee7fe543f1251ff429107f8b4017831 WHIRLPOOL afdf19a528dd97d4ee5421376b3c3599d77bf86c10c4d0d5a03e26ffb66cd11c994736f013d9bd139c62bfd44869585656ee4c3efc9bb144ebeb23188690ee58
+AUX doxygen-1.8.13-NULL-dereference.patch 867 SHA256 2c3d700c3a7c191ef432099db30abc3360c021d3a3dd1836440385dde8a1c264 SHA512 e0dc00095d3955fd171e554d0984a3d41b02643da0fa64c0f2815cc16b8cdbf0645e848507e7f100ac6ffb0e3712ca2bbec7e1a81091177e39555bde0b5e3f12 WHIRLPOOL 9bfa84e2840f3a194b419ca2494573dfa0a97c213fe74fc0941c3c963aa0e1eb532f6c1f2044dc91e76590b725a9537bfc1d4f3a09985bef0e5549e30688e8ce
+AUX doxygen-1.8.9.1-empty-line-sigsegv.patch 489 SHA256 5195bc11afe48641de38f8e5a3574ce93654cb854be97f38bc6322fcaaaddfc3 SHA512 8b9d70fda66eae1fd871fbf29b7587d8f3872810f4b6b7b570d8fd8711a0a0fd84257798261db2c6a7aa7efd8874cf18e1056e67f53d6ec2bd3720cfd0f572ef WHIRLPOOL f048801c198d65dff3d2a16eed895c2d9f266034c082b60cdf50f9476e3d79103d3a29d005480a0b7c4b3f6a341e7c5fadca6893d7b817cfd0db09e394c7468f
+DIST doxygen-1.8.12.src.tar.gz 4880613 SHA256 792d4091cbdf228549ff2033dd71ff7ea5029c6b436317cc5ec866e71302df6c SHA512 12fb5f19d0de382c7510b7c517d7c781a1e6e11720c7d9ecfd81d29d5ed030984e8d55ffcc25cc52703020e880edad341136e2795a2a36a842fc275b31ae203d WHIRLPOOL 4bd12f16ce9dba73f5bf836032d8ce25d5be7e6b3cbe3c11ce7c662a8059fa30ef2f75c008fb2050fd4eb99d80ba134d068b452dfd577a651291dba5315c0726
+DIST doxygen-1.8.13.src.tar.gz 4893912 SHA256 af667887bd7a87dc0dbf9ac8d86c96b552dfb8ca9c790ed1cbffaa6131573f6b SHA512 85da5bd28ad9f33a8e50fa92796817d31e59c024127cb647cb967e4321dd51378feaacdf099d578b7e6020fd646a3c63e99c77420e49e3894fc18ca89ba3e0a2 WHIRLPOOL fb26f85c22ae2197b52bb7fb4a46ee840c3af700bedfce41d3fed84e5ac62408abcfc3e2a147a8e15c290f7bbc2e4cf3efabbe490ea1a78504680b9b299fa93f
+DIST doxywizard.png 4231 SHA256 eb648ebd3a194a56d9ed6e47cc8dbf1af2e124d83c2c42af9bf86bd837984209 SHA512 5e2d26e7427b86866ebe75ec2c66c0f1100d230f3f3e4d66bac424a8dd0d42f0831d936ff03318dfa1bf73cbd9fb53717636d0c91ae3eea0f4e24641479d25d5 WHIRLPOOL bb0c13b382c4069ca310ff53a03b36499a2bf6e0e8c0647efc032530f429f483b5d6f2925b7e996d4f84c8f2b77eb883533f4b7abc88745a2cfa596d3dd4f3fb
+EBUILD doxygen-1.8.12.ebuild 3689 SHA256 33d1be34a1c98b1ced06c3a19151f5b195ffe887bc958afc7d1cb5d45d0ba734 SHA512 e5b429d4456f335f677fc90bac17edd5a2dc1bfc77ab05d6550877edc83ce1d802809d4526d1d5514a6a08f5637c51807f840f4d9e7fe753c4551d8d755dad61 WHIRLPOOL 7fce8e2682e07dd170f8efe32aee3ea52149f06be4fc10d323e2938c459158bebdb300c21c3a553013ce57a45483e2f704a56814ef4a6646a183e30d6f4cf651
+EBUILD doxygen-1.8.13-r1.ebuild 3735 SHA256 7c81a49ace43a5d6c94dc7653643afde9e430a38f8e2c370639798892fac0edf SHA512 de69fb9b6074006adbf3aedfe1bc68d069b6bbef374710eed59a3744b1676f34a36471059bc5d8f7bb13d90eb95f456b468eb272a4d980a1af4feba8e4120fe2 WHIRLPOOL 5b856c7c82b8aa8ccae8606dcc5b249854b32cacb3bfa03f7d9f6ca80b903ac7dcc93728be3b3067ec5c96b8de31704ec440c056fb2c5837aa016455645a2805
+EBUILD doxygen-9999.ebuild 3689 SHA256 82c462d54d28fa9f59eb89280a6040be7c733782c888058fe6ef1d8d73c82de3 SHA512 09e7682ae959d77a68fc9a30d94ccfbd74a7de812d7702738177172a0340faebba86c4a899387b487e8b5df3bc2294dae8bab26dc2155697a76723fd18095e91 WHIRLPOOL 87e62377f9abe4579e9bb763cb43c659559a4e925302fdbf1be840d6f73cc47516d7571a11d003382572d770de49d1e03bc2a4e971c7e931c25cc3512b08ffef
+MISC ChangeLog 11403 SHA256 67de1628f3cfa4d73dad618235c1014497a4f36f8f874ab598e01e2d0ce74642 SHA512 e457094ef741845e414e6c086583615497db3be413c61555aded3a3cd1fe1bfa8213011250b31f2904f813cf6e3107d53d4d44ab2f606b9822966f2113c6c161 WHIRLPOOL 5b4fb15b5491cb1e2cb759f7eb0f55fda0d6284201e42d4dc4269bd9785f21f82418ccd47ade99dfc5a71ba75b435464fd8dead91fda6bcc312c0412c4fc769b
+MISC ChangeLog-2015 47718 SHA256 04cbdd251352dbafb6bbff8482f07cd334528830404e4e8fd6fc4f6096eada79 SHA512 3bdf8ad25a5d953f2deb592f14a9ad4b992b2d612bc8a3368483cb985e9e61ce86b38c0d257f1059bff38721dfe7d95e756f3d525ba626bd1c0a51b58b942682 WHIRLPOOL bf5de29d23c92589d58bafe60813fef9babb95f14f53ad01388598294038e702d6bee94fdc63dfe12c0ec98e72cfe2b809f794978e12b5b7924cc0882bfdc776
+MISC metadata.xml 888 SHA256 c79de416847a5e8c1b354320a5fb53a0bf2366c96232e5d74c1ab7a6233e351c SHA512 08a9d876f6cf807d6c237ceb92a8a24b36a11a9b05511c780d4caed48afb4a0eef7f45ce8282a3ee53edb22ffd59d72e3403277dd0573d78c346587d3ca6da86 WHIRLPOOL 633ddd3f4b0244aea407b2a4af1df29adbaa58ea0c6f5fef90f3fb9770bbd33fe76a6bea567509f4e5df138e7ed0d0ea679689bf48adcec0a80c8b1cd6be87c7
diff --git a/app-doc/doxygen/doxygen-1.8.12.ebuild b/app-doc/doxygen/doxygen-1.8.12.ebuild
new file mode 100644
index 000000000000..180085b00aa4
--- /dev/null
+++ b/app-doc/doxygen/doxygen-1.8.12.ebuild
@@ -0,0 +1,150 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit cmake-utils eutils fdo-mime flag-o-matic python-any-r1
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+ SRC_URI=""
+ KEYWORDS="alpha arm hppa ia64 sparc"
+else
+ SRC_URI="https://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz"
+ KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+fi
+SRC_URI+=" https://dev.gentoo.org/~xarthisius/distfiles/doxywizard.png"
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.stack.nl/~dimitri/doxygen/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch latex qt5 sqlite userland_GNU"
+
+RDEPEND="app-text/ghostscript-gpl
+ dev-lang/perl
+ media-libs/libpng:0=
+ virtual/libiconv
+ clang? ( sys-devel/clang:= )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doxysearch? ( =dev-libs/xapian-1.2* )
+ latex? ( app-text/texlive[extra] )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ "
+
+REQUIRED_USE="doc? ( latex )"
+
+DEPEND="sys-devel/flex
+ sys-devel/bison
+ doc? ( ${PYTHON_DEPS} )
+ ${RDEPEND}"
+
+# src_test() defaults to make -C testing but there is no such directory (bug #504448)
+RESTRICT="test"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8.9.1-empty-line-sigsegv.patch" #454348
+ "${FILESDIR}/${P}-link_with_pthread.patch"
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Ensure we link to -liconv
+ if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then
+ local pro
+ for pro in */*.pro.in */*/*.pro.in; do
+ echo "unix:LIBS += -liconv" >> "${pro}" || die
+ done
+ fi
+
+ # Call dot with -Teps instead of -Tps for EPS generation - bug #282150
+ sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die
+
+ # fix pdf doc
+ sed -i.orig -e "s:g_kowal:g kowal:" \
+ doc/maintainers.txt || die
+
+ if is-flagq "-O3" ; then
+ echo
+ ewarn "Compiling with -O3 is known to produce incorrectly"
+ ewarn "optimized code which breaks doxygen."
+ echo
+ elog "Continuing with -O2 instead ..."
+ echo
+ replace-flags "-O3" "-O2"
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ -Duse_libclang=$(usex clang)
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex qt5)
+ -Duse_sqlite3=$(usex sqlite)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ export VARTEXFONTS="${T}/fonts" # bug #564944
+
+ if ! use dot; then
+ sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \
+ {Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+ emake -C "${BUILD_DIR}" docs
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use qt5; then
+ doicon "${DISTDIR}/doxywizard.png"
+ make_desktop_entry doxywizard "DoxyWizard ${PV}" \
+ "/usr/share/pixmaps/doxywizard.png" \
+ "Development"
+ fi
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ elog
+ elog "For examples and other goodies, see the source tarball. For some"
+ elog "example output, run doxygen on the doxygen source using the"
+ elog "Doxyfile provided in the top-level source dir."
+ elog
+ elog "Disabling the dot USE flag will remove the GraphViz dependency,"
+ elog "along with Doxygen's ability to generate diagrams in the docs."
+ elog "See the Doxygen homepage for additional helper tools to parse"
+ elog "more languages."
+ elog
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-doc/doxygen/doxygen-1.8.13-r1.ebuild b/app-doc/doxygen/doxygen-1.8.13-r1.ebuild
new file mode 100644
index 000000000000..2eb0f614972e
--- /dev/null
+++ b/app-doc/doxygen/doxygen-1.8.13-r1.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit cmake-utils eutils fdo-mime flag-o-matic python-any-r1
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+ SRC_URI=""
+else
+ SRC_URI="https://ftp.stack.nl/pub/users/dimitri/${P}.src.tar.gz"
+ KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+fi
+SRC_URI+=" https://dev.gentoo.org/~xarthisius/distfiles/doxywizard.png"
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.stack.nl/~dimitri/doxygen/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch latex qt5 sqlite userland_GNU"
+
+RDEPEND="app-text/ghostscript-gpl
+ dev-lang/perl
+ media-libs/libpng:0=
+ virtual/libiconv
+ clang? ( sys-devel/clang:= )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doxysearch? ( =dev-libs/xapian-1.2* )
+ latex? ( app-text/texlive[extra] )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ "
+
+REQUIRED_USE="doc? ( latex )"
+
+DEPEND="sys-devel/flex
+ sys-devel/bison
+ doc? ( ${PYTHON_DEPS} )
+ ${RDEPEND}"
+
+# src_test() defaults to make -C testing but there is no such directory (bug #504448)
+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 )
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # Ensure we link to -liconv
+ if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then
+ local pro
+ for pro in */*.pro.in */*/*.pro.in; do
+ echo "unix:LIBS += -liconv" >> "${pro}" || die
+ done
+ fi
+
+ # Call dot with -Teps instead of -Tps for EPS generation - bug #282150
+ sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die
+
+ # fix pdf doc
+ sed -i.orig -e "s:g_kowal:g kowal:" \
+ doc/maintainers.txt || die
+
+ if is-flagq "-O3" ; then
+ ewarn
+ ewarn "Compiling with -O3 is known to produce incorrectly"
+ ewarn "optimized code which breaks doxygen."
+ ewarn
+ elog
+ elog "Continuing with -O2 instead ..."
+ elog
+ replace-flags "-O3" "-O2"
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ -Duse_libclang=$(usex clang)
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex qt5)
+ -Duse_sqlite3=$(usex sqlite)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ export VARTEXFONTS="${T}/fonts" # bug #564944
+
+ if ! use dot; then
+ sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \
+ {Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+ emake -C "${BUILD_DIR}" docs
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use qt5; then
+ doicon "${DISTDIR}/doxywizard.png"
+ make_desktop_entry doxywizard "DoxyWizard ${PV}" \
+ "/usr/share/pixmaps/doxywizard.png" \
+ "Development"
+ fi
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ elog
+ elog "For examples and other goodies, see the source tarball. For some"
+ elog "example output, run doxygen on the doxygen source using the"
+ elog "Doxyfile provided in the top-level source dir."
+ elog
+ elog "Disabling the dot USE flag will remove the GraphViz dependency,"
+ elog "along with Doxygen's ability to generate diagrams in the docs."
+ elog "See the Doxygen homepage for additional helper tools to parse"
+ elog "more languages."
+ elog
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-doc/doxygen/doxygen-9999.ebuild b/app-doc/doxygen/doxygen-9999.ebuild
new file mode 100644
index 000000000000..cac030450f19
--- /dev/null
+++ b/app-doc/doxygen/doxygen-9999.ebuild
@@ -0,0 +1,147 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python{2_7,3_4,3_5} )
+
+inherit cmake-utils eutils fdo-mime flag-o-matic python-any-r1
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="https://github.com/doxygen/doxygen/archive/Release_${PV//\./_}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x86-solaris"
+ S="${WORKDIR}/${PN}-Release_${PV//\./_}"
+fi
+SRC_URI+=" https://dev.gentoo.org/~xarthisius/distfiles/doxywizard.png"
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.stack.nl/~dimitri/doxygen/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch latex qt5 sqlite userland_GNU"
+
+RDEPEND="app-text/ghostscript-gpl
+ dev-lang/perl
+ media-libs/libpng:0=
+ virtual/libiconv
+ clang? ( sys-devel/clang:= )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doxysearch? ( =dev-libs/xapian-1.2* )
+ latex? ( app-text/texlive[extra] )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ )
+ sqlite? ( dev-db/sqlite:3 )
+ "
+
+REQUIRED_USE="doc? ( latex )"
+
+DEPEND="sys-devel/flex
+ sys-devel/bison
+ doc? ( ${PYTHON_DEPS} )
+ ${RDEPEND}"
+
+# src_test() defaults to make -C testing but there is no such directory (bug #504448)
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${PN}-1.8.11-link_with_pthread.patch" )
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use doc && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Ensure we link to -liconv
+ if use elibc_FreeBSD && has_version dev-libs/libiconv || use elibc_uclibc; then
+ local pro
+ for pro in */*.pro.in */*/*.pro.in; do
+ echo "unix:LIBS += -liconv" >> "${pro}" || die
+ done
+ fi
+
+ # Call dot with -Teps instead of -Tps for EPS generation - bug #282150
+ sed -i -e '/addJob("ps"/ s/"ps"/"eps"/g' src/dot.cpp || die
+
+ # fix pdf doc
+ sed -i.orig -e "s:g_kowal:g kowal:" \
+ doc/maintainers.txt || die
+
+ if is-flagq "-O3" ; then
+ echo
+ ewarn "Compiling with -O3 is known to produce incorrectly"
+ ewarn "optimized code which breaks doxygen."
+ echo
+ elog "Continuing with -O2 instead ..."
+ echo
+ replace-flags "-O3" "-O2"
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ -Duse_libclang=$(usex clang)
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex qt5)
+ -Duse_sqlite3=$(usex sqlite)
+ )
+
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+
+ if use doc; then
+ export VARTEXFONTS="${T}/fonts" # bug #564944
+
+ if ! use dot; then
+ sed -i -e "s/HAVE_DOT = YES/HAVE_DOT = NO/" \
+ {Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+ emake -C "${BUILD_DIR}" docs
+ fi
+}
+
+src_install() {
+ cmake-utils_src_install
+
+ if use qt5; then
+ doicon "${DISTDIR}/doxywizard.png"
+ make_desktop_entry doxywizard "DoxyWizard ${PV}" \
+ "/usr/share/pixmaps/doxywizard.png" \
+ "Development"
+ fi
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+
+ elog
+ elog "For examples and other goodies, see the source tarball. For some"
+ elog "example output, run doxygen on the doxygen source using the"
+ elog "Doxyfile provided in the top-level source dir."
+ elog
+ elog "Disabling the dot USE flag will remove the GraphViz dependency,"
+ elog "along with Doxygen's ability to generate diagrams in the docs."
+ elog "See the Doxygen homepage for additional helper tools to parse"
+ elog "more languages."
+ elog
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+}
diff --git a/app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch b/app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch
new file mode 100644
index 000000000000..24a3b64ad3e1
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.10-fix_flex_check.patch
@@ -0,0 +1,96 @@
+From 5fcb13572417a3b4a05217e9023c683864f35643 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Thu, 19 Nov 2015 12:00:54 +0100
+Subject: [PATCH] Support flex-2.6.0
+
+The version checks only considered YY_FLEX_SUBMINOR_VERSION and did not
+take YY_FLEX_MINOR_VERSION into account, which made them fail with
+flex-2.6.0.
+
+diff --git a/src/code.l b/src/code.l
+index 3323580..25719af 100644
+--- a/src/code.l
++++ b/src/code.l
+@@ -3700,7 +3700,7 @@ void codeFreeScanner()
+ extern "C" { // some bogus code to keep the compiler happy
+ void codeYYdummy() { yy_flex_realloc(0,0); }
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33
+ #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!"
+ #endif
+
+diff --git a/src/commentscan.l b/src/commentscan.l
+index cf892a0..2629857 100644
+--- a/src/commentscan.l
++++ b/src/commentscan.l
+@@ -1128,7 +1128,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
+ // but we need to know the position in the input buffer where this
+ // rule matched.
+ // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE
+-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
++#if YY_FLEX_MINOR_VERSION>5 || YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
+ inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf);
+ #else
+ inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf);
+@@ -1190,7 +1190,7 @@ RCSTAG "$"{ID}":"[^\n$]+"$"
+ g_memberGroupHeader.resize(0);
+ parseMore=TRUE;
+ needNewEntry = TRUE;
+-#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
++#if YY_FLEX_MINOR_VERSION>5 || YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
+ inputPosition=prevPosition + (int)(yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf) + strlen(yytext);
+ #else
+ inputPosition=prevPosition + (int)(yy_bp - yy_current_buffer->yy_ch_buf) + strlen(yytext);
+diff --git a/src/fortrancode.l b/src/fortrancode.l
+index fb91a83..352912b 100644
+--- a/src/fortrancode.l
++++ b/src/fortrancode.l
+@@ -1306,7 +1306,7 @@ void parseFortranCode(CodeOutputInterface &od,const char *className,const QCStri
+ extern "C" { // some bogus code to keep the compiler happy
+ void fortrancodeYYdummy() { yy_flex_realloc(0,0); }
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33
+ #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!"
+ #else
+ extern "C" { // some bogus code to keep the compiler happy
+diff --git a/src/pycode.l b/src/pycode.l
+index 3c41a69..f58f7c1 100644
+--- a/src/pycode.l
++++ b/src/pycode.l
+@@ -1503,7 +1503,7 @@ void parsePythonCode(CodeOutputInterface &od,const char * /*className*/,
+ extern "C" { // some bogus code to keep the compiler happy
+ void pycodeYYdummy() { yy_flex_realloc(0,0); }
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33
+ #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)."
+ #endif
+
+diff --git a/src/vhdlcode.l b/src/vhdlcode.l
+index 369ae48..6957048 100644
+--- a/src/vhdlcode.l
++++ b/src/vhdlcode.l
+@@ -1613,7 +1613,7 @@ void codeFreeVhdlScanner()
+ extern "C" { // some bogus code to keep the compiler happy
+ void vhdlcodeYYdummy() { yy_flex_realloc(0,0); }
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33
+ #error "You seem to be using a version of flex newer than 2.5.4 but older than 2.5.33. These versions do NOT work with doxygen! Please use version <=2.5.4 or >=2.5.33 or expect things to be parsed wrongly!"
+ #endif
+
+diff --git a/src/xmlcode.l b/src/xmlcode.l
+index 15b5d7e..2bef4a0 100644
+--- a/src/xmlcode.l
++++ b/src/xmlcode.l
+@@ -407,7 +407,7 @@ void resetXmlCodeParserState()
+ extern "C" { // some bogus code to keep the compiler happy
+ void xmlcodeYYdummy() { yy_flex_realloc(0,0); }
+ }
+-#elif YY_FLEX_SUBMINOR_VERSION<33
++#elif YY_FLEX_MINOR_VERSION<6 && YY_FLEX_SUBMINOR_VERSION<33
+ #error "You seem to be using a version of flex newer than 2.5.4. These are currently incompatible with 2.5.4, and do NOT work with doxygen! Please use version 2.5.4 or expect things to be parsed wrongly! A bug report has been submitted (#732132)."
+ #endif
+
diff --git a/app-doc/doxygen/files/doxygen-1.8.12-link_with_pthread.patch b/app-doc/doxygen/files/doxygen-1.8.12-link_with_pthread.patch
new file mode 100644
index 000000000000..cdc630c4d42b
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.12-link_with_pthread.patch
@@ -0,0 +1,32 @@
+diff --git a/addon/doxysearch/CMakeLists.txt b/addon/doxysearch/CMakeLists.txt
+index 33e01c1..165fc3e 100644
+--- a/addon/doxysearch/CMakeLists.txt
++++ b/addon/doxysearch/CMakeLists.txt
+@@ -20,6 +20,7 @@ target_link_libraries(doxyindexer
+ ${ZLIB_LIBRARIES}
+ ${WIN_EXTRA_LIBS}
+ qtools
++ pthread
+ )
+
+ add_executable(doxysearch.cgi
+@@ -29,6 +30,7 @@ target_link_libraries(doxysearch.cgi
+ ${XAPIAN_LIBRARIES}
+ ${ZLIB_LIBRARIES}
+ ${WIN_EXTRA_LIBS}
++ pthread
+ )
+
+ install(TARGETS doxyindexer doxysearch.cgi DESTINATION bin)
+diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
+index bf2eda8..8eb2a1c 100644
+--- a/addon/doxywizard/CMakeLists.txt
++++ b/addon/doxywizard/CMakeLists.txt
+@@ -109,6 +109,7 @@ ${doxywizard_RESOURCES_RCC}
+ qt_use_modules(doxywizard Core Gui Widgets Xml)
+ target_link_libraries(doxywizard
+ ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY}
++pthread
+ )
+
+ install(TARGETS doxywizard DESTINATION bin)
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 000000000000..8d72e8ff6e0d
--- /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 <albert.tests@gmail.com>
+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";
diff --git a/app-doc/doxygen/files/doxygen-1.8.9.1-empty-line-sigsegv.patch b/app-doc/doxygen/files/doxygen-1.8.9.1-empty-line-sigsegv.patch
new file mode 100644
index 000000000000..cfa56174c5eb
--- /dev/null
+++ b/app-doc/doxygen/files/doxygen-1.8.9.1-empty-line-sigsegv.patch
@@ -0,0 +1,20 @@
+removeEmptyLines() segfaults on empty string
+
+https://bugs.gentoo.org/show_bug.cgi?id=454348
+http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=676423
+
+Patch written by Thibaut Paumard <paumard@users.sourceforge.net>
+--- a/src/htmlgen.cpp
++++ b/src/htmlgen.cpp
+@@ -1022,6 +1022,11 @@
+ static QCString removeEmptyLines(const QCString &s)
+ {
+ BufStr out(s.length()+1);
++ if (s.length()==0)
++ {
++ out.addChar('\0');
++ return out.data();
++ }
+ const char *p=s.data();
+ if (p)
+ {
diff --git a/app-doc/doxygen/metadata.xml b/app-doc/doxygen/metadata.xml
new file mode 100644
index 000000000000..44db0f4e8faa
--- /dev/null
+++ b/app-doc/doxygen/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="person">
+ <email>tamiko@gentoo.org</email>
+ <name>Matthias Maier</name>
+</maintainer>
+<longdescription>Doxygen is a tool for analyzing, documenting, and reverse-engineering
+ source code of various languages using a variety of output formats
+ (try it and see). Doxygen supports C++, C, Java, Objective-C, Python,
+ IDL (Corba and Microsoft flavors) and to some extent PHP, C#, and D,
+ as well as other languages (using additional helper tools).
+</longdescription>
+<use>
+ <flag name="clang">support for <pkg>sys-devel/clang</pkg> assisted parsing</flag>
+ <flag name="dot">allow to create dot graphs using <pkg>media-gfx/graphviz</pkg></flag>
+ <flag name="doxysearch">build doxyindexer and doxysearch.cgi</flag>
+</use>
+</pkgmetadata>