From 8fc0c0d6535fed2ee17729761475df0ed46c963b Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Wed, 30 Aug 2017 16:30:03 +0200 Subject: sys-devel/clang: Remove unnecessary Sphinx patch from 5.0.0+ The Sphinx patch is no longer necessary with 5.0.0+ -- the upstream changes made it possible to get the docs building through passing a few variables to CMake. --- sys-devel/clang/clang-4.0.1.ebuild | 2 +- sys-devel/clang/clang-5.0.9999.ebuild | 12 ++-- sys-devel/clang/clang-9999.ebuild | 17 ++---- ...port-stand-alone-Sphinx-doxygen-doc-build.patch | 64 ++++++++++++++++++++++ ...port-stand-alone-Sphinx-doxygen-doc-build.patch | 64 ---------------------- 5 files changed, 77 insertions(+), 82 deletions(-) create mode 100644 sys-devel/clang/files/4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch delete mode 100644 sys-devel/clang/files/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch (limited to 'sys-devel') diff --git a/sys-devel/clang/clang-4.0.1.ebuild b/sys-devel/clang/clang-4.0.1.ebuild index e50f7ce0dc22..1acc0234ffde 100644 --- a/sys-devel/clang/clang-4.0.1.ebuild +++ b/sys-devel/clang/clang-4.0.1.ebuild @@ -93,7 +93,7 @@ src_prepare() { eapply "${FILESDIR}"/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch # fix stand-alone doc build - eapply "${FILESDIR}"/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch + eapply "${FILESDIR}"/4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch # fix value of ATOMIC_*_LOCK_FREE # (backport, temporary reverted upstream because of FreeBSD issues) diff --git a/sys-devel/clang/clang-5.0.9999.ebuild b/sys-devel/clang/clang-5.0.9999.ebuild index 3b0cc5003f00..cca162d183ae 100644 --- a/sys-devel/clang/clang-5.0.9999.ebuild +++ b/sys-devel/clang/clang-5.0.9999.ebuild @@ -105,9 +105,6 @@ src_prepare() { # fix finding compiler-rt libs eapply "${FILESDIR}"/5.0.0/0001-Driver-Use-arch-type-to-find-compiler-rt-libraries-o.patch - # fix stand-alone doc build - eapply "${FILESDIR}"/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch - # User patches eapply_user } @@ -152,11 +149,14 @@ multilib_src_configure() { if multilib_is_native_abi; then mycmakeargs+=( - -DLLVM_BUILD_DOCS=$(usex doc) - -DLLVM_ENABLE_SPHINX=$(usex doc) - -DLLVM_ENABLE_DOXYGEN=OFF + # normally copied from LLVM_INCLUDE_DOCS but the latter + # is lacking value in stand-alone builds + -DCLANG_INCLUDE_DOCS=$(usex doc) + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) ) use doc && 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 diff --git a/sys-devel/clang/clang-9999.ebuild b/sys-devel/clang/clang-9999.ebuild index 5b40e22d5a54..9b2159f8fd96 100644 --- a/sys-devel/clang/clang-9999.ebuild +++ b/sys-devel/clang/clang-9999.ebuild @@ -102,14 +102,6 @@ src_unpack() { git-r3_checkout "${EGIT_REPO_URI}" "${S}" } -src_prepare() { - # fix stand-alone doc build - eapply "${FILESDIR}"/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch - - # User patches - eapply_user -} - multilib_src_configure() { local llvm_version=$(llvm-config --version) || die local clang_version=$(get_version_component_range 1-3 "${llvm_version}") @@ -150,11 +142,14 @@ multilib_src_configure() { if multilib_is_native_abi; then mycmakeargs+=( - -DLLVM_BUILD_DOCS=$(usex doc) - -DLLVM_ENABLE_SPHINX=$(usex doc) - -DLLVM_ENABLE_DOXYGEN=OFF + # normally copied from LLVM_INCLUDE_DOCS but the latter + # is lacking value in stand-alone builds + -DCLANG_INCLUDE_DOCS=$(usex doc) + -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=$(usex doc) ) use doc && 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 diff --git a/sys-devel/clang/files/4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch b/sys-devel/clang/files/4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch new file mode 100644 index 000000000000..0ecd5bc0e8c1 --- /dev/null +++ b/sys-devel/clang/files/4.0.1/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch @@ -0,0 +1,64 @@ +From 8dd12df445c9a35f7b1c0202eb7c74b954b0980d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= +Date: Sun, 21 Aug 2016 23:31:55 +0200 +Subject: [PATCH 7/7] cmake: Support stand-alone Sphinx & doxygen doc build + +Copy the necessary options and configuration checks from LLVM to clang, +to support stand-alone documentation builds. + +Patch: https://reviews.llvm.org/D23758 +--- + CMakeLists.txt | 37 +++++++++++++++++++++++++++++++++++++ + 1 file changed, 37 insertions(+) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8ed8c10..3f34d8c 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,6 +162,43 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.") + endif() + endif() + ++ option (LLVM_BUILD_DOCS "Build the llvm documentation." OFF) ++ option (LLVM_INCLUDE_DOCS "Generate build targets for llvm documentation." ON) ++ option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OFF) ++ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) ++ ++ if (LLVM_ENABLE_DOXYGEN) ++ message(STATUS "Doxygen enabled.") ++ find_package(Doxygen REQUIRED) ++ ++ if (DOXYGEN_FOUND) ++ # If we find doxygen and we want to enable doxygen by default create a ++ # global aggregate doxygen target for generating llvm and any/all ++ # subprojects doxygen documentation. ++ if (LLVM_BUILD_DOCS) ++ add_custom_target(doxygen ALL) ++ endif() ++ ++ option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF) ++ if (LLVM_DOXYGEN_EXTERNAL_SEARCH) ++ set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.") ++ set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings") ++ endif() ++ endif() ++ else() ++ message(STATUS "Doxygen disabled.") ++ endif() ++ ++ if (LLVM_ENABLE_SPHINX) ++ message(STATUS "Sphinx enabled.") ++ find_package(Sphinx REQUIRED) ++ if (LLVM_BUILD_DOCS) ++ add_custom_target(sphinx ALL) ++ endif() ++ else() ++ message(STATUS "Sphinx disabled.") ++ endif() ++ + set( CLANG_BUILT_STANDALONE 1 ) + set(BACKEND_PACKAGE_STRING "LLVM ${LLVM_PACKAGE_VERSION}") + else() +-- +2.9.3 + diff --git a/sys-devel/clang/files/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch b/sys-devel/clang/files/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch deleted file mode 100644 index 0ecd5bc0e8c1..000000000000 --- a/sys-devel/clang/files/9999/0007-cmake-Support-stand-alone-Sphinx-doxygen-doc-build.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 8dd12df445c9a35f7b1c0202eb7c74b954b0980d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Sun, 21 Aug 2016 23:31:55 +0200 -Subject: [PATCH 7/7] cmake: Support stand-alone Sphinx & doxygen doc build - -Copy the necessary options and configuration checks from LLVM to clang, -to support stand-alone documentation builds. - -Patch: https://reviews.llvm.org/D23758 ---- - CMakeLists.txt | 37 +++++++++++++++++++++++++++++++++++++ - 1 file changed, 37 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8ed8c10..3f34d8c 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -162,6 +162,43 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.") - endif() - endif() - -+ option (LLVM_BUILD_DOCS "Build the llvm documentation." OFF) -+ option (LLVM_INCLUDE_DOCS "Generate build targets for llvm documentation." ON) -+ option (LLVM_ENABLE_DOXYGEN "Use doxygen to generate llvm API documentation." OFF) -+ option (LLVM_ENABLE_SPHINX "Use Sphinx to generate llvm documentation." OFF) -+ -+ if (LLVM_ENABLE_DOXYGEN) -+ message(STATUS "Doxygen enabled.") -+ find_package(Doxygen REQUIRED) -+ -+ if (DOXYGEN_FOUND) -+ # If we find doxygen and we want to enable doxygen by default create a -+ # global aggregate doxygen target for generating llvm and any/all -+ # subprojects doxygen documentation. -+ if (LLVM_BUILD_DOCS) -+ add_custom_target(doxygen ALL) -+ endif() -+ -+ option(LLVM_DOXYGEN_EXTERNAL_SEARCH "Enable doxygen external search." OFF) -+ if (LLVM_DOXYGEN_EXTERNAL_SEARCH) -+ set(LLVM_DOXYGEN_SEARCHENGINE_URL "" CACHE STRING "URL to use for external search.") -+ set(LLVM_DOXYGEN_SEARCH_MAPPINGS "" CACHE STRING "Doxygen Search Mappings") -+ endif() -+ endif() -+ else() -+ message(STATUS "Doxygen disabled.") -+ endif() -+ -+ if (LLVM_ENABLE_SPHINX) -+ message(STATUS "Sphinx enabled.") -+ find_package(Sphinx REQUIRED) -+ if (LLVM_BUILD_DOCS) -+ add_custom_target(sphinx ALL) -+ endif() -+ else() -+ message(STATUS "Sphinx disabled.") -+ endif() -+ - set( CLANG_BUILT_STANDALONE 1 ) - set(BACKEND_PACKAGE_STRING "LLVM ${LLVM_PACKAGE_VERSION}") - else() --- -2.9.3 - -- cgit v1.2.3-65-gdbad