I have a ruby script which require a few gems to be installed in order to run.
For this reason I am using
bundlerEnv to prepare the ruby environment and then call
install, so that my script calls the wrapped ruby interpreter which sets up the necessary gem related environment variables.
The problem is that my script’s shebang (
#!) now points to another script, which is not supported on macOS, and it appears only Linux supports nested
My solution has been to call the wrapped ruby via
/usr/bin/env, so after
patchShebangs I run the following in my nix expression’s
sed -e "1 s/^#!/#!\/usr\/bin\/env /" -i -- $out/bin/«script_name»
This is a kludge and I would like to know if there is a better solution?
If there is no other solution to my problem, I would propose updating the
patchShebangs shell function to check if the new interpreter is itself a script, and in that case, prefix it with
Would a patch for this change be welcomed?