Curious enough, Portage seems to apply soft blockers when using --onlydeps. Let's consider the following scenario: 1. I have sys-devel/llvm:0 installed, 2. sys-devel/llvm:4 has pure RDEPEND soft blocker !sys-devel/llvm:0, 3. I do 'emerge -1v --onlydeps sys-devel/llvm:4'. I would expect Portage to install the dependencies I need for LLVM there. However, it goes even further and removes sys-devel/llvm:0. I should point out that soft blockers can be uninstalled after the package is installed, and are usually used to solve file collisions. That considered, there is no reason to uninstall the blocked package when the replacement is not even being installed.