Ok. I've got the script working. You can see the script and additions to _ApplyPatches.tp2 on GitHub:
https://github.com/A...abf30ba8a96541e
In the section of _ApplyPatches.tp2 that executes patch, I added a shell-script call (for OSX and Linux) that runs the files to be patched through the tr command line utility to change CRLF line-endings to LF.
The shell script can handle .patch files that contain patches for multiple files. It is also designed to fail gracefully if the file to be patched does not exist. I've tested it on OSX, but it should work on Linux too (it's standard bash-scripting).
PS - In the process of testing the script, I noted that BiG World Fixpack/stratagems/caster_shared.tph.patch was missing the header information to identify the file to be patched.