For simple patches on my end, I'd port them forwards. For complex patches, I might hard-fork development and find like-minded people to send patches to me instead of the original upstream. Or if the codebase or changes are too complex to work effectively with, I'd abandon the project and treat it as radioactive and failing to satisfy my requirements (or even be correct).