with the introduction of the collision avoidance feature that prevents
you from installing different variants of the same package into a
profile we made it impossible to install “python” and “python@2” into
the same profile.
It still works with ad-hoc environments, but manifests containing both
Python versions cannot be instantiated any more. This is too strict,
because we know that these two variants don’t cause conflicts.
What can we do to make this feature a little smarter?
How about a package property that defines a “conflicts?” predicate that
takes two packages of the same name and determines (e.g. by checking the
major version) if these two packages are conflicting? If no such
predicate is provided we assume that packages with the same name cause a
conflict and prevent installation.