Subject: | Win32 support lacking |
I see the earlier bug about tests in Win32 which is indeed true, but many tools fail in Win32 as well. Attached are patches to fix many of the issues.
Subject: | faqpods.patch |
--- faqpods.orig 2017-01-16 20:32:45.241256600 -0500
+++ faqpods 2017-01-16 20:33:43.583593600 -0500
@@ -7,10 +7,11 @@
# ------ pragmas
use strict;
use warnings;
+use FindBin qw($Bin);
our $VERSION = '2.0.0';
-open(PROG, "$^X -S basepods |") || die "can't fork: $!";
+open(PROG, "$^X -S $Bin/basepods |") || die "can't fork: $!";
while (<PROG>) {
print if /perlfaq/;
}
Subject: | modpods.patch |
--- modpods.orig 2017-01-16 20:37:30.176554000 -0500
+++ modpods 2017-01-16 20:36:02.626546400 -0500
@@ -7,10 +7,11 @@
# ------ pragmas
use strict;
use warnings;
+use FindBin qw($Bin);
our $VERSION = '2.0.0';
-system $^X, "-S", "pminst", "-l";
+system $^X, "-S", "$Bin/pminst", "-l";
__END__
Subject: | pmdesc.patch |
--- pmdesc.orig 2017-01-16 20:52:34.242263600 -0500
+++ pmdesc 2017-01-16 20:55:49.073407300 -0500
@@ -19,15 +19,15 @@
BEGIN { $^W = 1 }
GetOptions ("splitpod" => \$use_pod);
-print "use_pod = $use_pod\n";
+print "use_pod = $use_pod\n" if $use_pod;
$errors = 0;
MODULE: for $module (@ARGV) {
if ($use_pod) {
- $fullpath = `$Bin/podpath $module`;
+ $fullpath = `$^X $Bin/podpath $module`;
} else {
- $fullpath = `$Bin/pmpath $module`;
+ $fullpath = `$^X $Bin/pmpath $module`;
}
if ($?) {
$errors++;
@@ -64,7 +64,12 @@
sub getversion {
my $module = shift;
- my $vers = `$^X -S $Bin/pmvers $module 2>/dev/null`;
+ my $vers;
+ if ( $^O eq "MSWin32" ) {
+ $vers = `$^X -S $Bin/pmvers $module 2>NUL`;
+ } else {
+ $vers = `$^X -S $Bin/pmvers $module 2>/dev/null`;
+ }
return if $?;
chomp $vers;
return $vers;
Subject: | pmls.patch |
--- pmls.orig 2017-01-16 21:08:30.375951300 -0500
+++ pmls 2017-01-16 21:11:53.168550300 -0500
@@ -17,8 +17,14 @@
unless (@ARGV) {
die "usage: $0 module ...\n";
}
-for $module (@ARGV) {
- system "ls -l " . `$^X -S $Bin/pmpath $module`;
+for $module (@ARGV) {
+ if ( $^O eq "MSWin32" ) {
+ my $path = `$^X -S $Bin/pmpath $module`;
+ $path =~ s/\//\\/g;
+ system "dir " . $path;
+ } else {
+ system "ls -l " . `$^X -S $Bin/pmpath $module`;
+ }
}
__END__
Subject: | pods.patch |
--- pods.orig 2017-01-16 21:18:49.383356500 -0500
+++ pods 2017-01-16 21:17:50.435984900 -0500
@@ -6,11 +6,12 @@
use strict;
use warnings;
+use FindBin qw($Bin);
our $VERSION = '2.0.0';
-system $^X, "-S", "stdpods";
-system $^X, "-S", "pminst", "-l";
+system $^X, "-S", "$Bin/stdpods";
+system $^X, "-S", "$Bin/pminst", "-l";
__END__
Subject: | sitepods.patch |
--- sitepods.orig 2017-01-16 21:20:29.526084300 -0500
+++ sitepods 2017-01-16 21:25:54.861692400 -0500
@@ -8,13 +8,18 @@
# ------ pragmas
use strict;
use warnings;
+use FindBin qw($Bin);
our $VERSION = '2.0.0';
-open(PROG, "$^X -S modpods |") || die "can't fork: $!";
+open(PROG, "$^X -S $Bin/modpods |") || die "can't fork: $!";
while (<PROG>) {
- print if /site_perl/;
+ if ( $^O eq "MSWin32" ) {
+ print if /\/site\//;
+ } else {
+ print if /site_perl/;
+ }
}
__END__
Subject: | stdpods.patch |
--- stdpods.orig 2017-01-16 21:24:50.273998200 -0500
+++ stdpods 2017-01-16 21:27:34.155371700 -0500
@@ -8,13 +8,18 @@
# ------ pragmas
use strict;
use warnings;
+use FindBin qw($Bin);
our $VERSION = '2.0.0';
-system("$^X -S basepods");
-open(PROG, "$^X -S modpods |") || die "can't fork: $!";
+system("$^X -S $Bin/basepods");
+open(PROG, "$^X -S $Bin/modpods |") || die "can't fork: $!";
while (<PROG>) {
- print unless /site_perl/;
+ if ( $^O eq "MSWin32" ) {
+ print unless /\/site\//;
+ } else {
+ print unless /site_perl/;
+ }
}
close PROG;