The ebuild files should allow specifying multiple mirrors for pulling the
sources. For example, in the case of net-mail/tmda, the software maintainer
usually keeps only the latest release in foo.bar/releases/. As soon as the next
release comes out, the previous one is moved into foo.bar/old/. This means that
until the .ebuild is updated for the new release, it will contain an invalid URI
for the sources.
Given that currently SRC_URI treats a list of URIs as multiple files, that need
to be downloaded to build the package, implementing this feature would not be
too easy. As as starting point, I propose adding optional alternate URIs in
variables SRC_URI[1-9]. This will limit the number of supported backups to 9,
but I think that this is *way* more than enough.
Can't you just list *both* possible URIs in SRC_URI? The downloader should try
them both in succession.