commit: 3bce8799e4791f9d2fcb94e5c1ae287632ad7286 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Thu May 18 17:05:38 2023 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Thu May 18 18:54:15 2023 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3bce8799
llvm.org.eclass: Do not require separate manpage dist for every PV Do not require a separate manpage dist for every minor release. Instead, use the 16.0.4 tarball for 16.x releases going forward. This makes sense since manpages rarely change -- at least for all the 16.x releases, all that's been changing were the build date and the version number in extraclangtools manpage. Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> eclass/llvm.org.eclass | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass index 8b1c074ac97d..c67651be6ffd 100644 --- a/eclass/llvm.org.eclass +++ b/eclass/llvm.org.eclass @@ -59,12 +59,6 @@ LLVM_VERSION=$(ver_cut 1-3) # the correct branch to use. _LLVM_MASTER_MAJOR=17 -# @ECLASS_VARIABLE: _LLVM_NEWEST_MANPAGE_RELEASE -# @INTERNAL -# @DESCRIPTION: -# The newest release of LLVM for which manpages were generated. -_LLVM_NEWEST_MANPAGE_RELEASE=16.0.4 - # @ECLASS_VARIABLE: _LLVM_SOURCE_TYPE # @INTERNAL # @DESCRIPTION: @@ -271,17 +265,16 @@ llvm.org_set_globals() { fi if [[ ${LLVM_MANPAGES} ]]; then - # use pregenerated tarball for releases - # up to _LLVM_NEWEST_MANPAGE_RELEASE - if llvm_manpage_dist_available; then - IUSE+=" doc" + IUSE+=" doc" + # use pregenerated tarball if available + local manpage_dist=$(llvm_manpage_get_dist) + if [[ -n ${manpage_dist} ]]; then SRC_URI+=" !doc? ( - https://dev.gentoo.org/~mgorny/dist/llvm/llvm-${PV}-manpages.tar.bz2 + https://dev.gentoo.org/~mgorny/dist/llvm/${manpage_dist} ) " else - IUSE+=" doc" # NB: this is not always the correct dep but it does no harm BDEPEND+=" dev-python/sphinx" fi @@ -439,13 +432,21 @@ get_lit_flags() { echo "-vv;-j;${LIT_JOBS:-$(makeopts_jobs)}" } -# @FUNCTION: llvm_manpage_dist_available +# @FUNCTION: llvm_manpage_get_dist # @DESCRIPTION: -# Return true (0) if this LLVM version features prebuilt manpage -# tarball, false (1) otherwise. -llvm_manpage_dist_available() { - [[ ${_LLVM_SOURCE_TYPE} == tar && ${PV} != *_rc* ]] && - ver_test "${PV}" -le "${_LLVM_NEWEST_MANPAGE_RELEASE}" +# Output the filename of the manpage dist for this version, +# if available. Otherwise returns without output. +llvm_manpage_get_dist() { + if [[ ${_LLVM_SOURCE_TYPE} == tar && ${PV} != *_rc* ]]; then + case ${PV} in + 14*|15*|16.0.[0-3]) + echo "llvm-${PV}-manpages.tar.bz2" + ;; + 16*) + echo "llvm-16.0.4-manpages.tar.bz2" + ;; + esac + fi } # @FUNCTION: llvm_are_manpages_built @@ -464,7 +465,7 @@ llvm_install_manpages() { if ! llvm_are_manpages_built; then # (doman does not support custom paths) insinto "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1" - doins "${WORKDIR}/llvm-${PV}-manpages/${LLVM_COMPONENTS[0]}"/*.1 + doins "${WORKDIR}"/llvm-*-manpages/"${LLVM_COMPONENTS[0]}"/*.1 fi }