Requires a few patches which have already been added to upstream, we need to remember to remove them when upstream provides a new release.