ugexe / zef

Raku Module Management
Artistic License 2.0
207 stars 44 forks source link

Pass modified meta to dist builder via tmp file instead of stdin #522

Closed ugexe closed 1 year ago

ugexe commented 1 year ago

Previously when invoking a Distribution::Builder:: we would pass in the (potentially) modified/resolved meta data via stdin. This was intended to avoid escaping issues with passing it on the command line. However, closing $*IN on macOS causes shell/run to fail unless such calls explicitly declare :!in. Since these builders are plugins (and thus we have no control over if/how run/shell get used), we should find a way to pass in that meta data without having to close stdin.

This modifies the Distribution::Builder plugin to pass the meta data in via temp file, which avoids having to slurp (and thus close) $*IN/stdin.

Fixes https://github.com/krunen/term-termios/issues/20