Package dependency solver