Found while investigating build failures ocaml/opam-repository#12674
Versions of patch prior to 2.7.6 (includes Debian 9) don't set the executable bit on new files when reading a git patch (see http://git.savannah.gnu.org/cgit/patch.git/commit/?id=592e1f9163d6261359aa87c2c99d411c0dacf6f3)
This causes new executable files to lose the +x bit when copied from the Git clone to .opam/repo/...
2.7.6. is the very latest release of GNU patch - I expect the solution to this will be to post-process and check the permissions.