@selea installing right now, it's taking ages (it's apparently building stuff on the fly... Gentoo is that you?)
Dependencies are managed similarly to debian for instance: dependencies are separate packages and dependants can refer to the same package. Each package is installed in a directory in /gnu/store and packages reference these directories directly. This allows you to install software that refer to the same glibc directory (package), or to a different version/flavor of it, with no ambiguity or incompatibility.
Guix also tries really hard to unbundle dependencies when that's possible, so packages refer to system packages instead of internal copies. It also tries to bootstrap every package from source, which is demonstrated by the bootstrap of icedtea: there is no binary version of a java compiler needed to get to a recent openjdk, which I think only Guix has done. Same with rust for instance.