On 21.03.2015 02:00 PM, Jackson Isaac wrote: >>> Do you mean like in Portfile we have: >> >> Did you mean PortIndex instead of Portfile? >> > > Yes, I meant PortIndex. Sorry for the typo.
Ok, that makes more sense. Thanks. > So we will have to calculate the dependency tree while we install. > Since there can be many variants possible and each will have different > dependencies. Yes, quite so. That's what is currently being done. > Using SAT method we will be defining minimal dependencies and these > dependencies will be further checked for their dependencies or we need > to still define all the dependencies for each package? Keep in mind that variants can also *remove* dependencies (at the moment.) In that case, the base line dependencies you just called minimal could *shrink* by activating a variant. > Eg. x depends on y. so in portfile of x say it depends on y. Now we > will check if y depends on any a,b,c further. Like this compute > different possible combinations and select the best course and also > taking the variant into account (using Boolean). As a side note: a (as far as I've seen) very good/understandable example of how SAT is being used as a package dependency resolution is given in this slide show: https://files.opensuse.org/opensuse/en/b/b9/Fosdem2008-solver.pdf Taken from here: https://en.opensuse.org/openSUSE:Libzypp_satsolver One benefit of using a SAT solver for dependency calculation is to support cyclic dependencies. With the current implementation, this is impossible. Mihai
signature.asc
Description: OpenPGP digital signature
_______________________________________________ macports-dev mailing list [email protected] https://lists.macosforge.org/mailman/listinfo/macports-dev
