public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/, dev-vcs/git/files/
Date: Sat, 11 Jan 2025 06:37:33 +0000 (UTC)	[thread overview]
Message-ID: <1736577395.2f565e2703c06c2c82c0b5fb3bdbcaa0a09d2eec.sam@gentoo> (raw)

commit:     2f565e2703c06c2c82c0b5fb3bdbcaa0a09d2eec
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 11 06:35:13 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 11 06:36:35 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2f565e27

dev-vcs/git: fix USE=doc

* Fix parallel build w/ USE=doc for finding asciidoc.conf
* Hack around issues with old Makefiles not knowing about out-of-source
  build artifacts from Meson

Closes: https://bugs.gentoo.org/947827
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-vcs/git/files/git-2.48.0-doc-deps.patch | 18 ++++++++++++++++++
 dev-vcs/git/git-2.48.0.ebuild               | 21 +++++++++++++++++----
 dev-vcs/git/git-9999-r1.ebuild              | 17 +++++++++++++----
 dev-vcs/git/git-9999-r2.ebuild              | 17 +++++++++++++----
 dev-vcs/git/git-9999-r3.ebuild              | 17 +++++++++++++----
 5 files changed, 74 insertions(+), 16 deletions(-)

diff --git a/dev-vcs/git/files/git-2.48.0-doc-deps.patch b/dev-vcs/git/files/git-2.48.0-doc-deps.patch
new file mode 100644
index 000000000000..83efd62ab38d
--- /dev/null
+++ b/dev-vcs/git/files/git-2.48.0-doc-deps.patch
@@ -0,0 +1,18 @@
+--- a/Documentation/technical/meson.build
++++ b/Documentation/technical/meson.build
+@@ -42,6 +42,7 @@ api_index = custom_target(
+     '@OUTPUT@',
+   ],
+   env: script_environment,
++  depends: documentation_deps,
+   input: api_docs,
+   output: 'api-index.txt',
+ )
+@@ -60,6 +61,7 @@ foreach article : api_docs + articles
+     command: asciidoc_html_options,
+     input: article,
+     output: fs.stem(article) + '.html',
++    depends: documentation_deps,
+     install: true,
+     install_dir: get_option('datadir') / 'doc/git-doc/technical',
+   )

diff --git a/dev-vcs/git/git-2.48.0.ebuild b/dev-vcs/git/git-2.48.0.ebuild
index 8d8904831f08..9aea3ab17bb8 100644
--- a/dev-vcs/git/git-2.48.0.ebuild
+++ b/dev-vcs/git/git-2.48.0.ebuild
@@ -148,6 +148,10 @@ REQUIRED_USE="
 
 RESTRICT="!test? ( test )"
 
+PATCHES=(
+	"${FILESDIR}"/${PN}-2.48.0-doc-deps.patch
+)
+
 pkg_setup() {
 	if use subversion && has_version "dev-vcs/subversion[dso]" ; then
 		ewarn "Per Gentoo bugs #223747, #238586, when subversion is built"
@@ -193,7 +197,7 @@ src_configure() {
 	)
 
 	# For non-live, we use a downloaded docs tarball instead.
-	if [[ ${PV} == *9999 ]] ; then
+	if [[ ${PV} == *9999 ]] || use doc ; then
 		emesonargs+=(
 			-Ddocs="man$(usev doc ',html')"
 		)
@@ -248,8 +252,13 @@ src_compile() {
 		git_emake -C contrib/mw-to-git
 	fi
 
-	git_emake -C contrib/diff-highlight
+	if use doc ; then
+		# Workaround fragments that still use the Makefile and can't
+		# find the bits from Meson's out-of-source build
+		ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
+	fi
 
+	git_emake -C contrib/diff-highlight
 	git_emake -C contrib/subtree git-subtree
 	# git-subtree.1 requires the full USE=doc dependency stack
 	use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
@@ -274,11 +283,17 @@ src_install() {
 		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
 	fi
 
+	if use doc ; then
+		cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
+		rm -rf "${ED}"/usr/share/doc/git-doc/ || die
+	fi
+
 	# Depending on the tarball and manual rebuild of the documentation, the
 	# manpages may exist in either OR both of these directories.
 	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
 	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
 	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+
 	use doc && dodir /usr/share/doc/${PF}/html
 	local d
 	for d in / /howto/ /technical/ ; do
@@ -290,8 +305,6 @@ src_install() {
 		fi
 	done
 	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
 
 	newbashcomp contrib/completion/git-completion.bash ${PN}
 	bashcomp_alias git gitk

diff --git a/dev-vcs/git/git-9999-r1.ebuild b/dev-vcs/git/git-9999-r1.ebuild
index 8d8904831f08..6e9f44d049fa 100644
--- a/dev-vcs/git/git-9999-r1.ebuild
+++ b/dev-vcs/git/git-9999-r1.ebuild
@@ -193,7 +193,7 @@ src_configure() {
 	)
 
 	# For non-live, we use a downloaded docs tarball instead.
-	if [[ ${PV} == *9999 ]] ; then
+	if [[ ${PV} == *9999 ]] || use doc ; then
 		emesonargs+=(
 			-Ddocs="man$(usev doc ',html')"
 		)
@@ -248,8 +248,13 @@ src_compile() {
 		git_emake -C contrib/mw-to-git
 	fi
 
-	git_emake -C contrib/diff-highlight
+	if use doc ; then
+		# Workaround fragments that still use the Makefile and can't
+		# find the bits from Meson's out-of-source build
+		ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
+	fi
 
+	git_emake -C contrib/diff-highlight
 	git_emake -C contrib/subtree git-subtree
 	# git-subtree.1 requires the full USE=doc dependency stack
 	use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
@@ -274,11 +279,17 @@ src_install() {
 		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
 	fi
 
+	if use doc ; then
+		cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
+		rm -rf "${ED}"/usr/share/doc/git-doc/ || die
+	fi
+
 	# Depending on the tarball and manual rebuild of the documentation, the
 	# manpages may exist in either OR both of these directories.
 	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
 	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
 	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+
 	use doc && dodir /usr/share/doc/${PF}/html
 	local d
 	for d in / /howto/ /technical/ ; do
@@ -290,8 +301,6 @@ src_install() {
 		fi
 	done
 	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
 
 	newbashcomp contrib/completion/git-completion.bash ${PN}
 	bashcomp_alias git gitk

diff --git a/dev-vcs/git/git-9999-r2.ebuild b/dev-vcs/git/git-9999-r2.ebuild
index 8d8904831f08..6e9f44d049fa 100644
--- a/dev-vcs/git/git-9999-r2.ebuild
+++ b/dev-vcs/git/git-9999-r2.ebuild
@@ -193,7 +193,7 @@ src_configure() {
 	)
 
 	# For non-live, we use a downloaded docs tarball instead.
-	if [[ ${PV} == *9999 ]] ; then
+	if [[ ${PV} == *9999 ]] || use doc ; then
 		emesonargs+=(
 			-Ddocs="man$(usev doc ',html')"
 		)
@@ -248,8 +248,13 @@ src_compile() {
 		git_emake -C contrib/mw-to-git
 	fi
 
-	git_emake -C contrib/diff-highlight
+	if use doc ; then
+		# Workaround fragments that still use the Makefile and can't
+		# find the bits from Meson's out-of-source build
+		ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
+	fi
 
+	git_emake -C contrib/diff-highlight
 	git_emake -C contrib/subtree git-subtree
 	# git-subtree.1 requires the full USE=doc dependency stack
 	use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
@@ -274,11 +279,17 @@ src_install() {
 		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
 	fi
 
+	if use doc ; then
+		cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
+		rm -rf "${ED}"/usr/share/doc/git-doc/ || die
+	fi
+
 	# Depending on the tarball and manual rebuild of the documentation, the
 	# manpages may exist in either OR both of these directories.
 	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
 	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
 	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+
 	use doc && dodir /usr/share/doc/${PF}/html
 	local d
 	for d in / /howto/ /technical/ ; do
@@ -290,8 +301,6 @@ src_install() {
 		fi
 	done
 	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
 
 	newbashcomp contrib/completion/git-completion.bash ${PN}
 	bashcomp_alias git gitk

diff --git a/dev-vcs/git/git-9999-r3.ebuild b/dev-vcs/git/git-9999-r3.ebuild
index 8d8904831f08..6e9f44d049fa 100644
--- a/dev-vcs/git/git-9999-r3.ebuild
+++ b/dev-vcs/git/git-9999-r3.ebuild
@@ -193,7 +193,7 @@ src_configure() {
 	)
 
 	# For non-live, we use a downloaded docs tarball instead.
-	if [[ ${PV} == *9999 ]] ; then
+	if [[ ${PV} == *9999 ]] || use doc ; then
 		emesonargs+=(
 			-Ddocs="man$(usev doc ',html')"
 		)
@@ -248,8 +248,13 @@ src_compile() {
 		git_emake -C contrib/mw-to-git
 	fi
 
-	git_emake -C contrib/diff-highlight
+	if use doc ; then
+		# Workaround fragments that still use the Makefile and can't
+		# find the bits from Meson's out-of-source build
+		ln -s "${BUILD_DIR}"/Documentation/asciidoc.conf "${S}"/Documentation/asciidoc.conf || die
+	fi
 
+	git_emake -C contrib/diff-highlight
 	git_emake -C contrib/subtree git-subtree
 	# git-subtree.1 requires the full USE=doc dependency stack
 	use doc && git_emake -C contrib/subtree git-subtree.html git-subtree.1
@@ -274,11 +279,17 @@ src_install() {
 		dobin contrib/credential/osxkeychain/git-credential-osxkeychain
 	fi
 
+	if use doc ; then
+		cp -r "${ED}"/usr/share/doc/git-doc/. "${ED}"/usr/share/doc/${PF}/html || die
+		rm -rf "${ED}"/usr/share/doc/git-doc/ || die
+	fi
+
 	# Depending on the tarball and manual rebuild of the documentation, the
 	# manpages may exist in either OR both of these directories.
 	find man?/*.[157] >/dev/null 2>&1 && doman man?/*.[157]
 	find Documentation/*.[157] >/dev/null 2>&1 && doman Documentation/*.[157]
 	dodoc README* Documentation/{SubmittingPatches,CodingGuidelines}
+
 	use doc && dodir /usr/share/doc/${PF}/html
 	local d
 	for d in / /howto/ /technical/ ; do
@@ -290,8 +301,6 @@ src_install() {
 		fi
 	done
 	docinto /
-	# Upstream does not ship this pre-built :-(
-	use doc && doinfo Documentation/{git,gitman}.info
 
 	newbashcomp contrib/completion/git-completion.bash ${PN}
 	bashcomp_alias git gitk


             reply	other threads:[~2025-01-11  6:37 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-11  6:37 Sam James [this message]
  -- strict thread matches above, loose matches on Subject: below --
2025-06-08  1:01 [gentoo-commits] repo/gentoo:master commit in: dev-vcs/git/, dev-vcs/git/files/ Sam James
2025-04-19 20:07 Fabian Groffen
2025-03-14 18:18 Sam James
2025-01-30  0:40 Sam James
2025-01-08  3:40 Sam James
2022-11-30  7:48 Sam James
2022-09-01  3:11 Sam James
2022-08-12 15:46 Sam James
2021-11-08 18:42 Mike Gilbert
2021-08-17 10:58 Lars Wendler
2020-02-17  9:48 Lars Wendler
2019-10-26 12:55 Lars Wendler
2019-05-14  8:58 Lars Wendler
2018-09-04 15:53 Lars Wendler
2018-06-06 14:34 Lars Wendler
2017-05-24  8:49 Lars Wendler
2017-02-25 20:38 Lars Wendler
2016-06-07 12:26 Lars Wendler
2016-05-08 22:57 Mike Gilbert
2016-01-05 10:04 Lars Wendler
2015-11-19 23:26 Robin H. Johnson
2015-10-10 11:17 Justin Lecher
2015-09-29 15:16 Lars Wendler
2015-09-06 23:16 Joshua Kinard

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=1736577395.2f565e2703c06c2c82c0b5fb3bdbcaa0a09d2eec.sam@gentoo \
    --to=sam@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