Changes) * Added sys-devel/llvm static-analyzer to package.use.force. need to make the stage1. * Remove unnecessary packages from packages.build. On FreeBSD, other required packages is complemented by default/bsd/fbsd/packages.build. On Linux, maybe default/linux/packages.build. FYI, # USE="-* python_targets_python2_7" emerge -pv sys-devel/clang sys-deve/llvm The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by sys-devel/clang-3.5.1-r100 # required by @selected # required by @world (argument) =sys-devel/llvm-3.5.1 static-analyzer
Created attachment 396244 [details, diff] sample patch for clang profile
ah, so packages.build stacks :) as for static-analyzer, why is it needed ? it is enabled by default on llvm ebuilds; maybe it is because USE=-* ? have you tried 'BOOTSTRAP_USE="${BOOTSTRAP_USE} static-analyzer"' ?
(In reply to Alexis Ballier from comment #2) > ah, so packages.build stacks :) > > > as for static-analyzer, why is it needed ? > it is enabled by default on llvm ebuilds; maybe it is because USE=-* ? have > you tried 'BOOTSTRAP_USE="${BOOTSTRAP_USE} static-analyzer"' ? Ah! I had forgotten BOOTSTRAP_USE. Thanks for your info. I'll test in a few weeks. FYI, If you want to move to profiles/features, I think still has two problems. * Drop sys-libs/libcxx{,rt} abi_x86_32 from package.use.force. Must define in another package.use.force for multilib (features/multilib/package.use.force ?). * Need to change strip-flags (flag-o-matic.eclass) to pass through -stdlib=libc++. Details please see bug 498910.
Created attachment 396346 [details, diff] tested patch for clang profile. I've tested, I was confirmed that stage1,2,3 can create. I'll attach the updated patch. Fixed bug 498910. No need change strip-flags for create stage{1,2,3}. Please add cxxflags: -stdlib=libc++ ${CFLAGS} to specfile of catalyst instead. Overwrite CXXFLAGS that is included in stages's /etc/portage/make.conf. When you do not specify anything, it's CXXFLAGS="${CFLAGS}". It should be CXXFLAGS="-stdlib=libc++ ${CFLAGS}".
I think you didn't answer why exactly it's needed :). Long story short: 1. if installing llvm[-static-analyzer] pretty much breaks your Gentoo, you want that in package.use.force, 2. if it is needed *only* for stage1, then you want BOOTSTRAP_USE.
(In reply to Michał Górny from comment #5) > I think you didn't answer why exactly it's needed :). > > Long story short: > > 1. if installing llvm[-static-analyzer] pretty much breaks your Gentoo, you > want that in package.use.force, > > 2. if it is needed *only* for stage1, then you want BOOTSTRAP_USE. I think better to use package.use.force. Because clang can not be disabled in this profile. It is necessary to not be easily disabled by the user. @aballier, What do you think ?
(In reply to Yuta SATOH from comment #6) > (In reply to Michał Górny from comment #5) > > I think you didn't answer why exactly it's needed :). > > > > Long story short: > > > > 1. if installing llvm[-static-analyzer] pretty much breaks your Gentoo, you > > want that in package.use.force, > > > > 2. if it is needed *only* for stage1, then you want BOOTSTRAP_USE. > > I think better to use package.use.force. > Because clang can not be disabled in this profile. > It is necessary to not be easily disabled by the user. > > @aballier, What do you think ? clang is already forced afaik, what i dont understand is why static-analyzer has to be installed
(In reply to Alexis Ballier from comment #7) > (In reply to Yuta SATOH from comment #6) > > (In reply to Michał Górny from comment #5) > > > I think you didn't answer why exactly it's needed :). > > > > > > Long story short: > > > > > > 1. if installing llvm[-static-analyzer] pretty much breaks your Gentoo, you > > > want that in package.use.force, > > > > > > 2. if it is needed *only* for stage1, then you want BOOTSTRAP_USE. > > > > I think better to use package.use.force. > > Because clang can not be disabled in this profile. > > It is necessary to not be easily disabled by the user. > > > > @aballier, What do you think ? > > clang is already forced afaik, what i dont understand is why static-analyzer > has to be installed >=clang-3.3-r100 requires RDEPEND="~sys-devel/llvm-${PV}[static-analyzer]". When using BOOTSTRAP_USE, when user sets USE="-static-analyzer" in make.conf, the following problems occur. This problem does not occur if use package.use.force. The following USE changes are necessary to proceed: (see "package.use" in the portage(5) man page for more details) # required by sys-devel/clang-3.5.1-r100 # required by @selected # required by @world (argument) =sys-devel/llvm-3.5.1 static-analyzer
Ah, right. So please put static-analyzer in package.use.force along with clang.
PR merged now.