Skip to content

Commit

Permalink
toolchain.eclass: allow re-generation of info pages for snapshots
Browse files Browse the repository at this point in the history
Snapshots don't (yet?) contain pre-generated info pages (and man
pages, but that's turned out not to be an issue, as they get
regenerated and nobody notices).

Given it's often easier and more sensible to keyword a snapshot
from one of the stable branches upstream rather than cherry-picking
patches, we need to make sure we don't regress with the documentation
provided when we do that.

Allow re-generation of info pages using texinfo for snapshots;
we have a safeguard (eqawarn) for if they start appearing in
snapshots and nobody noticed.

Closes: https://bugs.gentoo.org/834845
Signed-off-by: Sam James <[email protected]>
  • Loading branch information
thesamesam committed Sep 10, 2022
1 parent bf7e95b commit b8f5b4e
Showing 1 changed file with 23 additions and 3 deletions.
26 changes: 23 additions & 3 deletions eclass/toolchain.eclass
Original file line number Diff line number Diff line change
Expand Up @@ -288,6 +288,13 @@ BDEPEND="
)"
DEPEND="${RDEPEND}"

if [[ ${PN} == gcc && ${PV} == *_p* ]] ; then
# Snapshots don't contain info pages.
# If they start to, adjust gcc_cv_prog_makeinfo_modern logic in toolchain_src_configure.
# Needed unless/until https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 is fixed
BDEPEND+=" sys-apps/texinfo"
fi

if tc_has_feature gcj ; then
DEPEND+="
gcj? (
Expand Down Expand Up @@ -1417,9 +1424,22 @@ toolchain_src_configure() {
)
fi

# Disable gcc info regeneration -- it ships with generated info pages
# already. Our custom version/urls/etc... trigger it. bug #464008
export gcc_cv_prog_makeinfo_modern=no
if [[ ${PV} != *_p* && -f "${S}"/gcc/doc/gcc.info ]] ; then
# Disable gcc info regeneration -- it ships with generated info pages
# already. Our custom version/urls/etc... trigger it. bug #464008
export gcc_cv_prog_makeinfo_modern=no
else
# Allow a fallback so we don't accidentally install no docs
# bug #834845
ewarn "No pre-generated info pages in tarball. Allowing regeneration with texinfo..."

if [[ ${PV} == *_p* && -f "${S}"/gcc/doc/gcc.info ]] ; then
# Safeguard against https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106899 being fixed
# without corresponding ebuild changes.
eqawarn "Snapshot release with pre-generated info pages found!"
eqawarn "The BDEPEND in the ebuild should be updated to drop texinfo."
fi
fi

# Do not let the X detection get in our way. We know things can be found
# via system paths, so no need to hardcode things that'll break multilib.
Expand Down

0 comments on commit b8f5b4e

Please sign in to comment.