The latest regex-tdfa is compatible with with the packages you have installed, but cabal-install evidently wants to update all of regex-tdfa's dependencies which thus breaks things. Presumably cabal-install has an option not to transitively update dependencies? As I don't use cabal-install I don't know it myself.