Fabian Groffen <grob...@gentoo.org> writes:

> [[PGP Signed Part:Undecided]]
> On 12-09-2023 20:32:19 +0100, Alexey Sokolov wrote:
>> Bug: https://bugs.gentoo.org/758167
>> Full PR is at https://github.com/gentoo/gentoo/pull/32730
>> 
>> Several LLVM packages require this early return, otherwise they fail to 
>> build on Darwin. I'll also need this USE-flag for 
>> sys-devel/clang-common, to distinguish between stage2 and stage3 of 
>> bootstrap-prefix.sh to configure clang differently.
>> 
>> -- 
>> Best regards,
>> Alexey "DarthGandalf" Sokolov
>
>> From de2bd1abc3e5c7607413633d132c604c6a801802 Mon Sep 17 00:00:00 2001
>> From: Alexey Sokolov <alexey+gen...@asokolov.org>
>> Date: Mon, 11 Sep 2023 23:26:49 +0100
>> Subject: [PATCH] llvm.eclass: add global USE flag bootstrap-prefix
>> 
>> Mask it everywhere except for prefix profiles
>> 
>> Without this, stage2's LLVM packages fail to build.
>> 
>> Bug: https://bugs.gentoo.org/758167
>> Signed-off-by: Alexey Sokolov <alexey+gen...@asokolov.org>
>> ---
>>  eclass/llvm.eclass                | 7 +++++++
>>  profiles/base/use.mask            | 4 ++++
>>  profiles/features/prefix/use.mask | 4 ++++
>>  profiles/use.desc                 | 1 +
>>  4 files changed, 16 insertions(+)
>> 
>> diff --git a/eclass/llvm.eclass b/eclass/llvm.eclass
>> index 8198650aad9a7..87c2cedb3a376 100644
>> --- a/eclass/llvm.eclass
>> +++ b/eclass/llvm.eclass
>> @@ -64,6 +64,8 @@ esac
>>  if [[ ! ${_LLVM_ECLASS} ]]; then
>>  _LLVM_ECLASS=1
>>  
>> +IUSE="bootstrap-prefix"
>> +
>>  # make sure that the versions installing straight into /usr/bin
>>  # are uninstalled
>>  DEPEND="!!sys-devel/llvm:0"
>> @@ -242,6 +244,11 @@ llvm_fix_tool_path() {
>>  llvm_pkg_setup() {
>>      debug-print-function ${FUNCNAME} "${@}"
>>  
>> +    if use bootstrap-prefix; then
>> +            # AppleClang has unparseable version numbers, but it's 
>> irrelevant anyway
>> +            return
>> +    fi
>> +
>
> I might misunderstand this, but is this USE-flag supposed to be set only
> during bootstrap, e.g. when host-provided Clang is used?  If so, would
> it be possible to use has_version or something instead?

Another option is something I think we've done in the past - check
for use prefix and then some extra env var we set in the bootstrap
script.

I think I'd prefer either your idea or the one I just mention
to a USE, but I don't think I feel very strongly between any of it.

(but given mgorny isn't keen on the USE in the PR at
https://github.com/gentoo/gentoo/pull/32730,
that's a vote against it)

>
> Thanks,
> Fabian
>

Reply via email to