Summary: | =sys-devel/llvm-3.7.0[-doc,ocaml] fails during install phase due to missing directory docs/ocamldoc/html | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Olivier Huber <oli.huber> |
Component: | Current packages | Assignee: | Bernard Cafarelli <voyageur> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | mgorny |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: | tentative patch |
Description
Olivier Huber
2015-10-02 02:16:08 UTC
Hmm, if I understand the code correctly, there's 'ocaml_doc' target we're supposed to use to create the needed docs, correct? (In reply to Michał Górny from comment #1) > Hmm, if I understand the code correctly, there's 'ocaml_doc' target we're > supposed to use to create the needed docs, correct? Yes, and I think it works, if we want to build the documentation. Also in this bug report https://bugs.gentoo.org/show_bug.cgi?id=559940 they successfully build llvm[ocaml,doc] after deleting the previous ocaml files. But I'm not interested in building the documentation. The issue with this cmake code is that it is expected that the documentation is always build if the ocaml bindings are being built. The install statement in docs/CMakeLists.txt install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/ocamldoc/html DESTINATION docs/ocaml/html) that caused the error cannot be disabled by a switch. But this directory does not exists if the ocaml documentation has not being created. I guess the ocaml_doc target is run by this part in the ebuild. # TODO: not sure why this target is not correctly called multilib_is_native_abi && use doc && use ocaml && cmake-utils_src_make docs/ocaml_doc With this patch, I'm just trying to replicate the logic used for the sphinx and doxygen documentation, that is has a boolean to control the documentation generation. Since I added the correct indenting, it looks like a lot changed, but I added only 1 line at the top and on at the end. Since it takes almost forever to build llvm, I'd rather have a go from a gentoo dev before trying a fix that would not be considered. I agree it's not great to tackle two unrelated issue at a time, but this package is a beast. Thanks for the report and the work here! The final decision is probably for upstream, but in the meantime, I'm inclined to use existing LLVM_BUILD_DOCS: LLVM_BUILD_DOCS:BOOL Enables all enabled documentation targets (i.e. Doxgyen and Sphinx targets) to be built as part of the normal build. If the install target is run then this also enables all built documentation targets to be installed. I'll try a build with modified test: if( NOT uses_ocaml LESS 0 AND LLVM_BUILD_DOCS) Tested and committed in 3.7.0-r2 (still masked for #559624 testing), don't hesitate to reopen if you still have problems! |