Am Samstag, dem 12.03.2022 um 10:45 +0100 schrieb Maxime Devos: > Hi guix, > > Try > > $ guix shell --pure bash pango@1.42 pango@1.48 > $ ~/.guix-profile/bin/ls -l $GUIX_ENVIRONMENT/lib/libpango*.so > > Result: > [...]/lib/libpango-1.0.so -> [...]-pango-1.42.4/lib/libpango-1.0.so > [...]/lib/libpangocairo-1.0.so -> [...]-pango- > 1.42.4/lib/libpangocairo-1.0.so > [...]/lib/libpangoft2-1.0.so -> [...]-1.42.4/lib/libpangoft2-1.0.so > [...]/lib/libpangoxft-1.0.so -> [...]-pango-1.42.4/lib/libpangoxft- > 1.0.so > > Question: how does this even work? Aren't error messages about > profile collisions a thing? They ought to be, but perhaps these are only checked for propagated packages, not for explicitly specified ones. Would still be weird, if you e.g. put pango@1.48 and something propagating pango@1.42 together, it ought to error. Perhaps an oversight?
> Another question: if this use case was supported, shouldn't it point > to the newer pango instead of the older pango? union-build implicitly takes the first file it finds -- this is actually sane, but sadly undocumented behaviour. In other words, if you specify pango@1.48 first, it should be the one being picked. Cheers