|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.