summaryrefslogtreecommitdiff
path: root/app-text/doxygen
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-12 19:10:40 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-12 19:10:40 +0000
commit4fc30e4e13ecfbe29fbef3b5caf96218eab30b68 (patch)
tree76daccda237a1d7020464e1de2c699391c86cf92 /app-text/doxygen
parent4c4e8e9bf6d1ef49be600d77fcbbd7be716aece7 (diff)
gentoo auto-resync : 12:01:2024 - 19:10:40
Diffstat (limited to 'app-text/doxygen')
-rw-r--r--app-text/doxygen/Manifest17
-rw-r--r--app-text/doxygen/doxygen-1.10.0.ebuild153
-rw-r--r--app-text/doxygen/doxygen-1.9.6.ebuild139
-rw-r--r--app-text/doxygen/doxygen-1.9.7-r1.ebuild142
-rw-r--r--app-text/doxygen/doxygen-1.9.8.ebuild155
-rw-r--r--app-text/doxygen/doxygen-9999.ebuild153
-rw-r--r--app-text/doxygen/files/doxygen-1.9.1-do_not_force_libcxx.patch13
-rw-r--r--app-text/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch23
-rw-r--r--app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch24
-rw-r--r--app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch26
-rw-r--r--app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch51
-rw-r--r--app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch16
-rw-r--r--app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch119
-rw-r--r--app-text/doxygen/metadata.xml24
14 files changed, 1055 insertions, 0 deletions
diff --git a/app-text/doxygen/Manifest b/app-text/doxygen/Manifest
new file mode 100644
index 000000000000..0b1871ffaa24
--- /dev/null
+++ b/app-text/doxygen/Manifest
@@ -0,0 +1,17 @@
+AUX doxygen-1.9.1-do_not_force_libcxx.patch 670 BLAKE2B e618f7acba8e4c7910b8f56001bf17bc41da5765dab57dbc148515eb2c4cfdc341d39498095f3f0dc9cad7ab74f3a508ec0ef143ca4652faace9db1031b29bb5 SHA512 ab40fb3a85f6cfcc93056d4d7b81397077552df53de1fcf26127d982a497bb0d67ead4f213b2c7101beefe2136b367137346b034b5597b39c29699c598ac91bb
+AUX doxygen-1.9.1-ignore-bad-encoding.patch 1016 BLAKE2B 453e13ba115fe7108b0f319b45ad6c3f66c937a2a133eb9c76d38455f71cbbc1ee830e5e632ce36ab2a2906a67b1c676d60c02d0696a9da75862ea4197e209b1 SHA512 71cc9c54bc40f6719c64874e2bd9355cda47c87affec7f3e551fae06cb27bd9c569bffec03d2594c2f1a0190c6975123270fb446c62d8c1fac4c2834c7adaf80
+AUX doxygen-1.9.4-link_with_pthread.patch 1116 BLAKE2B 864adde5d9c0c852dba8fdaee9021f16e7e119a660d5d8657f320686c0d86c29b5695f367c2af2846e9861bca5a70889b6dd56a9734485527ae504a134e30594 SHA512 f9a1089585f83a09b89c813f51bbb7914fb27be2b3e554148387fd322c88153c2aca1af4215d90b6f2fc9eae25814085fb468f0ef2dacfa092662a4609d52929
+AUX doxygen-1.9.7-musl-1.2.4.patch 1126 BLAKE2B 050fa56a7786c557ce03c9275e152f2b2d2285209f8ea9aed5019c96c2e545ce46208f783092addfcd8ae00b0ed257d4f588ae4036b65752087901d616cc4979 SHA512 eb89ca38cee0431528240c9b354adeef5e2c3ed89db762e7e12e12fa17ca596752b9da0cb75fb9d09dcfbecc302a7e63f811b8fb2f43baf3b4d2230f259ad96f
+AUX doxygen-1.9.8-spdlog-link.patch 1571 BLAKE2B 954d701bdcbabf8b9ebb52d4be6a947189661a55cbab72b7651fb956b53778a968c6c88fb2b3967a8bfa5f0951e9fe046e69a8567938a8243558af807d657714 SHA512 7d3d4363313ace1823b4570c94fcd2f8099f6f7ec42d45f4fd341df9071fb9807e03fe5094a12c8fcf86ca8da06aa681ac0b8e1e0bec70fe2555f70cf39c5b8f
+AUX doxygen-1.9.8-suppress-unused-option-libcxx.patch 828 BLAKE2B db41297d3ad3fca9dc5097871185f98c965ccda7e22f8c31e0b9a69fc83c90dfd32125371cb3e42ebb6b0867cc9746b03ef656861aea14dc8d17e1e7ea09780f SHA512 6c6599ddf35720abb3872fed3a82e8796edc4e6623f9e5b3930e600772c6346bab776074fc8edb20d6d9ac7c21d6c0cb86b12295c9b7649322b876bc6737065d
+AUX doxygen-1.9.8-unbundle-sqlite.patch 4510 BLAKE2B afd24516a20c4378a611c836bc51276528a3983ef21db7a036d53e910b8627f5800b871d2cd13c14fc36e04eebee8bca31c40819c9b4051b1007a3ad799351d0 SHA512 548a3e550bc552007116a9bf500e1cf953b23488e825ac2ee55ef90ae001c189e5a85f84b9957c5670be7d83166a5e8df266c6a96f8b195199d45c264b67e846
+DIST doxygen-1.10.0.src.tar.gz 8400410 BLAKE2B dc7882dfb8b023e9250592375105cc79d4744362d96f4518b931ac264259257d27e0f2c5456580f3676bb54cc29fbc2ab3b2ffc37da6441297091c60a38dc13b SHA512 885de36fa0b4364cdd1eddd5e02517e08da7a52274c6fda2c22cbe85f0840e2ddf7358f613c018dc39b4a6dfce2ddd627e9318e73b903f954bbad1a39d03a416
+DIST doxygen-1.9.6.src.tar.gz 5293513 BLAKE2B 35d3286b47922776814bb7941c7a1cb27a5a50be35a9f231b1f072333d966630bbf0b97813f56711f71f040a0ceb87e7e1cbee04ca2aa3f035754ba844561697 SHA512 f8b0d19d33fa8a5bb92b38f1c775bd3cde7f024566cf93ed61ab0cafe86643971c04b7f2492364767b3e6ce5b518bad5e0321c82f0a72875ccf936ea7d3595b2
+DIST doxygen-1.9.7.src.tar.gz 5736446 BLAKE2B e0f6e06399a2dda7226fe8fea351a79f19bf71aee51fba0ce113c3423b85aa633ce8d98894e3e49027839c2accc18af87c7f23a1fd37c0de441de42a8a76d307 SHA512 618ff58aa6f0a2eb89f95b570995ea3ebbcda64f502cabcecd9be2967abffb56d0d6747de0c06df422705919757e6af9c6e5a56ca603b1ddf7a09a7ee79b1803
+DIST doxygen-1.9.8.src.tar.gz 8087770 BLAKE2B 9b93bd394e9fdafef1c274596f790db0956028332a945e0359b7b24440aefa5362b2126649c529e71341bba172cd1fa514455567ffffd37243a740a1ffbc1944 SHA512 edcd382538ecf0afd9d1c891afe302092cd541a30840dda6b00dc0f1d6c5b39a696ab98042c5bb4012c1c051609bfdbfa7d29e3098a72f6cb504d90097767ebb
+EBUILD doxygen-1.10.0.ebuild 3582 BLAKE2B 9d8b15c8a5a132578d778de697ac449e718d0b4ba52c3967eeeca7438eefcdca39edd8962cd372a4d16d0bad94dd1549a0b99739c01a7d77c8f8d105b4f8e433 SHA512 94ca1c5bcd04dbfa68c5992b78e0faf71183f21f2592fab46e4d3fb99296579c3e6eee3fe79a9d63668fdef819d7cd1641287c4f69eb8442417fc1f1e402374a
+EBUILD doxygen-1.9.6.ebuild 3250 BLAKE2B 744a5b2a9ee0badc25251ed059c376f39a3c64d328071928bb54b350851868c151039e93a04a38a7f3cbe25e13623b90bdd80df6d80e9b42c7b35f4a604aed95 SHA512 228ac41fe9bbd19d6ec295d530c757e6975336c33d0ef94e92ebf73edc29d18dd19c0aaae070229a2843198e2875f7037284a3dc92b0a99e3c4ff063f27d01f9
+EBUILD doxygen-1.9.7-r1.ebuild 3392 BLAKE2B a11afd69b702473b84b21189d043b0e77e51b88c687bd97e2f76d1634bc04e8225d4db8d8f17a09e4c6af97aa9485240a3720e648971a31d403c039eb34b7add SHA512 98613919764f43fe450b7da0047bb4db35e5ca4c0ebdb837847a57cf02d5c579a3110ece2c6852581ed1c6ec06e6bc7817d236aeb8a5c96664e70dde5dde1c21
+EBUILD doxygen-1.9.8.ebuild 3654 BLAKE2B 175a4219d8fd8b3b94fbf34e69ffad9031b3d8251334b5c6a543e1251ceec3e20052961e333a17d1281b6f482668efc2e7892ba55a2ec0de186b72620328b9b4 SHA512 2e8122bb9c1e1390cde8ef19c5090f87ef1758b6755e8086d19ce919e2cb7a4d7b7bbc1b3c0e703e4712761bc6a720918d5a9072965fc013ba07c495b037f2da
+EBUILD doxygen-9999.ebuild 3582 BLAKE2B 9d8b15c8a5a132578d778de697ac449e718d0b4ba52c3967eeeca7438eefcdca39edd8962cd372a4d16d0bad94dd1549a0b99739c01a7d77c8f8d105b4f8e433 SHA512 94ca1c5bcd04dbfa68c5992b78e0faf71183f21f2592fab46e4d3fb99296579c3e6eee3fe79a9d63668fdef819d7cd1641287c4f69eb8442417fc1f1e402374a
+MISC metadata.xml 1024 BLAKE2B 884363174e8a83eecb926c962185d1f1cc3263ed216b26e149035b47b424b5baf1da222805f5ed04f25b4e97f12c79cface7bd6ce59ca9d37388c696a9a13117 SHA512 12c91be3f02f1ef99db00a48f2dd252f4bab85078f308c921a1a07062d971090f8dd39480b5b72e2bb21f8e2df69bc10c7828c1c91f2f83ce64be50a233eef15
diff --git a/app-text/doxygen/doxygen-1.10.0.ebuild b/app-text/doxygen/doxygen-1.10.0.ebuild
new file mode 100644
index 000000000000..1da0762f0e7d
--- /dev/null
+++ b/app-text/doxygen/doxygen-1.10.0.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit cmake flag-o-matic llvm python-any-r1
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.doxygen.nl/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+else
+ SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz"
+ SRC_URI+=" mirror://sourceforge/doxygen/rel-${PV}/${P}.src.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+# GPL-2 also for bundled libmscgen
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch gui test"
+# - We need TeX for tests, bug #765472
+# - We keep the odd construct of noop USE=test because of
+# the special relationship b/t RESTRICT & USE for tests.
+# Also, it's a hint which avoids tests being silently skipped during arch testing.
+REQUIRED_USE="test? ( doc )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+ ${PYTHON_DEPS}
+"
+RDEPEND="
+ app-text/ghostscript-gpl
+ dev-db/sqlite:3
+ dev-lang/perl
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+ media-libs/libpng:=
+ virtual/libiconv
+ clang? (
+ <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+ )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doc? (
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+ doxysearch? ( dev-libs/xapian:= )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch"
+ "${FILESDIR}/${PN}-1.9.7-musl-1.2.4.patch"
+ "${FILESDIR}/${PN}-1.9.8-suppress-unused-option-libcxx.patch"
+
+ # Backports
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use clang && llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # 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
+ # TODO: Investigate this and report a bug accordingly...
+ ewarn "Compiling with -O3 is known to produce incorrectly"
+ ewarn "optimized code which breaks doxygen. Using -O2 instead."
+ replace-flags "-O3" "-O2"
+ fi
+}
+
+src_configure() {
+ # Very slow to compile, bug #920092
+ filter-flags -fipa-pta
+ # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287
+ filter-lto
+
+ local mycmakeargs=(
+ -Duse_libclang=$(usex clang)
+ # Let the user choose instead, see also bug #822615
+ -Duse_libc++=OFF
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex gui)
+ -Duse_sys_spdlog=ON
+ -Duse_sys_sqlite3=ON
+ -DBUILD_SHARED_LIBS=OFF
+ -DGIT_EXECUTABLE="false"
+ )
+
+ use doc && mycmakeargs+=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_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/" \
+ {testing/Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+
+ # -j1 for bug #770070
+ cmake_src_compile docs -j1
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doman doc/*.1
+}
diff --git a/app-text/doxygen/doxygen-1.9.6.ebuild b/app-text/doxygen/doxygen-1.9.6.ebuild
new file mode 100644
index 000000000000..12b8e39a7ff0
--- /dev/null
+++ b/app-text/doxygen/doxygen-1.9.6.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit cmake flag-o-matic llvm python-any-r1
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+else
+ SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz"
+ SRC_URI+=" mirror://sourceforge/doxygen/rel-${PV}/${P}.src.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.doxygen.nl/"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch qt5 sqlite test"
+# We need TeX for tests, bug #765472
+# We keep the odd construct of noop USE=test because of
+# the special relationship b/t RESTRICT & USE for tests. Also, it's a hint
+# which avoids tests being silently skipped during arch testing.
+REQUIRED_USE="test? ( doc )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="app-alternatives/yacc
+ app-alternatives/lex
+ ${PYTHON_DEPS}
+"
+RDEPEND="app-text/ghostscript-gpl
+ dev-lang/perl
+ media-libs/libpng:0=
+ virtual/libiconv
+ clang? ( >=sys-devel/clang-10:= )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doc? (
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+ doxysearch? ( dev-libs/xapian:= )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch"
+ "${FILESDIR}/${PN}-1.9.1-ignore-bad-encoding.patch"
+ "${FILESDIR}/${PN}-1.9.1-do_not_force_libcxx.patch"
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use clang && llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # 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() {
+ # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287
+ filter-lto
+
+ local mycmakeargs=(
+ -Duse_libclang=$(usex clang)
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex qt5)
+ -Duse_sqlite3=$(usex sqlite)
+ -DGIT_EXECUTABLE="false"
+ )
+
+ use doc && mycmakeargs+=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_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/" \
+ {testing/Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+
+ # -j1 for bug #770070
+ cmake_src_compile docs -j1
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doman doc/*.1
+}
diff --git a/app-text/doxygen/doxygen-1.9.7-r1.ebuild b/app-text/doxygen/doxygen-1.9.7-r1.ebuild
new file mode 100644
index 000000000000..5c412c4fe5be
--- /dev/null
+++ b/app-text/doxygen/doxygen-1.9.7-r1.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit cmake flag-o-matic llvm python-any-r1
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+else
+ SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz"
+ SRC_URI+=" mirror://sourceforge/doxygen/rel-${PV}/${P}.src.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.doxygen.nl/"
+
+# GPL-2 also for bundled libmscgen, MIT for bundled spdlog
+LICENSE="GPL-2 MIT"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch qt5 sqlite test"
+# We need TeX for tests, bug #765472
+# We keep the odd construct of noop USE=test because of
+# the special relationship b/t RESTRICT & USE for tests. Also, it's a hint
+# which avoids tests being silently skipped during arch testing.
+REQUIRED_USE="test? ( doc )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="app-alternatives/yacc
+ app-alternatives/lex
+ ${PYTHON_DEPS}
+"
+RDEPEND="app-text/ghostscript-gpl
+ dev-lang/perl
+ media-libs/libpng:0=
+ virtual/libiconv
+ clang? ( >=sys-devel/clang-10:= )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doc? (
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+ doxysearch? ( dev-libs/xapian:= )
+ qt5? (
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+ sqlite? ( dev-db/sqlite:3 )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch"
+ "${FILESDIR}/${PN}-1.9.1-ignore-bad-encoding.patch"
+ "${FILESDIR}/${PN}-1.9.1-do_not_force_libcxx.patch"
+ "${FILESDIR}/${PN}-1.9.7-musl-1.2.4.patch"
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use clang && llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # 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() {
+ # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287
+ filter-lto
+
+ local mycmakeargs=(
+ -Duse_libclang=$(usex clang)
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex qt5)
+ -Duse_sqlite3=$(usex sqlite)
+ -DBUILD_SHARED_LIBS=OFF
+ -DGIT_EXECUTABLE="false"
+ )
+
+ use doc && mycmakeargs+=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_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/" \
+ {testing/Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+
+ # -j1 for bug #770070
+ cmake_src_compile docs -j1
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doman doc/*.1
+}
diff --git a/app-text/doxygen/doxygen-1.9.8.ebuild b/app-text/doxygen/doxygen-1.9.8.ebuild
new file mode 100644
index 000000000000..10a904280416
--- /dev/null
+++ b/app-text/doxygen/doxygen-1.9.8.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit cmake flag-o-matic llvm python-any-r1
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.doxygen.nl/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+else
+ SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz"
+ SRC_URI+=" mirror://sourceforge/doxygen/rel-${PV}/${P}.src.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+# GPL-2 also for bundled libmscgen
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch gui test"
+# - We need TeX for tests, bug #765472
+# - We keep the odd construct of noop USE=test because of
+# the special relationship b/t RESTRICT & USE for tests.
+# Also, it's a hint which avoids tests being silently skipped during arch testing.
+REQUIRED_USE="test? ( doc )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+ ${PYTHON_DEPS}
+"
+RDEPEND="
+ app-text/ghostscript-gpl
+ dev-db/sqlite:3
+ dev-lang/perl
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+ media-libs/libpng:=
+ virtual/libiconv
+ clang? (
+ <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+ )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doc? (
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+ doxysearch? ( dev-libs/xapian:= )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch"
+ "${FILESDIR}/${PN}-1.9.7-musl-1.2.4.patch"
+ "${FILESDIR}/${PN}-1.9.8-suppress-unused-option-libcxx.patch"
+
+ # Backports
+ "${FILESDIR}/${P}-spdlog-link.patch"
+ "${FILESDIR}/${P}-unbundle-sqlite.patch"
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use clang && llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # 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
+ # TODO: Investigate this and report a bug accordingly...
+ ewarn "Compiling with -O3 is known to produce incorrectly"
+ ewarn "optimized code which breaks doxygen. Using -O2 instead."
+ replace-flags "-O3" "-O2"
+ fi
+}
+
+src_configure() {
+ # Very slow to compile, bug #920092
+ filter-flags -fipa-pta
+ # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287
+ filter-lto
+
+ local mycmakeargs=(
+ -Duse_libclang=$(usex clang)
+ # Let the user choose instead, see also bug #822615
+ -Duse_libc++=OFF
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex gui)
+ -Duse_sys_spdlog=ON
+ -Duse_sys_sqlite3=ON
+ -DBUILD_SHARED_LIBS=OFF
+ -DGIT_EXECUTABLE="false"
+ )
+
+ use doc && mycmakeargs+=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_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/" \
+ {testing/Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+
+ # -j1 for bug #770070
+ cmake_src_compile docs -j1
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doman doc/*.1
+}
diff --git a/app-text/doxygen/doxygen-9999.ebuild b/app-text/doxygen/doxygen-9999.ebuild
new file mode 100644
index 000000000000..1da0762f0e7d
--- /dev/null
+++ b/app-text/doxygen/doxygen-9999.ebuild
@@ -0,0 +1,153 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LLVM_MAX_SLOT=17
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit cmake flag-o-matic llvm python-any-r1
+
+DESCRIPTION="Documentation system for most programming languages"
+HOMEPAGE="https://www.doxygen.nl/"
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/doxygen/doxygen.git"
+else
+ SRC_URI="https://doxygen.nl/files/${P}.src.tar.gz"
+ SRC_URI+=" mirror://sourceforge/doxygen/rel-${PV}/${P}.src.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+# GPL-2 also for bundled libmscgen
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="clang debug doc dot doxysearch gui test"
+# - We need TeX for tests, bug #765472
+# - We keep the odd construct of noop USE=test because of
+# the special relationship b/t RESTRICT & USE for tests.
+# Also, it's a hint which avoids tests being silently skipped during arch testing.
+REQUIRED_USE="test? ( doc )"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+ ${PYTHON_DEPS}
+"
+RDEPEND="
+ app-text/ghostscript-gpl
+ dev-db/sqlite:3
+ dev-lang/perl
+ dev-libs/libfmt:=
+ dev-libs/spdlog:=
+ media-libs/libpng:=
+ virtual/libiconv
+ clang? (
+ <sys-devel/clang-$((${LLVM_MAX_SLOT} + 1)):=
+ )
+ dot? (
+ media-gfx/graphviz
+ media-libs/freetype
+ )
+ doc? (
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-plaingeneric
+ )
+ doxysearch? ( dev-libs/xapian:= )
+ gui? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.9.4-link_with_pthread.patch"
+ "${FILESDIR}/${PN}-1.9.7-musl-1.2.4.patch"
+ "${FILESDIR}/${PN}-1.9.8-suppress-unused-option-libcxx.patch"
+
+ # Backports
+)
+
+DOCS=( LANGUAGE.HOWTO README.md )
+
+pkg_setup() {
+ use clang && llvm_pkg_setup
+ python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ cmake_src_prepare
+
+ # 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
+ # TODO: Investigate this and report a bug accordingly...
+ ewarn "Compiling with -O3 is known to produce incorrectly"
+ ewarn "optimized code which breaks doxygen. Using -O2 instead."
+ replace-flags "-O3" "-O2"
+ fi
+}
+
+src_configure() {
+ # Very slow to compile, bug #920092
+ filter-flags -fipa-pta
+ # -Wodr warnings, see bug #854357 and https://github.com/doxygen/doxygen/issues/9287
+ filter-lto
+
+ local mycmakeargs=(
+ -Duse_libclang=$(usex clang)
+ # Let the user choose instead, see also bug #822615
+ -Duse_libc++=OFF
+ -Dbuild_doc=$(usex doc)
+ -Dbuild_search=$(usex doxysearch)
+ -Dbuild_wizard=$(usex gui)
+ -Duse_sys_spdlog=ON
+ -Duse_sys_sqlite3=ON
+ -DBUILD_SHARED_LIBS=OFF
+ -DGIT_EXECUTABLE="false"
+ )
+
+ use doc && mycmakeargs+=(
+ -DDOC_INSTALL_DIR="share/doc/${P}"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_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/" \
+ {testing/Doxyfile,doc/Doxyfile} \
+ || die "disabling dot failed"
+ fi
+
+ # -j1 for bug #770070
+ cmake_src_compile docs -j1
+ fi
+}
+
+src_install() {
+ cmake_src_install
+
+ doman doc/*.1
+}
diff --git a/app-text/doxygen/files/doxygen-1.9.1-do_not_force_libcxx.patch b/app-text/doxygen/files/doxygen-1.9.1-do_not_force_libcxx.patch
new file mode 100644
index 000000000000..f33f619e62ed
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.1-do_not_force_libcxx.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3775ed1..b3a1af6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -23,7 +23,7 @@ option(build_doc "Build user manual (HTML and PDF)" OFF)
+ option(build_doc_chm "Build user manual (CHM)" OFF)
+ option(use_sqlite3 "Add support for sqlite3 output [experimental]." OFF)
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+- option(use_libc++ "Use libc++ as C++ standard library." ON)
++ option(use_libc++ "Use libc++ as C++ standard library." OFF)
+ endif()
+ option(use_libclang "Add support for libclang parsing." OFF)
+ option(static_libclang "Link to a statically compiled version of LLVM/libclang." OFF)
diff --git a/app-text/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch b/app-text/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch
new file mode 100644
index 000000000000..5dd7578f24ec
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.1-ignore-bad-encoding.patch
@@ -0,0 +1,23 @@
+Hack to avoid "UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 45: invalid start byte"
+in src/._xmlgen.cpp which is binary. This doesn't seem like it should be present at the time the docs
+are generated, but this is simpler for now.
+--- a/doc/translator.py
++++ b/doc/translator.py
+@@ -1454,10 +1454,13 @@ class TrManager:
+
+ # Read content of the file as one string.
+ assert os.path.isfile(fname)
+- f = xopen(fname)
+- cont = f.read()
+- cont = ''.join(cont.split('\n')) # otherwise the 'match' function won't work.
+- f.close()
++ try:
++ with xopen(fname) as f:
++ cont = f.read()
++ cont = ''.join(cont.split('\n')) # otherwise the 'match' function won't work.
++ except UnicodeDecodeError:
++ print("Skipping {0} because of decoding errors".format(fname))
++ return
+
+ # Remove the items for identifiers that were found in the file.
+ while lst_in:
diff --git a/app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch b/app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch
new file mode 100644
index 000000000000..66093eb7deb9
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.4-link_with_pthread.patch
@@ -0,0 +1,24 @@
+diff --git a/addon/doxywizard/.CMakeLists.txt.swp b/addon/doxywizard/.CMakeLists.txt.swp
+deleted file mode 100644
+index fc379d2..0000000
+Binary files a/addon/doxywizard/.CMakeLists.txt.swp and /dev/null differ
+diff --git a/addon/doxywizard/CMakeLists.txt b/addon/doxywizard/CMakeLists.txt
+index bb0e0eb..b6135bd 100644
+--- a/addon/doxywizard/CMakeLists.txt
++++ b/addon/doxywizard/CMakeLists.txt
+@@ -132,12 +132,12 @@ apply_editbin(doxywizard windows)
+ endif()
+
+ if(Qt5Core_FOUND)
+- target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version)
++ target_link_libraries(doxywizard Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Xml doxygen_version pthread)
+ else()
+ if(Qt6Core_FOUND)
+- target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version)
++ target_link_libraries(doxywizard Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Xml doxygen_version pthread)
+ else()
+- target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version)
++ target_link_libraries(doxywizard ${QT_LIBRARIES} ${QT_QTMAIN_LIBRARY} doxygen_version pthread)
+ endif()
+ endif()
+
diff --git a/app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch b/app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch
new file mode 100644
index 000000000000..2c71a0af9ae8
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.7-musl-1.2.4.patch
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/906920
+https://gitlab.exherbo.org/exherbo/arbor/-/commit/7b517ba0068adc471fe7b2ed8cfbb191a197ca17
+
+From 6d713aa98b36ee8219294515142c0225fbd09dfc Mon Sep 17 00:00:00 2001
+From: Heiko Becker <heirecka@exherbo.org>
+Date: Thu, 25 May 2023 10:52:29 +0200
+Subject: [PATCH] Apply upstream fix for spdlog
+
+Fixes the build with musl >= 1.2.4, see
+https://github.com/gabime/spdlog/commit/287a00d364990edbb621fe5e392aeb550135fb96
+for details.
+--- a/deps/spdlog/include/spdlog/details/os-inl.h
++++ b/deps/spdlog/include/spdlog/details/os-inl.h
+@@ -236,8 +236,8 @@ SPDLOG_INLINE size_t filesize(FILE *f)
+ # else
+ int fd = ::fileno(f);
+ # endif
+-// 64 bits(but not in osx or cygwin, where fstat64 is deprecated)
+-# if (defined(__linux__) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
++// 64 bits(but not in osx, linux/musl or cygwin, where fstat64 is deprecated)
++# if ((defined(__linux__) && defined(__GLIBC__)) || defined(__sun) || defined(_AIX)) && (defined(__LP64__) || defined(_LP64))
+ struct stat64 st;
+ if (::fstat64(fd, &st) == 0)
+ {
+--
+2.41.0.rc2
diff --git a/app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch b/app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch
new file mode 100644
index 000000000000..e73385dec3b2
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.8-spdlog-link.patch
@@ -0,0 +1,51 @@
+https://github.com/doxygen/doxygen/issues/10265
+https://github.com/doxygen/doxygen/pull/10284
+
+From 70bb112352ae7f3130647dcc009d8de5d4134e6d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?=
+ =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= <mehdi.chinoune@hotmail.com>
+Date: Mon, 4 Sep 2023 18:49:27 +0100
+Subject: [PATCH 1/2] doxyapp: Fix linking to spdlog
+
+---
+ addon/doxyapp/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/addon/doxyapp/CMakeLists.txt b/addon/doxyapp/CMakeLists.txt
+index 4f3c31feacd..6097a3cca69 100644
+--- a/addon/doxyapp/CMakeLists.txt
++++ b/addon/doxyapp/CMakeLists.txt
+@@ -46,7 +46,7 @@ mscgen
+ doxygen_version
+ doxycfg
+ vhdlparser
+-spdlog
++spdlog::spdlog
+ ${ICONV_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${SQLITE3_LIBRARIES}
+
+From 71f2ed171a6d14a67f1905802714add974c31789 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D9=85=D9=87=D8=AF=D9=8A=20=D8=B4=D9=8A=D9=86=D9=88=D9=86?=
+ =?UTF-8?q?=20=28Mehdi=20Chinoune=29?= <mehdi.chinoune@hotmail.com>
+Date: Mon, 4 Sep 2023 18:50:25 +0100
+Subject: [PATCH 2/2] doxyparse: Fix linking to spdlog
+
+---
+ addon/doxyparse/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/addon/doxyparse/CMakeLists.txt b/addon/doxyparse/CMakeLists.txt
+index 24881e3ef12..0157afb45e2 100644
+--- a/addon/doxyparse/CMakeLists.txt
++++ b/addon/doxyparse/CMakeLists.txt
+@@ -35,7 +35,7 @@ mscgen
+ doxygen_version
+ doxycfg
+ vhdlparser
+-spdlog
++spdlog::spdlog
+ ${ICONV_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT}
+ ${SQLITE3_LIBRARIES}
+
diff --git a/app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch b/app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch
new file mode 100644
index 000000000000..1da9a2da6459
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.8-suppress-unused-option-libcxx.patch
@@ -0,0 +1,16 @@
+Always expose the use_libc++ option. It's only useful for Clang but cmake.class
+tries to find when we've used CMake options which are unused/unknown and this
+triggers it for GCC builds if we set -Duse_libc++=OFF.
+
+So, always expose the option so we can turn it off without a warning.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -21,7 +21,7 @@ option(build_xmlparser "Automatically update the XML parser modules when updatin
+ option(build_search "Build external search tools (doxysearch and doxyindexer)" OFF)
+ option(build_doc "Build user manual (HTML and PDF)" OFF)
+ option(build_doc_chm "Build user manual (CHM)" OFF)
+-if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
++if (TRUE)
+ option(use_libc++ "Use libc++ as C++ standard library." ON)
+ endif()
+ option(use_libclang "Add support for libclang parsing." OFF)
diff --git a/app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch b/app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch
new file mode 100644
index 000000000000..04d1d69b7b86
--- /dev/null
+++ b/app-text/doxygen/files/doxygen-1.9.8-unbundle-sqlite.patch
@@ -0,0 +1,119 @@
+https://github.com/doxygen/doxygen/issues/10263
+https://github.com/doxygen/doxygen/commit/28609fecd41d885e54fa170e499a0e5b55def2c2
+
+From 28609fecd41d885e54fa170e499a0e5b55def2c2 Mon Sep 17 00:00:00 2001
+From: Dimitri van Heesch <doxygen@gmail.com>
+Date: Mon, 28 Aug 2023 20:19:16 +0200
+Subject: [PATCH] issue #10263 please add a use_sys_sqlite3 config option
+
+---
+ CMakeLists.txt | 6 +++++-
+ cmake/FindSQLite3.cmake | 38 ++++++++++++++++++++++++++++++++++++++
+ deps/CMakeLists.txt | 4 +++-
+ src/CMakeLists.txt | 4 +++-
+ 4 files changed, 49 insertions(+), 3 deletions(-)
+ create mode 100644 cmake/FindSQLite3.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4957c34c24d..31e53cc8440 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -25,7 +25,8 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ option(use_libc++ "Use libc++ as C++ standard library." ON)
+ endif()
+ option(use_libclang "Add support for libclang parsing." OFF)
+-option(use_sys_spdlog "Use system spdlog instead of bundled." OFF)
++option(use_sys_spdlog "Use system spdlog library instead of the one bundled." OFF)
++option(use_sys_sqlite3 "Use system sqlite3 library instead of the one bundled." OFF)
+ option(static_libclang "Link to a statically compiled version of LLVM/libclang." OFF)
+ option(win_static "Link with /MT in stead of /MD on windows" OFF)
+ option(enable_console "Enable that executables on Windows get the CONSOLE bit set for the doxywizard executable [development]" OFF)
+@@ -67,6 +68,9 @@ endif()
+ if (use_sys_spdlog)
+ find_package(spdlog CONFIG REQUIRED)
+ endif()
++if (use_sys_sqlite3)
++ find_package(SQLite3 REQUIRED)
++endif()
+ if (build_wizard)
+ if (force_qt STREQUAL "Qt6")
+ if (CMAKE_SYSTEM MATCHES "Darwin")
+diff --git a/cmake/FindSQLite3.cmake b/cmake/FindSQLite3.cmake
+new file mode 100644
+index 00000000000..7c21de223a7
+--- /dev/null
++++ b/cmake/FindSQLite3.cmake
+@@ -0,0 +1,38 @@
++# Copyright (C) 2007-2009 LuaDist.
++# Created by Peter Kapec <kapecp@gmail.com>
++# Redistribution and use of this file is allowed according to the terms of the MIT license.
++# For details see the COPYRIGHT file distributed with LuaDist.
++# Note:
++# Searching headers and libraries is very simple and is NOT as powerful as scripts
++# distributed with CMake, because LuaDist defines directories to search for.
++# Everyone is encouraged to contact the author with improvements. Maybe this file
++# becomes part of CMake distribution sometimes.
++
++# - Find sqlite3
++# Find the native SQLite3 headers and libraries.
++#
++# SQLite3_INCLUDE_DIRS - where to find sqlite3.h, etc.
++# SQLite3_LIBRARIES - List of libraries when using sqlite.
++# SQLite3_FOUND - True if sqlite found.
++
++# Look for the header file.
++FIND_PATH(SQLite3_INCLUDE_DIR NAMES sqlite3.h)
++
++# Look for the library.
++FIND_LIBRARY(SQLite3_LIBRARY NAMES sqlite3)
++
++# Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE if all listed variables are TRUE.
++INCLUDE(FindPackageHandleStandardArgs)
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(SQLite3 DEFAULT_MSG SQLite3_LIBRARY SQLite3_INCLUDE_DIR)
++
++# Copy the results to the output variables.
++IF(SQLite3_FOUND)
++ SET(SQLite3_LIBRARIES ${SQLite3_LIBRARY})
++ SET(SQLite3_INCLUDE_DIRS ${SQLite3_INCLUDE_DIR})
++ELSE(SQLite3_FOUND)
++ SET(SQLite3_LIBRARIES)
++ SET(SQLite3_INCLUDE_DIRS)
++ENDIF(SQLite3_FOUND)
++
++MARK_AS_ADVANCED(SQLite3_INCLUDE_DIRS SQLite3_LIBRARIES)
++
+diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt
+index a689b4a7018..eb716417f22 100644
+--- a/deps/CMakeLists.txt
++++ b/deps/CMakeLists.txt
+@@ -4,4 +4,6 @@ add_subdirectory(libmscgen)
+ if (NOT use_sys_spdlog)
+ add_subdirectory(spdlog)
+ endif()
+-add_subdirectory(sqlite3)
++if (NOT use_sys_sqlite3)
++ add_subdirectory(sqlite3)
++endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 78a55c3f2bf..02c52240e5b 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -6,7 +6,6 @@ include_directories(
+ ${PROJECT_SOURCE_DIR}/deps/libmd5
+ ${PROJECT_SOURCE_DIR}/deps/liblodepng
+ ${PROJECT_SOURCE_DIR}/deps/libmscgen
+- ${PROJECT_SOURCE_DIR}/deps/sqlite3
+ ${PROJECT_SOURCE_DIR}/libversion
+ ${PROJECT_SOURCE_DIR}/libxml
+ ${PROJECT_SOURCE_DIR}/vhdlparser
+@@ -18,6 +17,9 @@ include_directories(
+ if (NOT use_sys_spdlog)
+ include_directories(${PROJECT_SOURCE_DIR}/deps/spdlog/include)
+ endif()
++if (NOT use_sys_sqlite)
++ include_directories(${PROJECT_SOURCE_DIR}/deps/sqlite3)
++endif()
+
+
+ file(MAKE_DIRECTORY ${GENERATED_SRC})
+
diff --git a/app-text/doxygen/metadata.xml b/app-text/doxygen/metadata.xml
new file mode 100644
index 000000000000..1a7e4e52585a
--- /dev/null
+++ b/app-text/doxygen/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://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>
+ <upstream>
+ <remote-id type="github">doxygen/doxygen</remote-id>
+ <remote-id type="sourceforge">doxygen</remote-id>
+ </upstream>
+ <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>