I have freetype installed with [-brotli]. Global ABI_X86=64, with some, mostly for wine, having ABI_X86=32 too, fontconfig / freetype are among them. brotli has only x86_64 abi. Emerged manually: emerge -tav1 freetype it just disables abi_x86_32 for freetype instead of to enable for brotli. I would rather expect error report than this. Reproducible: Always Actual Results: Autounmask '>=media-libs/freetype-2.10.4 -abi_x86_32' Expected Results: Autounmask '>=app-arch/brotli-1.0.9-r1 abi_x86_32' Workarounded by manual enabling abi_x86_32 for brotli. Also it doesn't happen if first emerged with USE=abi_x86_32 then again emerged without USE in begining. But if you try emerge both freetype and brotli, it will try to emerge freetype[abi_x86_32] and brotli-9999[-abi_x86_32], reporting conflict between old and new brotli versions.
*** Bug 787929 has been marked as a duplicate of this bug. ***
Found solution, for now for unconditional use dependencies. I utterly missed some changes in portage/emerge configuration: 1. autounmask features disappeared from FEATURES in make.conf, now they are only in emerge options. However, '--autounmask-use y' is still not enough. 2. I just discovered in emerge manual: If --binpkg-respect-use is given explicitly, then it implies --autounmask-use=n, because these options naturally oppose eachother. After I added '--binpkg-respect-use n' to emerge arguments, use autounmask started to work (at the time of discovery, it was unconditional use dependency).
Conditional use dependencies still exhibit described counterproductive behavior, example with wine-vanilla (wants -abi_x86_32 since some use dependencies for this flag are not satisfied).
Err, this time I stupidly forgot to add '--binpkg-respect-use n'. In short - it works. I assume it's fine if I just close this bug, since noone ever reacted to it. (perhaps they have no time for such nonsense).