Composer typically ensures compatibility between operating systems - what the plugin vendor needs to do is to provide a PHP-based bin script, not bash or anything else.
Currently, the bin script (as referenced from composer.json) is wrong - composer doesn't consider it as PHP and ends up generating the wrong type of proxy script.
The fix, in short:
cmd/s2c should be removed
cmd/s2c.php should be renamed to cmd/s2c and optionally made executable with chmod +x
Here's an example of how phpunit does it: the script, the composer reference
Composer typically ensures compatibility between operating systems - what the plugin vendor needs to do is to provide a PHP-based bin script, not bash or anything else.
Currently, the bin script (as referenced from composer.json) is wrong - composer doesn't consider it as PHP and ends up generating the wrong type of proxy script.
The fix, in short:
cmd/s2cshould be removedcmd/s2c.phpshould be renamed tocmd/s2cand optionally made executable withchmod +xHere's an example of how phpunit does it: the script, the composer reference