After https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d77c5d12 3.4.2 is gone, but we need that version to bootstrap Gentoo Prefix systems on OSX. We need this version due to its (reduced) deps and what it requires from the system. Prefix team is happy to maintain 3.4.2 if need be, please revert above commit, or allow us to do so. Thanks
the same for https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10d0dcb1 of course
What specific parts of llvm do you need? Clang? I would really prefer if we worked together to get the modern versions to work for you rather than keeping this old version. However, if you really insist feel free to restore it with appropriate p.mask. Please warn that it's unsupported and has known vulnerabilities. It would probably be good to strip static analyzer if you don't need that since that's the vulnerable component.
Impossible IIRC. You need to bootstrap yourself out of a setup which has just gcc-apple-4.0.1 (or 4.2.1), no libcxx, etc. Don't need the analyser indeed, just the compiler component. @michael do you have an opinion/details on this off the top of your head?
Additional question: will there be a need for keeping 3.5 or a newer version around as well? I have a long-term plan of pruning everything lower than 3.7 (the new stable). While at it, could you also update binutils-apple entry in the compatibility table? [1] I don't know if gcc-apple shouldn't have a dependency on LLVM as well -- that would certainly prevented me from assuming it's not used by anything left. [1]:https://wiki.gentoo.org/wiki/LLVM_compatibility
yes, we go from 3.4.2, via 3.5.2 to 3.7.1 at the moment.
I concur with Fabian. I'm not sure about the need for an intermediate step via version 3.5.1 though. I don't see it in bootstrap-prefix.sh. With libcxx installed clang++ 3.4.2 should be C++11 compliant and therefore able to compile any 3.5+ directly. I do think to have done so already for at least 3.6.
Ok, I'll re-add it with *osx* keywords only, and a package.mask. Hopefully that'd be good enough.
Created attachment 439922 [details, diff] Patch adding minimal 3.4.2 ebuild Could you test this patch, please? I've stripped the ebuild out of all the fancy sugar and made it almost sane. It installs LLVM+clang, with no fancy extra tools and no static analyzer. I've also stripped multilib and multitarget support since I guess you don't need either for bootstrap.
It's hard to test this way, can you please push this.
Do you need libcxx as well? Any other LLVM-related ebuilds?
Yes, we need libcxx-3.5 and up basically matching the llvm major.minor version. Thanks.
(In reply to Fabian Groffen from comment #11) > Yes, we need libcxx-3.5 and up basically matching the llvm major.minor > version. Thanks. 3.4 as well? I see that we currently have only 3.7+. Do you have some local copies of the old versions or should I try to restore them?
ah, yes sorry. https://gitweb.gentoo.org/repo/proj/prefix.git/tree/sys-libs/libcxx We use different versions which pull in also headers and more. llvm-3.4.2 is the last version to compile without such dependencies, which is one of the reasons why we need it in the tree. I believe there is a bug on this out there, but our versions are vastly different due to different use-case.
Hmm, quite different indeed. I'm wondering if the new ebuilds using CMake could require less additional code. I guess I'll wait till you have 3.9.0 to see ;-).
As long as I'm maintaining LLVM, old versions will be kept with Prefix keywords. If that ever changes and the new maintainer doesn't figure out what's happening, feel free to reopen ;-).