Since LLVM 7 is stable now, and 8 is going to become stable soonish, I'd like to clean 5 up. However, root seems not to support any newer version. Could this be solved by version bump or some patches maybe?
Unfortunately, no. This is being tracked upstream here: https://sft.its.cern.ch/jira/browse/ROOT-8605
Sorry, updated the bug too soon. In short, even if ROOT can now use external vanilla LLVM, it needs a special version of Clang that is API incompatible with vanilla Clang, and has ~80 patches not really easy to upstream. Since that bundled Clang is 5.0.x, it needs LLVM 5 too. The upcoming release of ROOT, 6.18, will still depend on this same version of LLVM/Clang. Only the next release will probably have an LLVM update and move to LLVM 8 or 9. The next release is expected to be around November 2019. If maintaining LLVM 5 is too much of a burden, I can keep it while ROOT needs it, or can go back to using the bundled LLVM. I understand this is not a very good solution, but until this is resolved upstream we will need LLVM 5 one way or another.
I'm confused. The bug suggests that vanilla 5 doesn't work either.
Vanilla LLVM works, but Clang still needs ~80 patches to make the interpreter work (and it still cannot be unbundled for that reason). ROOT 6.14 and below use bundled LLVM and Clang (unbundled was not supported or did not really work). ROOT 6.16 and live ebuild use unbundled vanilla LLVM, but bundled Clang. ROOT 6.18 will still need one of these solutions. In a future release, LLVM/Clang will be updated in ROOT, but Clang will still need most of the current patches. I don't see what we could do better in Gentoo. The patched clang may break other packages, so I'm not sure unbundling (either via a root-clang package or with a USE=root in sys-devel/clang) would make things better.
Oh, sorry, I've gotten to your second comment now.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=175836287f5f0b91f09445dcdcd2f0b340cc7699 commit 175836287f5f0b91f09445dcdcd2f0b340cc7699 Author: Guilherme Amadio <amadio@gentoo.org> AuthorDate: 2019-09-06 11:56:33 +0000 Commit: Guilherme Amadio <amadio@gentoo.org> CommitDate: 2019-09-09 06:10:27 +0000 sci-physics/root: switch back to builtin LLVM Using external LLVM never really worked and can cause crashes if ROOT is used with anything else that dynamically links against LLVM, such as media-libs/mesa[llvm]. The bundled version of clang is also API incompatible with vanilla clang and doesn't work as a compiler with the applied patches that are required to make the cling C/C++ interpreter work. More information can be found in the links below: Bug: https://bugs.gentoo.org/564302 Bug: https://bugs.gentoo.org/687212 Bug: https://sft.its.cern.ch/jira/browse/ROOT-9965 Bug: https://sft.its.cern.ch/jira/browse/ROOT-10287 Bug: https://cern.service-now.com/service-portal/view-incident.do?n=INC1242141 (requires authentication) Bug: https://bugs.freedesktop.org/show_bug.cgi?id=93103 Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1441957 (restricted) Package-Manager: Portage-2.3.71, Repoman-2.3.17 Signed-off-by: Guilherme Amadio <amadio@gentoo.org> .../root/{root-6.16.00-r3.ebuild => root-6.16.00-r4.ebuild} | 8 ++------ .../root/{root-6.18.00-r2.ebuild => root-6.18.00-r3.ebuild} | 8 ++------ sci-physics/root/root-9999.ebuild | 8 ++------ 3 files changed, 6 insertions(+), 18 deletions(-)
This bug is now obsolete, as sys-devel/llvm:5 is no longer in the tree after reverting sci-physics/root back to using the bundled LLVM (tracked in bug 564302).