Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 588132 - Please keep sys-devel/llvm-3.4.2, 3.5.2, 3.7.1 in the tree
Summary: Please keep sys-devel/llvm-3.4.2, 3.5.2, 3.7.1 in the tree
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 588094
  Show dependency tree
 
Reported: 2016-07-06 07:39 UTC by Fabian Groffen
Modified: 2018-03-29 08:18 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch adding minimal 3.4.2 ebuild (0001-sys-devel-llvm-Restore-minimal-3.4.2-for-Prefix-boot.patch,29.81 KB, patch)
2016-07-06 20:34 UTC, Michał Górny
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Groffen gentoo-dev 2016-07-06 07:39:25 UTC
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
Comment 1 Fabian Groffen gentoo-dev 2016-07-06 07:40:02 UTC
the same for https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10d0dcb1 of course
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-07-06 09:42:35 UTC
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.
Comment 3 Fabian Groffen gentoo-dev 2016-07-06 10:56:12 UTC
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?
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-07-06 12:06:57 UTC
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
Comment 5 Fabian Groffen gentoo-dev 2016-07-06 12:53:46 UTC
yes, we go from 3.4.2, via 3.5.2 to 3.7.1 at the moment.
Comment 6 Michael Weiser 2016-07-06 15:22:23 UTC
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.
Comment 7 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-07-06 19:58:52 UTC
Ok, I'll re-add it with *osx* keywords only, and a package.mask. Hopefully that'd be good enough.
Comment 8 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-07-06 20:34:05 UTC
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.
Comment 9 Fabian Groffen gentoo-dev 2016-09-07 07:21:06 UTC
It's hard to test this way, can you please push this.
Comment 10 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-11-12 11:05:20 UTC
Do you need libcxx as well? Any other LLVM-related ebuilds?
Comment 11 Fabian Groffen gentoo-dev 2016-11-12 16:08:07 UTC
Yes, we need libcxx-3.5 and up basically matching the llvm major.minor version.  Thanks.
Comment 12 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-11-12 17:18:24 UTC
(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?
Comment 13 Fabian Groffen gentoo-dev 2016-11-12 17:49:29 UTC
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.
Comment 14 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2016-11-12 20:10:22 UTC
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 ;-).
Comment 15 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-03-29 08:18:06 UTC
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 ;-).