Subject: | IPC-Run core inclusion problems regarding win32 -- opinion wanted |
[this has been mailed to p5p -- a follow up would be nice]
Hi,
we're noticing a few bleadperl smokes failing on win32 because IPC::Run requires some win32 modules that aren't part of core currently.
The 2 modules in question are Win32API::File and Win32::Process, both part of the libwin32 distribution on CPAN.
CPANPLUS currently needs IPC::Run to reliably do shelling out on win32 (and cygwin). On all other platoforms (at least that i know of), we can use IPC::Open3.
Therefor, to make CPANPLUS run on win32 (and cygwin), we need some good IPC support.
The options I see open are as follows (non mutualy exclusive, in no-particular order)
1) Fix IPC::Open3 for win32/cygwin (and any other os it currently doesn't support) -- we may well find we need the same tools for that as IPC::Run uses
2) Leave bundling of IPC::run (and therefor win32::process and win32api::file)
to 3rd party vendors like activestate -- we'll have to skip cpanplus (and a few other modules') tests then on win32/cygwin that involve IPC as they will undoubtedbly fail
3) add libwin32 to the core (that's 3.6 megs -- just those 2 modules, which are
standalone with their own makefile would be about 300k)
4) make IPC::Run DTRT on win32 without these 2 modules (or at least gracefully fail)
5) bundle these 2 modules with IPC::Run distribution, making it responsible for
building them.
I'm not sure what the best course of action is here, but a solution needs to be found to support win32 and cygwins IPC in this case.
I'm eager to hear your thoughts.