public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Matthias Maier" <tamiko@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/doxygen/
Date: Tue, 13 Feb 2024 18:52:08 +0000 (UTC)	[thread overview]
Message-ID: <1707850325.9aff33af49dea70beaadc882f40ab39375bcf34d.tamiko@gentoo> (raw)

commit:     9aff33af49dea70beaadc882f40ab39375bcf34d
Author:     Eli Schwartz <eschwartz93 <AT> gmail <DOT> com>
AuthorDate: Sun Feb 11 20:52:59 2024 +0000
Commit:     Matthias Maier <tamiko <AT> gentoo <DOT> org>
CommitDate: Tue Feb 13 18:52:05 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9aff33af

app-text/doxygen: fix incorrect and overly broad manpage installation

We only want manpages for the USE flags we enabled. Actually, we don't
want to manually install these at all, but upstream weirdly ties this to
USE=doc. Kludge around it with conditional `doman`.

This still isn't actually satisfactory, since the resulting manpages
contain lots of `Doxygen version @VERSION@` and suchlike, which is
supposed to get configured by cmake during the process of installing.
Handling this correctly requires upstream work.

Patch submitted upstream: https://github.com/doxygen/doxygen/pull/10647

Closes: https://github.com/gentoo/gentoo/pull/35281
Signed-off-by: Eli Schwartz <eschwartz93 <AT> gmail.com>
Signed-off-by: Matthias Maier <tamiko <AT> gentoo.org>

 app-text/doxygen/doxygen-1.10.0-r1.ebuild | 160 ++++++++++++++++++++++++++++++
 1 file changed, 160 insertions(+)

diff --git a/app-text/doxygen/doxygen-1.10.0-r1.ebuild b/app-text/doxygen/doxygen-1.10.0-r1.ebuild
new file mode 100644
index 000000000000..41e6877c588a
--- /dev/null
+++ b/app-text/doxygen/doxygen-1.10.0-r1.ebuild
@@ -0,0 +1,160 @@
+# 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
+
+	# manpages are only automatically installed when docs are
+	# https://github.com/doxygen/doxygen/pull/10647
+	doman doc/doxygen.1
+	use gui && doman doc/doxywizard.1
+	use doxysearch && {
+		doman doc/doxyindexer.1
+		doman doc/doxysearch.1
+	}
+}


             reply	other threads:[~2024-02-13 18:52 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-13 18:52 Matthias Maier [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-03-09 22:05 [gentoo-commits] repo/gentoo:master commit in: app-text/doxygen/ Andreas Sturmlechner
2025-03-09 20:19 Sam James
2025-02-26 20:34 Arthur Zamarin
2025-01-29 10:47 Sam James
2025-01-29 10:47 Sam James
2025-01-24 20:10 Andreas Sturmlechner
2025-01-24 20:10 Andreas Sturmlechner
2025-01-24 20:10 Andreas Sturmlechner
2025-01-16 16:02 Matthias Maier
2024-11-27 20:34 Matt Jolly
2024-10-17 21:37 Sam James
2024-10-17 10:47 Arthur Zamarin
2024-10-17  8:20 Sam James
2024-10-17  8:19 Sam James
2024-10-17  8:19 Sam James
2024-08-25 23:31 Matthias Maier
2024-07-21 10:21 Matthias Maier
2024-02-13 18:52 Matthias Maier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1707850325.9aff33af49dea70beaadc882f40ab39375bcf34d.tamiko@gentoo \
    --to=tamiko@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox