We probably don't want to wind up turning the location: block into a full git porcelain, but it would be very handy to at least have Stack to a git submodule update --init after checking out a particular revision, otherwise packages that have submodules won't build. I often run into this with FFI wrappers around a C library that don't have particularly sophisticated uses of submodules, so we might not need much configurability.
Maybe something like:
- location:
git: https://github.com/acfoltzer/hs-ed25519-donna.git
commit: 7e99a67cae6e3946873ca071536ff0ad3cb23948
init-submodules: true
extra-dep: true
If there's an equivalent for Mercurial, it would also be nice to support that while we're at it, I just am not familiar with it.