I deleted the distfile and "emerge sync"ed again, but the error still persists: | >>> emerge (1 of 1) sys-devel/patch-2.5.4-r4 to / | | !!! File is corrupt or incomplete. (Digests do not match) | >>> our recorded digest: ee5ae84d115f051d87fcaaef3b4ae782 | >>> your file's digest: 0006132b74095dda649b1ea04fb68822
I fetched the file again, using a different mirror this time, and now it works. Apparently the default mirror has a broken copy. (I was just installing a brand-new system.)
Ok, if it seems to be working I'll close it as INVALID.