Hi, ----- On 23 Jun, 2015, at 23:02, Ryan Schmidt [email protected] wrote:
> On Jun 23, 2015, at 3:24 AM, Clemens Lang wrote: > >> I've been in contact with the developer of libsolv about that and my >> current approach would be to represent every variant separately in the >> package universe, e.g. a port A with the variants var1, var2, var3 with a >> conflict between var2 and var3 and an additional dependency on C in var1 >> would become >> >> portA+0 (i.e. without variants) >> Provides: portA >> >> portA+var1 >> Provides: portA >> Requires: portC >> >> portA+var2 >> Provides: portA >> Conflicts portA+var3 >> >> portA+var3 >> Provides: portA >> Conflicts: portA+var2 > > What about portA+var1+var2 and portA+var1+var3? Exponential explosion of > combinations? No, the whole point of the idea is to avoid the combinatorial explosion and stay linear in the number of variants by having exactly one variant per one of these "virtual/pseudo" ports. They may have the same name, but that does not mean that they cannot be "installed" at the same time. port install portA+var1+var3 on the command line would translate into a request to install both portA+var1 and portA+var3 (in the libsolv representation), and would then be translated back into installing portA with the var1 and var3 variants after dependency calculation has finished. -- Clemens Lang _______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
