commit: 4ed38fe356eb6729a4fec7578c2c775af91755bc Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Mon Oct 26 12:20:02 2020 +0000 Commit: Michał Górny <mgorny <AT> gentoo <DOT> org> CommitDate: Mon Oct 26 16:48:41 2020 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4ed38fe3
sys-devel/clang: Reuse eclass manpage build logic for 10.0.1+ Signed-off-by: Michał Górny <mgorny <AT> gentoo.org> sys-devel/clang/clang-10.0.1.ebuild | 39 ++++++++++++++++++++----------- sys-devel/clang/clang-11.0.0.9999.ebuild | 39 ++++++++++++++++++++----------- sys-devel/clang/clang-11.0.0.ebuild | 39 ++++++++++++++++++++----------- sys-devel/clang/clang-12.0.0.9999.ebuild | 40 ++++++++++++++++++++------------ 4 files changed, 103 insertions(+), 54 deletions(-) diff --git a/sys-devel/clang/clang-10.0.1.ebuild b/sys-devel/clang/clang-10.0.1.ebuild index d3aad2e7443..547b3a5ef49 100644 --- a/sys-devel/clang/clang-10.0.1.ebuild +++ b/sys-devel/clang/clang-10.0.1.ebuild @@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \ DESCRIPTION="C language family frontend for LLVM" HOMEPAGE="https://llvm.org/" LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_MANPAGES=build LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} @@ -43,7 +44,7 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - dev-python/sphinx + doc? ( dev-python/sphinx ) xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -116,7 +117,7 @@ check_distribution_components() { ;; # conditional to USE=doc docs-clang-html|docs-clang-tools-html) - continue + use doc || continue ;; esac @@ -196,11 +197,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace - - # manpages - docs-clang-man - docs-clang-tools-man ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi use doc && out+=( docs-clang-html @@ -259,16 +264,23 @@ multilib_src_configure() { ) if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( # normally copied from LLVM_INCLUDE_DOCS but the latter # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=ON - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} ) else mycmakeargs+=( @@ -389,6 +401,7 @@ multilib_src_install_all() { fi docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages # match 'html' non-compression use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" # +x for some reason; TODO: investigate diff --git a/sys-devel/clang/clang-11.0.0.9999.ebuild b/sys-devel/clang/clang-11.0.0.9999.ebuild index 9a815d36163..a66c3ab9739 100644 --- a/sys-devel/clang/clang-11.0.0.9999.ebuild +++ b/sys-devel/clang/clang-11.0.0.9999.ebuild @@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \ DESCRIPTION="C language family frontend for LLVM" HOMEPAGE="https://llvm.org/" LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_MANPAGES=build LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} @@ -44,8 +45,8 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - dev-python/sphinx >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -112,7 +113,7 @@ check_distribution_components() { ;; # conditional to USE=doc docs-clang-html|docs-clang-tools-html) - continue + use doc || continue ;; esac @@ -191,11 +192,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace - - # manpages - docs-clang-man - docs-clang-tools-man ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi use doc && out+=( docs-clang-html @@ -256,16 +261,23 @@ multilib_src_configure() { ) if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( # normally copied from LLVM_INCLUDE_DOCS but the latter # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=ON - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} ) else mycmakeargs+=( @@ -386,6 +398,7 @@ multilib_src_install_all() { fi docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages # match 'html' non-compression use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" # +x for some reason; TODO: investigate diff --git a/sys-devel/clang/clang-11.0.0.ebuild b/sys-devel/clang/clang-11.0.0.ebuild index ed86435d86e..facfef0b9a2 100644 --- a/sys-devel/clang/clang-11.0.0.ebuild +++ b/sys-devel/clang/clang-11.0.0.ebuild @@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \ DESCRIPTION="C language family frontend for LLVM" HOMEPAGE="https://llvm.org/" LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_MANPAGES=build LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} @@ -44,8 +45,8 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - dev-python/sphinx >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -112,7 +113,7 @@ check_distribution_components() { ;; # conditional to USE=doc docs-clang-html|docs-clang-tools-html) - continue + use doc || continue ;; esac @@ -191,11 +192,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace - - # manpages - docs-clang-man - docs-clang-tools-man ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi use doc && out+=( docs-clang-html @@ -256,16 +261,23 @@ multilib_src_configure() { ) if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi + mycmakeargs+=( # normally copied from LLVM_INCLUDE_DOCS but the latter # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=ON - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} ) else mycmakeargs+=( @@ -386,6 +398,7 @@ multilib_src_install_all() { fi docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages # match 'html' non-compression use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" # +x for some reason; TODO: investigate diff --git a/sys-devel/clang/clang-12.0.0.9999.ebuild b/sys-devel/clang/clang-12.0.0.9999.ebuild index 5d413abcc3e..c2935609f3f 100644 --- a/sys-devel/clang/clang-12.0.0.9999.ebuild +++ b/sys-devel/clang/clang-12.0.0.9999.ebuild @@ -10,6 +10,7 @@ inherit cmake llvm llvm.org multilib-minimal pax-utils \ DESCRIPTION="C language family frontend for LLVM" HOMEPAGE="https://llvm.org/" LLVM_COMPONENTS=( clang clang-tools-extra ) +LLVM_MANPAGES=build LLVM_TEST_COMPONENTS=( llvm/lib/Testing/Support llvm/utils/{lit,llvm-lit,unittest} @@ -44,8 +45,8 @@ RDEPEND=" ${PYTHON_DEPS}" DEPEND="${RDEPEND}" BDEPEND=" - dev-python/sphinx >=dev-util/cmake-3.16 + doc? ( dev-python/sphinx ) xml? ( virtual/pkgconfig ) ${PYTHON_DEPS}" RDEPEND="${RDEPEND} @@ -110,7 +111,7 @@ check_distribution_components() { ;; # conditional to USE=doc docs-clang-html|docs-clang-tools-html) - continue + use doc || continue ;; esac @@ -189,11 +190,15 @@ get_distribution_components() { find-all-symbols modularize pp-trace - - # manpages - docs-clang-man - docs-clang-tools-man ) + + if llvm_are_manpages_built; then + out+=( + # manpages + docs-clang-man + docs-clang-tools-man + ) + fi use doc && out+=( docs-clang-html @@ -254,17 +259,21 @@ multilib_src_configure() { ) if multilib_is_native_abi; then + local build_docs=OFF + if llvm_are_manpages_built; then + build_docs=ON + mycmakeargs+=( + -DLLVM_BUILD_DOCS=ON + -DLLVM_ENABLE_SPHINX=ON + -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" + -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" + -DSPHINX_WARNINGS_AS_ERRORS=OFF + ) + fi mycmakeargs+=( -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra - # normally copied from LLVM_INCLUDE_DOCS but the latter - # is lacking value in stand-alone builds - -DCLANG_INCLUDE_DOCS=ON - -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=ON - -DLLVM_BUILD_DOCS=ON - -DLLVM_ENABLE_SPHINX=ON - -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html" - -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra" - -DSPHINX_WARNINGS_AS_ERRORS=OFF + -DCLANG_INCLUDE_DOCS=${build_docs} + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs} ) else mycmakeargs+=( @@ -385,6 +394,7 @@ multilib_src_install_all() { fi docompress "/usr/lib/llvm/${SLOT}/share/man" + llvm_install_manpages # match 'html' non-compression use doc && docompress -x "/usr/share/doc/${PF}/tools-extra" # +x for some reason; TODO: investigate
