Currently, multilib-build.eclass only handles ABIs defined in _MULTILIB_FLAGS in the eclass. I would like this to be customizable, so that user repositories can define their own ABIs and be able to use multilib packages with them. My use case is cross-compiling existing gentoo multilib ebuilds on custom ABIs (not supported in crossdev). As an alternative to using MULTILIB_ABIS, I could set up one profile per ABI. However, that would require symlinking the ebuilds (as crossdev does) to multiple categories. Since the ABIs I target are multiple ABI variants of the same arch, I think that using MULTILIB_ABIS with user-defined ABIs would be a cleaner design. So ideally I would define MULTILIB_ABIS in one profile, and have a way of adding that to the _MULTILIB_FLAGS array in multilib-build.eclass. Maybe with another variable in that profile?
USE flags can't be defined conditionally to profile variables, and especially not in relation with custom profiles. If you need to customize it, you need to copy the eclass and copy/link all ebuilds you need into your overlay. Then the PM will generate proper metadata separately.
Ok. While I don't mind overriding one eclass, I don't want to override many multilib ebuilds. I will go the multiple profiles/portage roots way, then.