gdm needs to depend on gnome-shell; without gnome-shell installed it fails at runtime, displaying an useless full screen error message and complaining about missing component somewhere in /var/log/gdm/.
gdm and gnome-shell depend on each other, but we can't have dependency loop in FreeBSD ports.