On Jul 2, 2021, at 05:51, René J.V. Bertin wrote:

> On Friday July 02 2021 04:31:50 Ryan Schmidt wrote:
> 
>> If I create a dummy portfile that includes the python portgroup then then 
>> immediately tries to print destroot.pre_args, it shows why it failed:
> 
> Yes, I followed that much.
> 
>> The real question is why do you need to access destroot.pre_args right after 
>> including the python portgroup and before setting name?
> 
> No, the real question is in reading the one I asked a little bit less 
> literally:

Well I can't guess what your real question was; I can only answer the ones you 
ask.


>>> Why would `name` have to be defined in order to be able to evaluate 
>>> destroot.pre_args ?
> 
> i.e. why would you do anything in a Portgroup that introduces this 
> side-effect. For instance, can't whatever it does be done in a pre-destroot 
> block, or via a callback (using a function that ? 

I am not certain whether changing that would introduce new unwanted side 
effects. The python portgroup is included in a *lot* of portfiles, so it might 
be difficult to verify that a change doesn't break one of them.


> To answer your question: this came up because of a `destroot.pre_args-prepend 
> -v` statement I added to another Portgroup (local copy of the meson PG I've 
> been trying to improve). It seems perfectly reasonable to ensure (via its 
> dedicated PG) that a build system uses verbose mode in a build phase.

By the same argument as in the preceding paragraph, you could do your 
`destroot.pre_args-prepend -v` modification in a pre-destroot block.


> I've worked around the issue by doing the prepend only when the Python PG 
> hasn't been included (I could have added "and `name` isn't set yet) but it'd 
> be really nice if PGs tried their best to interfere least with others...

They do. Sometimes situations, like the one you encountered, aren't anticipated.

Reply via email to