passing variants to dependencies; pre-activate check

David Strubbe dstrubbe at macports.org
Tue Oct 13 19:04:40 PDT 2015


Hi Josh,

Thanks for the response.

On Tue, Oct 13, 2015 at 8:26 PM, Joshua Root <jmr at macports.org> wrote:

> On 2015-10-14 04:53 , David Strubbe wrote:
> > Can anyone help me with these questions?
> >
> > In short, I am wondering:
> > - Why does 'port install xcrysden +x11' pass the variant +x11 to the
> > installation of tk only if BWidget is also not installed?
>
> It passes the variant on during installation of dependencies in both
> cases, but tk happens to already be installed during the upgrading of
> BWidget which happens before dependencies are installed.
>

Ok, I think I understand. port notices that BWidget is defective in not
having its dependency tk installed (this is what you mean by "upgrading"
right?), and then fixes this by installing tk, taking into account only the
variants that BWidget was installed with (none) and not what xcryden would
have passed to tk separately.


>
> Wanting this to work how you want is exactly equivalent to depending on
> variants, which you can't currently do.


I'm aware there isn't a good solution. But there are still some things we
can do. For example, in this case, I can recommend users not to do "port
install xcrysden" which will fail with an error message, but rather "port
install xcrysden +x11" which will generally succeed, unless tk is already
installed +quartz (or BWidget is installed already).



> - Why is pre-activate code executed twice?
>
> It isn't, two pre-activate procedures have been registered and they are
> each executed once.
>

Well, I only put one block of code in active variants, as below. Why does
it end up in two different pre-activate procedures?

active_variants-1.1.tcl:
>
> +pre-activate {
> +    ui_warn "checking active variants"
> +    _check_require_active_variants archivefetch
> +}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-dev/attachments/20151013/aa722559/attachment.html>


More information about the macports-dev mailing list