zimoun <zimon.touto...@gmail.com> skribis: > On Fri, 30 Oct 2020 at 17:20, Ludovic Courtès <l...@gnu.org> wrote: > >> Currently, ‘guix install’ errors out if you try to install two >> same-named packages with a different version number or a different store >> file name (typically via propagated inputs). >> >> Here, ‘emacs’ and ‘emacs-xwidgets’ have different names, so it doesn’t >> complain. >> >> Perhaps we should offer a way to annotate packages as conflicting with >> one another? > > Why? The solution seems to check the path names. Here, the 2 > packages provide 'bin/emacs'; which is the conflict. However, this > could be implemented with care otherwise it will slow down. > I have not check 'union-build' but maybe it is already the case. :-)
Yes, ‘union-build’ already makes that check, but it happens too late: at build time. This is why back in the day we devised a specific collision detection mechanism that looks at package names/version/store file names, and which can run before anything has been built: https://issues.guix.gnu.org/27271 Ludo’.