* sync with git4win perl: * https://github.com/git-for-windows/MSYS2-packages/pull/139 * https://github.com/git-for-windows/MSYS2-packages/pull/143 * run patchprov to update provides
2264 lines
86 KiB
Diff
2264 lines
86 KiB
Diff
From badb6df6fd00b343b810886a647fa793ab2ef539 Mon Sep 17 00:00:00 2001
|
|
From: Alexey Pavlov <alexpux@gmail.com>
|
|
Date: Tue, 5 Nov 2013 00:30:05 +0400
|
|
Subject: [PATCH 6/7] perl-5.36.0-msys2
|
|
|
|
---
|
|
Configure | 20 +++-
|
|
Cross/Makefile-cross-SH | 8 +-
|
|
Makefile.SH | 6 +-
|
|
configpm | 4 +-
|
|
cpan/Archive-Tar/t/02_methods.t | 2 +-
|
|
cpan/CPAN-Meta/t/data-fail/META-1_4.yml | 3 +
|
|
cpan/CPAN-Meta/t/data-fixable/META-1_4.yml | 3 +
|
|
.../invalid-meta-spec-version.yml | 3 +
|
|
.../meta-spec-version-trailing-zeros.yml | 3 +
|
|
cpan/CPAN-Meta/t/data-test/META-1_4.yml | 3 +
|
|
.../CPAN-Meta/t/data-test/restrictive-1_4.yml | 3 +
|
|
cpan/CPAN-Meta/t/data-test/unicode.yml | 3 +
|
|
cpan/Compress-Raw-Zlib/Makefile.PL | 2 +-
|
|
cpan/DB_File/t/db-btree.t | 5 +-
|
|
cpan/DB_File/t/db-hash.t | 4 +-
|
|
cpan/DB_File/t/db-recno.t | 4 +-
|
|
cpan/Digest-SHA/shasum | 2 +-
|
|
cpan/ExtUtils-Install/lib/ExtUtils/Install.pm | 4 +-
|
|
.../lib/ExtUtils/Liblist/Kid.pm | 2 +
|
|
cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm | 2 +-
|
|
.../lib/ExtUtils/MM_Cygwin.pm | 6 +-
|
|
cpan/ExtUtils-MakeMaker/t/03-xsstatic.t | 2 +-
|
|
cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t | 2 +-
|
|
cpan/ExtUtils-MakeMaker/t/MM_Unix.t | 2 +-
|
|
cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t | 2 +-
|
|
cpan/ExtUtils-MakeMaker/t/eu_command.t | 4 +-
|
|
cpan/ExtUtils-MakeMaker/t/fixin.t | 2 +-
|
|
cpan/ExtUtils-Manifest/t/Manifest.t | 2 +-
|
|
cpan/File-Path/t/Path.t | 2 +-
|
|
cpan/File-Temp/lib/File/Temp.pm | 4 +-
|
|
cpan/IO-Compress/t/cz-14gzopen.t | 4 +-
|
|
cpan/IO-Socket-IP/t/11sockopts.t | 2 +-
|
|
cpan/IPC-Cmd/t/03_run-forked.t | 2 +-
|
|
cpan/IPC-SysV/t/ipcsysv.t | 6 +-
|
|
cpan/Pod-Perldoc/lib/Pod/Perldoc.pm | 2 +-
|
|
cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm | 2 +-
|
|
cpan/Socket/t/socketpair.t | 2 +-
|
|
cpan/Sys-Syslog/t/syslog.t | 2 +-
|
|
cpan/Sys-Syslog/win32/Win32.pm | 2 +-
|
|
cpan/Sys-Syslog/win32/compile.pl | 2 +-
|
|
cpan/Win32/Makefile.PL | 5 +-
|
|
cpan/Win32/t/GetCurrentThreadId.t | 2 +-
|
|
cpan/Win32/t/Unicode.t | 16 +--
|
|
cpan/Win32API-File/File.pm | 2 +-
|
|
cpan/Win32API-File/Makefile.PL | 2 +-
|
|
cpan/Win32API-File/t/file.t | 8 +-
|
|
cpan/autodie/t/chown.t | 2 +-
|
|
cpan/autodie/t/version_tag.t | 2 +-
|
|
cpan/libnet/lib/Net/Domain.pm | 2 +-
|
|
cpan/libnet/lib/Net/Netrc.pm | 1 +
|
|
cpan/libnet/t/netrc.t | 2 +-
|
|
.../lib/ExtUtils/CBuilder/Platform/msys.pm | 33 +++++++
|
|
dist/IO/t/cachepropagate-unix.t | 4 +-
|
|
dist/IO/t/io_xs.t | 2 +
|
|
dist/Net-Ping/lib/Net/Ping.pm | 10 +-
|
|
dist/Net-Ping/t/001_new.t | 2 +-
|
|
dist/Net-Ping/t/450_service.t | 4 +-
|
|
dist/Net-Ping/t/510_ping_udp.t | 2 +-
|
|
dist/PathTools/Cwd.pm | 13 ++-
|
|
dist/PathTools/lib/File/Spec.pm | 1 +
|
|
dist/PathTools/lib/File/Spec/Cygwin.pm | 4 +-
|
|
dist/PathTools/lib/File/Spec/Unix.pm | 2 +-
|
|
dist/PathTools/t/crossplatform.t | 2 +-
|
|
dist/PathTools/t/cwd.t | 2 +-
|
|
dist/PathTools/t/cwd_enoent.t | 4 +-
|
|
dist/Storable/stacksize | 2 +-
|
|
dist/Term-ReadLine/t/ReadLine-STDERR.t | 3 +-
|
|
dist/Time-HiRes/Makefile.PL | 4 +-
|
|
dist/Time-HiRes/t/stat.t | 2 +-
|
|
dist/Time-HiRes/t/utime.t | 2 +-
|
|
dist/XSLoader/XSLoader_pm.PL | 2 +-
|
|
ext/DynaLoader/DynaLoader_pm.PL | 3 +
|
|
ext/DynaLoader/t/DynaLoader.t | 2 +-
|
|
ext/File-Find/t/find.t | 2 +-
|
|
ext/File-Glob/t/basic.t | 2 +-
|
|
ext/NDBM_File/Makefile.PL | 2 +-
|
|
ext/ODBM_File/Makefile.PL | 2 +-
|
|
ext/POSIX/Makefile.PL | 2 +-
|
|
ext/POSIX/t/sysconf.t | 2 +-
|
|
ext/POSIX/t/time.t | 2 +-
|
|
ext/POSIX/t/wrappers.t | 2 +
|
|
ext/Win32CORE/t/win32core.t | 4 +-
|
|
ext/XS-APItest/t/call_checker.t | 2 +-
|
|
haiku/Haiku/Makefile.PL | 2 +-
|
|
hints/msys.sh | 98 +++++++++++++++++++
|
|
install_lib.pl | 2 +-
|
|
installman | 2 +-
|
|
lib/AnyDBM_File.t | 3 +-
|
|
lib/ExtUtils/t/Embed.t | 4 +-
|
|
lib/File/Compare.t | 2 +-
|
|
lib/File/Copy.t | 2 +-
|
|
lib/Net/hostent.t | 2 +-
|
|
lib/User/grent.t | 2 +-
|
|
lib/User/pwent.t | 4 +-
|
|
lib/locale.t | 2 +-
|
|
lib/perl5db.pl | 2 +-
|
|
regen/regen_lib.pl | 2 +-
|
|
t/io/eintr.t | 2 +-
|
|
t/io/fs.t | 11 ++-
|
|
t/io/pvbm.t | 2 +-
|
|
t/io/tell.t | 4 +-
|
|
t/lib/cygwin.t | 4 +-
|
|
t/lib/dbmt_common.pl | 2 +-
|
|
t/op/groups.t | 2 +-
|
|
t/op/magic.t | 2 +-
|
|
t/op/require_errors.t | 3 +-
|
|
t/op/sigdispatch.t | 6 +-
|
|
t/op/stat.t | 11 ++-
|
|
t/op/taint.t | 2 +-
|
|
t/op/time.t | 2 +-
|
|
t/porting/exec-bit.t | 2 +-
|
|
t/porting/extrefs.t | 2 +-
|
|
t/porting/globvar.t | 2 +-
|
|
t/run/locale.t | 2 +-
|
|
t/test.pl | 2 +-
|
|
utils/perlbug.PL | 4 +-
|
|
win32/FindExt.pm | 2 +-
|
|
117 files changed, 354 insertions(+), 155 deletions(-)
|
|
create mode 100644 dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/msys.pm
|
|
create mode 100644 hints/msys.sh
|
|
|
|
diff --git a/Configure b/Configure
|
|
index 24366f6..368f7ad 100755
|
|
--- a/Configure
|
|
+++ b/Configure
|
|
@@ -1440,7 +1440,7 @@ elif test -f /kern/cookiejar; then
|
|
: MiNT
|
|
_exe=""
|
|
elif test -d c:/. -o -n "$is_os2" ; then
|
|
-: OS/2 or cygwin
|
|
+: OS/2 or cygwin or msys
|
|
_exe=".exe"
|
|
fi
|
|
|
|
@@ -3480,6 +3480,9 @@ EOM
|
|
cygwin*) osname=cygwin
|
|
osvers="$3"
|
|
;;
|
|
+ msys*) osname=msys
|
|
+ osvers="$3"
|
|
+ ;;
|
|
*dc.osx) osname=dcosx
|
|
osvers="$3"
|
|
;;
|
|
@@ -8705,7 +8708,7 @@ $undef)
|
|
;;
|
|
*) case "$useshrplib" in
|
|
'') case "$osname" in
|
|
- svr4*|nonstopux|dgux|dynixptx|esix|powerux|haiku|cygwin*)
|
|
+ svr4*|nonstopux|dgux|dynixptx|esix|powerux|haiku|cygwin*|msys*)
|
|
dflt=y
|
|
also='Building a shared libperl is required for dynamic loading to work on your system.'
|
|
;;
|
|
@@ -8776,6 +8779,13 @@ true)
|
|
majonly=cygperl5.$majonly.$so
|
|
dflt=$majmin
|
|
;;
|
|
+ msys*) # ld links now against the dll directly
|
|
+ majmin="msys-perl5_${patchlevel}_${subversion}.${so}"
|
|
+ majonly=`echo $patchlevel $subversion |
|
|
+ $awk '{printf "%03d%03d", $1, $2}'`
|
|
+ majonly=msys-perl5.$majonly.$so
|
|
+ dflt=$majmin
|
|
+ ;;
|
|
*) # Try to guess based on whether libc has major.minor.
|
|
case "$libc" in
|
|
*libc.$so.[0-9]*.[0-9]*) dflt=$majmin ;;
|
|
@@ -8867,6 +8877,9 @@ if "$useshrplib"; then
|
|
cygwin)
|
|
# cygwin needs only ldlibpth
|
|
;;
|
|
+ msys)
|
|
+ # cygwin needs only ldlibpth
|
|
+ ;;
|
|
*)
|
|
tmp_shrpenv="env LD_RUN_PATH=$shrpdir"
|
|
;;
|
|
@@ -23537,7 +23550,7 @@ BeOS BIG_ENDIAN BIT_MSF BSD bsd bsd43 bsd4_2 BSD4_3 bsd4_3 bsd4_4
|
|
BSDCOMPAT bsdi BSD_4_3 BSD_4_4 BSD_NET2 BSD_TIME BSD_TYPES bull
|
|
byteorder byte_order
|
|
c cadmus clang clipper CMU COFF COMPILER_VERSION concurrent
|
|
-convex cpu CRAY cray CRAYMPP ctix CX_UX CYGWIN
|
|
+convex cpu CRAY cray CRAYMPP ctix CX_UX MSYS CYGWIN
|
|
DECC DGUX DGUX_SOURCE DJGPP dmert DOLPHIN DPX2 DSO Dynix DynixPTX
|
|
ELF encore EPI EXTENSIONS
|
|
FAVOR_BSD FILE_OFFSET_BITS FORTIFY_SOURCE FreeBSD
|
|
@@ -24163,6 +24176,7 @@ for xxx in $xs_extensions ; do
|
|
Win32*)
|
|
case "$osname" in
|
|
cygwin) avail_ext="$avail_ext $xxx" ;;
|
|
+ msys) avail_ext="$avail_ext $xxx" ;;
|
|
esac
|
|
;;
|
|
XS/APItest|xs/apitest)
|
|
diff --git a/Cross/Makefile-cross-SH b/Cross/Makefile-cross-SH
|
|
index a774f4a..26d4d61 100644
|
|
--- a/Cross/Makefile-cross-SH
|
|
+++ b/Cross/Makefile-cross-SH
|
|
@@ -55,8 +55,8 @@ true)
|
|
${revision}.${patchlevel}.${subversion} \
|
|
-install_name \$(shrpdir)/\$@"
|
|
;;
|
|
- cygwin*)
|
|
- linklibperl="-lperl"
|
|
+ cygwin* | msys*)
|
|
+ linklibperl="-L. -lperl"
|
|
;;
|
|
sunos*)
|
|
linklibperl="-lperl"
|
|
@@ -461,7 +461,7 @@ perlmain.c: miniperlmain.c config.sh $(FIRSTMAKEFILE)
|
|
|
|
!NO!SUBS!
|
|
case "$osname" in
|
|
-cygwin)
|
|
+cygwin | msys)
|
|
;; # Let cygwin/Makefile.SHs do its work.
|
|
*)
|
|
$spitshell >>$Makefile <<'!NO!SUBS!'
|
|
@@ -948,7 +948,7 @@ _mopup:
|
|
-rm -f perl.third lib*.so.perl.third perl.3log t/perl.third t/perl.3log
|
|
-rm -f perl.pixie lib*.so.perl.pixie lib*.so.Addrs
|
|
-rm -f perl.Addrs perl.Counts t/perl.Addrs t/perl.Counts *perl.xok
|
|
- -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
|
|
+ -rm -f cygwin.c libperl*.def libperl*.dll msys-perl*.dll *.exe.stackdump
|
|
-rm -f perl$(EXE_EXT) miniperl$(EXE_EXT) $(LIBPERL) libperl.* microperl
|
|
-rm -f config.over
|
|
|
|
diff --git a/Makefile.SH b/Makefile.SH
|
|
index e2490da..547bd49 100755
|
|
--- a/Makefile.SH
|
|
+++ b/Makefile.SH
|
|
@@ -72,7 +72,7 @@ true)
|
|
;;
|
|
esac
|
|
;;
|
|
- cygwin*)
|
|
+ cygwin*|msys*)
|
|
shrpldflags="$shrpldflags -Wl,--out-implib=libperl.dll.a"
|
|
linklibperl="-L. -lperl"
|
|
;;
|
|
@@ -1360,7 +1360,7 @@ _mopup:
|
|
-rm -f perl.exp ext.libs $(generated_pods) uni.data $(mini_only_objs) pod/roffitall
|
|
-rm -f perl.export perl.dll perl.libexp perl.map perl.def
|
|
-rm -f *perl.xok
|
|
- -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll *.exe.stackdump
|
|
+ -rm -f cygwin.c libperl*.def libperl*.dll cygperl*.dll msys-perl*.dll *.exe.stackdump
|
|
-rm -f $(PERL_EXE) $(MINIPERL_EXE) $(LIBPERL) libperl.* microperl
|
|
-rm -f config.arch config.over $(DTRACE_H)
|
|
|
|
@@ -1524,7 +1524,7 @@ case "$targethost" in
|
|
'') $spitshell >>$Makefile <<'!NO!SUBS!'
|
|
test_prep test-prep: test_prep_pre $(MINIPERL_EXE) $(unidatafiles) $(PERL_EXE) \
|
|
$(dynamic_ext) $(TEST_PERL_DLL) runtests $(generated_pods) common_build
|
|
- cd t && (rm -f $(PERL_EXE); $(LNS) ../$(PERL_EXE) $(PERL_EXE))
|
|
+ cd t && (rm -f $(PERL_EXE) $(LIBPERL); $(LNS) ../$(PERL_EXE) $(PERL_EXE); $(LNS) ../$(LIBPERL) $(LIBPERL))
|
|
|
|
!NO!SUBS!
|
|
;;
|
|
diff --git a/configpm b/configpm
|
|
index 94a4778..284e322 100755
|
|
--- a/configpm
|
|
+++ b/configpm
|
|
@@ -459,8 +459,8 @@ EOT
|
|
|
|
my $osname = fetch_string({}, 'osname');
|
|
my $from = $osname eq 'VMS' ? 'PERLSHR image' : 'binary (from libperl)';
|
|
-my $env_cygwin = $osname eq 'cygwin'
|
|
- ? 'push @env, "CYGWIN=\"$ENV{CYGWIN}\"" if $ENV{CYGWIN};' . "\n" : "";
|
|
+my $env_cygwin = ($^O eq 'cygwin' || $^O eq 'msys')
|
|
+ ? 'push @env, "MSYS=\"$ENV{MSYS}\"" if $ENV{MSYS};' . "\n" : "";
|
|
|
|
$heavy_txt .= sprintf <<'ENDOFBEG', $osname, $osname, $from, $osname, $env_cygwin;
|
|
# This file was created by configpm when Perl was built. Any changes
|
|
diff --git a/cpan/Archive-Tar/t/02_methods.t b/cpan/Archive-Tar/t/02_methods.t
|
|
index 19d9212..e0e73b5 100644
|
|
--- a/cpan/Archive-Tar/t/02_methods.t
|
|
+++ b/cpan/Archive-Tar/t/02_methods.t
|
|
@@ -60,7 +60,7 @@ my @EXPECTX = (
|
|
my $LONG_FILE = qq[directory/really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-really-long-directory-name/myfile];
|
|
|
|
### wintendo can't deal with too long paths, so we might have to skip tests ###
|
|
-my $TOO_LONG = ($^O eq 'MSWin32' or $^O eq 'cygwin' or $^O eq 'VMS')
|
|
+my $TOO_LONG = ($^O eq 'MSWin32' or $^O eq 'cygwin' or $^O eq 'msys' or $^O eq 'VMS')
|
|
&& length( cwd(). $LONG_FILE ) > 247;
|
|
|
|
if(!$TOO_LONG) {
|
|
diff --git a/cpan/CPAN-Meta/t/data-fail/META-1_4.yml b/cpan/CPAN-Meta/t/data-fail/META-1_4.yml
|
|
index cec4d11..b04c410 100644
|
|
--- a/cpan/CPAN-Meta/t/data-fail/META-1_4.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-fail/META-1_4.yml
|
|
@@ -77,6 +77,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/CPAN-Meta/t/data-fixable/META-1_4.yml b/cpan/CPAN-Meta/t/data-fixable/META-1_4.yml
|
|
index 1336f10..7944d8f 100644
|
|
--- a/cpan/CPAN-Meta/t/data-fixable/META-1_4.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-fixable/META-1_4.yml
|
|
@@ -76,6 +76,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/CPAN-Meta/t/data-fixable/invalid-meta-spec-version.yml b/cpan/CPAN-Meta/t/data-fixable/invalid-meta-spec-version.yml
|
|
index d74cde6..c360ca1 100644
|
|
--- a/cpan/CPAN-Meta/t/data-fixable/invalid-meta-spec-version.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-fixable/invalid-meta-spec-version.yml
|
|
@@ -77,6 +77,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/CPAN-Meta/t/data-fixable/meta-spec-version-trailing-zeros.yml b/cpan/CPAN-Meta/t/data-fixable/meta-spec-version-trailing-zeros.yml
|
|
index 92445cb..94156d0 100644
|
|
--- a/cpan/CPAN-Meta/t/data-fixable/meta-spec-version-trailing-zeros.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-fixable/meta-spec-version-trailing-zeros.yml
|
|
@@ -77,6 +77,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/CPAN-Meta/t/data-test/META-1_4.yml b/cpan/CPAN-Meta/t/data-test/META-1_4.yml
|
|
index 801f579..60f598f 100644
|
|
--- a/cpan/CPAN-Meta/t/data-test/META-1_4.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-test/META-1_4.yml
|
|
@@ -77,6 +77,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/CPAN-Meta/t/data-test/restrictive-1_4.yml b/cpan/CPAN-Meta/t/data-test/restrictive-1_4.yml
|
|
index b780016..ee2ceac 100644
|
|
--- a/cpan/CPAN-Meta/t/data-test/restrictive-1_4.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-test/restrictive-1_4.yml
|
|
@@ -77,6 +77,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/CPAN-Meta/t/data-test/unicode.yml b/cpan/CPAN-Meta/t/data-test/unicode.yml
|
|
index 8aa5bca..b902e0b 100644
|
|
--- a/cpan/CPAN-Meta/t/data-test/unicode.yml
|
|
+++ b/cpan/CPAN-Meta/t/data-test/unicode.yml
|
|
@@ -77,6 +77,9 @@ provides:
|
|
Module::Build::Platform::cygwin:
|
|
file: lib/Module/Build/Platform/cygwin.pm
|
|
version: 0.36_08
|
|
+ Module::Build::Platform::msys:
|
|
+ file: lib/Module/Build/Platform/msys.pm
|
|
+ version: 0.36_08
|
|
Module::Build::Platform::darwin:
|
|
file: lib/Module/Build/Platform/darwin.pm
|
|
version: 0.36_08
|
|
diff --git a/cpan/Compress-Raw-Zlib/Makefile.PL b/cpan/Compress-Raw-Zlib/Makefile.PL
|
|
index bf3681b..1aa5cc5 100644
|
|
--- a/cpan/Compress-Raw-Zlib/Makefile.PL
|
|
+++ b/cpan/Compress-Raw-Zlib/Makefile.PL
|
|
@@ -32,7 +32,7 @@ my $ZLIB_LIBRARY_NAME = $^O eq 'MSWin32' ? 'zlib' : 'z' ;
|
|
# ExtUtils::Install.
|
|
|
|
# Don't ask if MM_USE_DEFAULT is set -- enables perl core building on cygwin
|
|
-if ($^O =~ /cygwin/i and $ExtUtils::Install::VERSION < 1.39
|
|
+if (($^O =~ /cygwin/i or $^O =~ /msys/i) and $ExtUtils::Install::VERSION < 1.39
|
|
and not ($ENV{PERL_MM_USE_DEFAULT} or $ENV{PERL_CORE}))
|
|
{
|
|
print <<EOM ;
|
|
diff --git a/cpan/DB_File/t/db-btree.t b/cpan/DB_File/t/db-btree.t
|
|
index fc19e99..88cbcea 100644
|
|
--- a/cpan/DB_File/t/db-btree.t
|
|
+++ b/cpan/DB_File/t/db-btree.t
|
|
@@ -106,7 +106,8 @@ sub normalise
|
|
{
|
|
my $data = shift ;
|
|
$data =~ s#\r\n#\n#g
|
|
- if $^O eq 'cygwin' ;
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys') ;
|
|
+:cn
|
|
|
|
return $data ;
|
|
}
|
|
@@ -179,7 +180,7 @@ die "Could not tie: $!" unless $X;
|
|
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
|
|
$blksize,$blocks) = stat($Dfile);
|
|
|
|
-my %noMode = map { $_, 1} qw( amigaos MSWin32 NetWare cygwin ) ;
|
|
+my %noMode = map { $_, 1} qw( amigaos MSWin32 NetWare cygwin msys ) ;
|
|
|
|
ok(18, ($mode & 0777) == (($^O eq 'os2' || $^O eq 'MacOS') ? 0666 : 0640)
|
|
|| $noMode{$^O} );
|
|
diff --git a/cpan/DB_File/t/db-hash.t b/cpan/DB_File/t/db-hash.t
|
|
index cc10bfc..4b18f21 100644
|
|
--- a/cpan/DB_File/t/db-hash.t
|
|
+++ b/cpan/DB_File/t/db-hash.t
|
|
@@ -70,7 +70,7 @@ sub normalise
|
|
{
|
|
my $data = shift ;
|
|
$data =~ s#\r\n#\n#g
|
|
- if $^O eq 'cygwin' ;
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys') ;
|
|
return $data ;
|
|
}
|
|
|
|
@@ -140,7 +140,7 @@ die "Could not tie: $!" unless defined $X;
|
|
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
|
|
$blksize,$blocks) = stat($Dfile);
|
|
|
|
-my %noMode = map { $_, 1} qw( amigaos MSWin32 NetWare cygwin ) ;
|
|
+my %noMode = map { $_, 1} qw( amigaos MSWin32 NetWare cygwin msys ) ;
|
|
|
|
ok(16, ($mode & 0777) == (($^O eq 'os2' || $^O eq 'MacOS') ? 0666 : 0640) ||
|
|
$noMode{$^O} );
|
|
diff --git a/cpan/DB_File/t/db-recno.t b/cpan/DB_File/t/db-recno.t
|
|
index 4b80e93..8caca08 100644
|
|
--- a/cpan/DB_File/t/db-recno.t
|
|
+++ b/cpan/DB_File/t/db-recno.t
|
|
@@ -127,7 +127,7 @@ EOM
|
|
|
|
sub normalise
|
|
{
|
|
- return unless $^O eq 'cygwin' ;
|
|
+ return unless ($^O eq 'cygwin' || $^O eq 'msys') ;
|
|
foreach (@_)
|
|
{ s#\r\n#\n#g }
|
|
}
|
|
@@ -202,7 +202,7 @@ my $X ;
|
|
my @h ;
|
|
ok(17, $X = tie @h, 'DB_File', $Dfile, O_RDWR|O_CREAT, 0640, $DB_RECNO ) ;
|
|
|
|
-my %noMode = map { $_, 1} qw( amigaos MSWin32 NetWare cygwin ) ;
|
|
+my %noMode = map { $_, 1} qw( amigaos MSWin32 NetWare cygwin msys ) ;
|
|
|
|
ok(18, ((stat($Dfile))[2] & 0777) == (($^O eq 'os2' || $^O eq 'MacOS') ? 0666 : 0640)
|
|
|| $noMode{$^O} );
|
|
diff --git a/cpan/Digest-SHA/shasum b/cpan/Digest-SHA/shasum
|
|
index 46a7162..4d7f0b0 100644
|
|
--- a/cpan/Digest-SHA/shasum
|
|
+++ b/cpan/Digest-SHA/shasum
|
|
@@ -201,7 +201,7 @@ if ($version) {
|
|
## explicitly overridden by command line "--text" or
|
|
## "--UNIVERSAL" options.
|
|
|
|
-my $isDOSish = ($^O =~ /^(MSWin\d\d|os2|dos|mint|cygwin)$/);
|
|
+my $isDOSish = ($^O =~ /^(MSWin\d\d|os2|dos|mint|cygwin|msys)$/);
|
|
if ($isDOSish) { $binary = 1 unless $text || $UNIVERSAL }
|
|
|
|
my $modesym = $binary ? '*' : ($UNIVERSAL ? 'U' : ($BITS ? '^' : ' '));
|
|
diff --git a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
|
|
index 9608180..e748ece 100644
|
|
--- a/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
|
|
+++ b/cpan/ExtUtils-Install/lib/ExtUtils/Install.pm
|
|
@@ -88,8 +88,8 @@ Dies with a special message.
|
|
BEGIN {
|
|
*_Is_VMS = $^O eq 'VMS' ? sub(){1} : sub(){0};
|
|
*_Is_Win32 = $^O eq 'MSWin32' ? sub(){1} : sub(){0};
|
|
- *_Is_cygwin = $^O eq 'cygwin' ? sub(){1} : sub(){0};
|
|
- *_CanMoveAtBoot = ($^O eq 'MSWin32' || $^O eq 'cygwin') ? sub(){1} : sub(){0};
|
|
+ *_Is_cygwin = ($^O eq 'cygwin' || $^O eq 'msys') ? sub(){1} : sub(){0};
|
|
+ *_CanMoveAtBoot = ($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys') ? sub(){1} : sub(){0};
|
|
}
|
|
|
|
my $Inc_uninstall_warn_handler;
|
|
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
|
|
index 01a4a48..7e9416e 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
|
|
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/Liblist/Kid.pm
|
|
@@ -188,6 +188,8 @@ sub _unix_os2_ext {
|
|
}
|
|
elsif ( $^O eq 'cygwin' && -f ( $fullname = "$thispth/$thislib.dll" ) ) {
|
|
}
|
|
+ elsif ( $^O eq 'msys' && -f ( $fullname = "$thispth/$thislib.dll" ) ) {
|
|
+ }
|
|
elsif ( -f ( $fullname = "$thispth/Slib$thislib$Config_libext" ) ) {
|
|
}
|
|
elsif ($^O eq 'dgux'
|
|
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
|
|
index a9d8d26..16a1c15 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
|
|
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM.pm
|
|
@@ -59,7 +59,7 @@ if( $^O eq 'MSWin32' ) {
|
|
_is_win95() ? $Is{Win95} = 1 : $Is{Win32} = 1;
|
|
}
|
|
$Is{UWIN} = $^O =~ /^uwin(-nt)?$/;
|
|
-$Is{Cygwin} = $^O eq 'cygwin';
|
|
+$Is{Cygwin} = ($^O eq 'cygwin' or $^O eq 'msys');
|
|
$Is{NW5} = $Config{osname} eq 'NetWare'; # intentional
|
|
$Is{BeOS} = ($^O =~ /beos/i or $^O eq 'haiku');
|
|
$Is{DOS} = $^O eq 'dos';
|
|
diff --git a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
|
|
index 91d2094..992e6b9 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
|
|
+++ b/cpan/ExtUtils-MakeMaker/lib/ExtUtils/MM_Cygwin.pm
|
|
@@ -35,7 +35,7 @@ We're Unix and Cygwin.
|
|
=cut
|
|
|
|
sub os_flavor {
|
|
- return('Unix', 'Cygwin');
|
|
+ return('Unix', 'Msys');
|
|
}
|
|
|
|
=item cflags
|
|
@@ -145,7 +145,7 @@ sub dynamic_lib {
|
|
return $s unless %{$self->{XS}};
|
|
|
|
# do an ephemeral rebase so the new DLL fits to the current rebase map
|
|
- $s .= "\t/bin/find \$\(INST_ARCHLIB\)/auto -xdev -name \\*.$self->{DLEXT} | /bin/rebase -sOT -" if (( $Config{myarchname} eq 'i686-cygwin' ) and not ( exists $ENV{CYGPORT_PACKAGE_VERSION} ));
|
|
+ $s .= "\t/bin/find \$\(INST_ARCHLIB\)/auto -xdev -name \\*.$self->{DLEXT} | /bin/rebase -sOT -" if (( $Config{myarchname} eq 'i686-msys' ) and not ( exists $ENV{CYGPORT_PACKAGE_VERSION} ));
|
|
$s;
|
|
}
|
|
|
|
@@ -165,7 +165,7 @@ sub install {
|
|
my $INSTALLLIB = $self->{"INSTALL". ($INSTALLDIRS eq 'perl' ? 'ARCHLIB' : uc($INSTALLDIRS)."ARCH")};
|
|
my $dop = "\$\(DESTDIR\)$INSTALLLIB/auto/";
|
|
my $dll = "$dop/$self->{FULLEXT}/$self->{BASEEXT}.$self->{DLEXT}";
|
|
- $s =~ s|^(pure_install :: pure_\$\(INSTALLDIRS\)_install\n\t)\$\(NOECHO\) \$\(NOOP\)\n|$1\$(CHMOD) \$(PERM_RWX) $dll\n\t/bin/find $dop -xdev -name \\*.$self->{DLEXT} \| /bin/rebase -sOT -\n|m if (( $Config{myarchname} eq 'i686-cygwin') and not ( exists $ENV{CYGPORT_PACKAGE_VERSION} ));
|
|
+ $s =~ s|^(pure_install :: pure_\$\(INSTALLDIRS\)_install\n\t)\$\(NOECHO\) \$\(NOOP\)\n|$1\$(CHMOD) \$(PERM_RWX) $dll\n\t/bin/find $dop -xdev -name \\*.$self->{DLEXT} \| /bin/rebase -sOT -\n|m if (( $Config{myarchname} eq 'i686-msys') and not ( exists $ENV{CYGPORT_PACKAGE_VERSION} ));
|
|
$s;
|
|
}
|
|
|
|
diff --git a/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t b/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
|
|
index dceed52..3c22c84 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
|
|
+++ b/cpan/ExtUtils-MakeMaker/t/03-xsstatic.t
|
|
@@ -19,7 +19,7 @@ use Test::More;
|
|
plan skip_all => "ExtUtils::CBuilder not installed or couldn't find a compiler"
|
|
unless have_compiler();
|
|
plan skip_all => 'Shared perl library' if $Config{useshrplib} eq 'true';
|
|
-plan skip_all => $^O if $^O =~ m!^(MSWin32|cygwin|haiku|darwin)$!;
|
|
+plan skip_all => $^O if $^O =~ m!^(MSWin32|cygwin|msys|haiku|darwin)$!;
|
|
plan skip_all => 'Skipped when not PERL_CORE nor in git repo' unless $ENV{PERL_CORE} or $release;
|
|
plan skip_all => 'Skipped as perl.exp is not in scope' if -s '../../../perl.exp' && $ENV{PERL_CORE};
|
|
my @tests = list_static();
|
|
diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t b/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
|
|
index 5a7f8b3..d34c5ec 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
|
|
+++ b/cpan/ExtUtils-MakeMaker/t/MM_Cygwin.t
|
|
@@ -10,7 +10,7 @@ use warnings;
|
|
use Test::More;
|
|
|
|
BEGIN {
|
|
- if ($^O =~ /cygwin/i) {
|
|
+ if ($^O =~ /cygwin|msys/i) {
|
|
plan tests => 14;
|
|
} else {
|
|
plan skip_all => "This is not cygwin";
|
|
diff --git a/cpan/ExtUtils-MakeMaker/t/MM_Unix.t b/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
|
|
index b3175f4..73adc79 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
|
|
+++ b/cpan/ExtUtils-MakeMaker/t/MM_Unix.t
|
|
@@ -8,7 +8,7 @@ chdir 't';
|
|
BEGIN {
|
|
use Test::More;
|
|
|
|
- if( $^O =~ /^VMS|os2|MacOS|MSWin32|cygwin|beos|netware$/i ) {
|
|
+ if( $^O =~ /^VMS|os2|MacOS|MSWin32|cygwin|msys|beos|netware$/i ) {
|
|
plan skip_all => 'Non-Unix platform';
|
|
}
|
|
else {
|
|
diff --git a/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t b/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t
|
|
index c0edfda..4f6857c 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t
|
|
+++ b/cpan/ExtUtils-MakeMaker/t/Mkbootstrap.t
|
|
@@ -78,7 +78,7 @@ SKIP: {
|
|
chmod 0444, 'dasboot.bs';
|
|
|
|
SKIP: {
|
|
- skip("cannot write readonly files", 1) if -w 'dasboot.bs' || $^O eq 'cygwin';
|
|
+ skip("cannot write readonly files", 1) if -w 'dasboot.bs' || $^O eq 'cygwin' || $^O eq 'msys';
|
|
|
|
eval{ Mkbootstrap('dasboot', 1) };
|
|
like( $@, qr/Unable to open dasboot\.bs/, 'should die given bad filename' );
|
|
diff --git a/cpan/ExtUtils-MakeMaker/t/eu_command.t b/cpan/ExtUtils-MakeMaker/t/eu_command.t
|
|
index 0233c2f..ace9885 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/t/eu_command.t
|
|
+++ b/cpan/ExtUtils-MakeMaker/t/eu_command.t
|
|
@@ -100,7 +100,7 @@ BEGIN {
|
|
SKIP: {
|
|
if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' ||
|
|
$^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' ||
|
|
- $^O eq 'MacOS'
|
|
+ $^O eq 'msys' || $^O eq 'MacOS'
|
|
) {
|
|
skip( "different file permission semantics on $^O", 3);
|
|
}
|
|
@@ -140,7 +140,7 @@ BEGIN {
|
|
SKIP: {
|
|
if ($^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' ||
|
|
$^O eq 'NetWare' || $^O eq 'dos' || $^O eq 'cygwin' ||
|
|
- $^O eq 'MacOS' || $^O eq 'haiku'
|
|
+ $^O eq 'msys' || $^O eq 'MacOS' || $^O eq 'haiku'
|
|
) {
|
|
skip( "different file permission semantics on $^O", 5);
|
|
}
|
|
diff --git a/cpan/ExtUtils-MakeMaker/t/fixin.t b/cpan/ExtUtils-MakeMaker/t/fixin.t
|
|
index b942a5f..711fa79 100644
|
|
--- a/cpan/ExtUtils-MakeMaker/t/fixin.t
|
|
+++ b/cpan/ExtUtils-MakeMaker/t/fixin.t
|
|
@@ -130,7 +130,7 @@ END
|
|
SKIP: {
|
|
eval { chmod(0755, "usrbin/interp") }
|
|
or skip "no chmod", 8;
|
|
- skip "Not relevant on VMS or MSWin32", 8 if $^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin';
|
|
+ skip "Not relevant on VMS or MSWin32", 8 if $^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys';
|
|
|
|
my $dir = getcwd();
|
|
local $ENV{PATH} = join $Config{path_sep}, map "$dir/$_", qw(usrbin bin);
|
|
diff --git a/cpan/ExtUtils-Manifest/t/Manifest.t b/cpan/ExtUtils-Manifest/t/Manifest.t
|
|
index 183786b..327a218 100644
|
|
--- a/cpan/ExtUtils-Manifest/t/Manifest.t
|
|
+++ b/cpan/ExtUtils-Manifest/t/Manifest.t
|
|
@@ -455,7 +455,7 @@ is_deeply( $files, \%expect, 'maniadd() vs MANIFEST without trailing newline');
|
|
|
|
SKIP: {
|
|
chmod( 0400, 'MANIFEST' );
|
|
- skip "Can't make MANIFEST read-only", 2 if -w 'MANIFEST' or $Config{osname} eq 'cygwin';
|
|
+ skip "Can't make MANIFEST read-only", 2 if -w 'MANIFEST' or $Config{osname} eq 'cygwin' or $Config{osname} eq 'msys';
|
|
|
|
eval {
|
|
maniadd({ 'foo' => 'bar' });
|
|
diff --git a/cpan/File-Path/t/Path.t b/cpan/File-Path/t/Path.t
|
|
index b265aee..5341cb8 100644
|
|
--- a/cpan/File-Path/t/Path.t
|
|
+++ b/cpan/File-Path/t/Path.t
|
|
@@ -499,7 +499,7 @@ SKIP : {
|
|
$octal_input = sprintf "%04o", S_IMODE($input);
|
|
SKIP: {
|
|
skip "permissions are not fully supported by the filesystem", 1
|
|
- if (($^O eq 'MSWin32' || $^O eq 'cygwin') && ((Win32::FsType())[1] & 8) == 0);
|
|
+ if (($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys') && ((Win32::FsType())[1] & 8) == 0);
|
|
is($octal_mode,$input, "create a new directory with chmod $input ($octal_input)");
|
|
}
|
|
rmtree( $dir );
|
|
diff --git a/cpan/File-Temp/lib/File/Temp.pm b/cpan/File-Temp/lib/File/Temp.pm
|
|
index 570f25a..a6668d3 100644
|
|
--- a/cpan/File-Temp/lib/File/Temp.pm
|
|
+++ b/cpan/File-Temp/lib/File/Temp.pm
|
|
@@ -828,7 +828,7 @@ sub _can_do_level {
|
|
return 1 if $level == STANDARD;
|
|
|
|
# Currently, the systems that can do HIGH or MEDIUM are identical
|
|
- if ( $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'dos' || $^O eq 'MacOS' || $^O eq 'mpeix') {
|
|
+ if ( $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'dos' || $^O eq 'MacOS' || $^O eq 'mpeix') {
|
|
return 0;
|
|
} else {
|
|
return 1;
|
|
@@ -2157,7 +2157,7 @@ sub unlink0 {
|
|
# On NFS the link count may still be 1 but we can't know that
|
|
# we are on NFS. Since we can't be sure, we'll defer it
|
|
|
|
- return 1 if $fh[3] == 0 || $^O eq 'cygwin';
|
|
+ return 1 if $fh[3] == 0 || $^O eq 'cygwin' || $^O eq 'msys';
|
|
}
|
|
# fall-through if we can't unlink now
|
|
_deferred_unlink($fh, $path, 0);
|
|
diff --git a/cpan/IO-Compress/t/cz-14gzopen.t b/cpan/IO-Compress/t/cz-14gzopen.t
|
|
index 59a4d82..7406551 100644
|
|
--- a/cpan/IO-Compress/t/cz-14gzopen.t
|
|
+++ b/cpan/IO-Compress/t/cz-14gzopen.t
|
|
@@ -490,7 +490,7 @@ foreach my $stdio ( ['-', '-'], [*STDIN, *STDOUT])
|
|
SKIP:
|
|
{
|
|
skip "Cannot create non-writable file", 3
|
|
- if $^O eq 'cygwin';
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys');
|
|
|
|
my $lex = LexFile->new( my $name );
|
|
writeFile($name, "abc");
|
|
@@ -514,7 +514,7 @@ foreach my $stdio ( ['-', '-'], [*STDIN, *STDOUT])
|
|
{
|
|
my $lex = LexFile->new( my $name );
|
|
skip "Cannot create non-readable file", 3
|
|
- if $^O eq 'cygwin';
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys');
|
|
|
|
writeFile($name, "abc");
|
|
chmod 0222, $name ;
|
|
diff --git a/cpan/IO-Socket-IP/t/11sockopts.t b/cpan/IO-Socket-IP/t/11sockopts.t
|
|
index e3bbd08..1ae1a67 100644
|
|
--- a/cpan/IO-Socket-IP/t/11sockopts.t
|
|
+++ b/cpan/IO-Socket-IP/t/11sockopts.t
|
|
@@ -12,7 +12,7 @@ use Errno qw( EACCES );
|
|
use Socket qw( SOL_SOCKET SO_REUSEADDR SO_REUSEPORT SO_BROADCAST );
|
|
|
|
TODO: {
|
|
- local $TODO = "SO_REUSEADDR doesn't appear to work on cygwin smokers" if $^O eq "cygwin";
|
|
+ local $TODO = "SO_REUSEADDR doesn't appear to work on cygwin smokers" if ($^O eq "cygwin" || $^O eq 'msys');
|
|
# I honestly have no idea why this fails, and people don't seem to be able
|
|
# to reproduce it on a development box. I'll mark it TODO for now until we
|
|
# can gain any more insight into it.
|
|
diff --git a/cpan/IPC-Cmd/t/03_run-forked.t b/cpan/IPC-Cmd/t/03_run-forked.t
|
|
index 42e7709..3f651e2 100644
|
|
--- a/cpan/IPC-Cmd/t/03_run-forked.t
|
|
+++ b/cpan/IPC-Cmd/t/03_run-forked.t
|
|
@@ -44,7 +44,7 @@ $r = run_forked("$sleep 5", {'timeout' => 2});
|
|
ok($r->{'timeout'}, "[$sleep 5] runs longer than 2 seconds");
|
|
|
|
SKIP: {
|
|
- skip "Exhibits problems on Cygwin", 4 if $^O eq 'cygwin';
|
|
+ skip "Exhibits problems on Cygwin", 4 if ($^O eq 'cygwin' || $^O eq 'msys');
|
|
# https://rt.cpan.org/Ticket/Display.html?id=85912
|
|
sub runSub {
|
|
my $blah = "blahblah";
|
|
diff --git a/cpan/IPC-SysV/t/ipcsysv.t b/cpan/IPC-SysV/t/ipcsysv.t
|
|
index 8bbea07..a1a0b4e 100644
|
|
--- a/cpan/IPC-SysV/t/ipcsysv.t
|
|
+++ b/cpan/IPC-SysV/t/ipcsysv.t
|
|
@@ -42,18 +42,18 @@ use IPC::SysV qw(IPC_PRIVATE IPC_NOWAIT IPC_STAT IPC_RMID S_IRWXU);
|
|
{
|
|
return if $did_diag++;
|
|
|
|
- if ($^O eq 'cygwin') {
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys') {
|
|
diag(<<EOM);
|
|
|
|
It may be that the cygserver service isn't running.
|
|
|
|
EOM
|
|
|
|
- diag(<<EOM) unless exists $ENV{CYGWIN} && $ENV{CYGWIN} eq 'server';
|
|
+ diag(<<EOM) unless exists $ENV{MSYS} && $ENV{MSYS} eq 'server';
|
|
You also may have to set the CYGWIN environment variable
|
|
to 'server' before running the test suite:
|
|
|
|
- export CYGWIN=server
|
|
+ export MSYS=server
|
|
|
|
EOM
|
|
}
|
|
diff --git a/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm b/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
|
|
index bb6ffc8..5fc5002 100644
|
|
--- a/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
|
|
+++ b/cpan/Pod-Perldoc/lib/Pod/Perldoc.pm
|
|
@@ -66,7 +66,7 @@ BEGIN {
|
|
*is_mswin32 = $^O eq 'MSWin32' ? \&TRUE : \&FALSE unless defined &is_mswin32;
|
|
*is_dos = $^O eq 'dos' ? \&TRUE : \&FALSE unless defined &is_dos;
|
|
*is_os2 = $^O eq 'os2' ? \&TRUE : \&FALSE unless defined &is_os2;
|
|
- *is_cygwin = $^O eq 'cygwin' ? \&TRUE : \&FALSE unless defined &is_cygwin;
|
|
+ *is_cygwin = ($^O eq 'cygwin' || $^O eq 'msys') ? \&TRUE : \&FALSE unless defined &is_cygwin;
|
|
*is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux;
|
|
*is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux;
|
|
*is_amigaos = $^O eq 'amigaos' ? \&TRUE : \&FALSE unless defined &is_amigaos;
|
|
diff --git a/cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm b/cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
|
|
index 37f6510..7ae4af5 100644
|
|
--- a/cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
|
|
+++ b/cpan/Pod-Perldoc/lib/Pod/Perldoc/BaseTo.pm
|
|
@@ -29,7 +29,7 @@ BEGIN {
|
|
*is_mswin32 = $^O eq 'MSWin32' ? \&TRUE : \&FALSE unless defined &is_mswin32;
|
|
*is_dos = $^O eq 'dos' ? \&TRUE : \&FALSE unless defined &is_dos;
|
|
*is_os2 = $^O eq 'os2' ? \&TRUE : \&FALSE unless defined &is_os2;
|
|
- *is_cygwin = $^O eq 'cygwin' ? \&TRUE : \&FALSE unless defined &is_cygwin;
|
|
+ *is_cygwin = ($^O eq 'cygwin' || $^O eq 'msys') ? \&TRUE : \&FALSE unless defined &is_cygwin;
|
|
*is_linux = $^O eq 'linux' ? \&TRUE : \&FALSE unless defined &is_linux;
|
|
*is_hpux = $^O =~ m/hpux/ ? \&TRUE : \&FALSE unless defined &is_hpux;
|
|
*is_openbsd = $^O =~ m/openbsd/ ? \&TRUE : \&FALSE unless defined &is_openbsd;
|
|
diff --git a/cpan/Socket/t/socketpair.t b/cpan/Socket/t/socketpair.t
|
|
index a803302..ac7d78b 100644
|
|
--- a/cpan/Socket/t/socketpair.t
|
|
+++ b/cpan/Socket/t/socketpair.t
|
|
@@ -40,7 +40,7 @@ BEGIN {
|
|
}
|
|
warn "Something unexpectedly hung during testing";
|
|
kill "INT", $parent or die "Kill failed: $!";
|
|
- if( $^O eq "cygwin" ) {
|
|
+ if( $^O eq "cygwin" || $^O eq "msys" ) {
|
|
# sometimes the above isn't enough on cygwin
|
|
sleep 1; # wait a little, it might have worked after all
|
|
system( "/bin/kill -f $parent; echo die $parent" );
|
|
diff --git a/cpan/Sys-Syslog/t/syslog.t b/cpan/Sys-Syslog/t/syslog.t
|
|
index 6802ace..89efba5 100644
|
|
--- a/cpan/Sys-Syslog/t/syslog.t
|
|
+++ b/cpan/Sys-Syslog/t/syslog.t
|
|
@@ -18,7 +18,7 @@ use warnings qw(closure deprecated exiting glob io misc numeric once overflow
|
|
$^W = 0 if $] < 5.006;
|
|
|
|
my $is_Win32 = $^O =~ /win32/i;
|
|
-my $is_Cygwin = $^O =~ /cygwin/i;
|
|
+my $is_Cygwin = $^O =~ /cygwin|msys/i;
|
|
|
|
# if testing in core, check that the module is at least available
|
|
if ($ENV{PERL_CORE}) {
|
|
diff --git a/cpan/Sys-Syslog/win32/Win32.pm b/cpan/Sys-Syslog/win32/Win32.pm
|
|
index 70caf33..d589aa1 100644
|
|
--- a/cpan/Sys-Syslog/win32/Win32.pm
|
|
+++ b/cpan/Sys-Syslog/win32/Win32.pm
|
|
@@ -39,7 +39,7 @@ use Win32::TieRegistry 0.20 (
|
|
),
|
|
);
|
|
|
|
-my $is_Cygwin = $^O =~ /Cygwin/i;
|
|
+my $is_Cygwin = $^O =~ /Cygwin|Msys/i;
|
|
my $is_Win32 = $^O =~ /Win32/i;
|
|
|
|
my %const = (
|
|
diff --git a/cpan/Sys-Syslog/win32/compile.pl b/cpan/Sys-Syslog/win32/compile.pl
|
|
index 3a8cf4f..8e9cd52 100644
|
|
--- a/cpan/Sys-Syslog/win32/compile.pl
|
|
+++ b/cpan/Sys-Syslog/win32/compile.pl
|
|
@@ -127,7 +127,7 @@ use Win32::TieRegistry 0.20 (
|
|
),
|
|
);
|
|
|
|
-my $is_Cygwin = $^O =~ /Cygwin/i;
|
|
+my $is_Cygwin = $^O =~ /Cygwin|Msys/i;
|
|
my $is_Win32 = $^O =~ /Win32/i;
|
|
|
|
my %const = (
|
|
diff --git a/cpan/Win32/Makefile.PL b/cpan/Win32/Makefile.PL
|
|
index 90ad660..f11de75 100644
|
|
--- a/cpan/Win32/Makefile.PL
|
|
+++ b/cpan/Win32/Makefile.PL
|
|
@@ -3,7 +3,7 @@ use strict;
|
|
use warnings;
|
|
use ExtUtils::MakeMaker;
|
|
|
|
-unless ($^O eq "MSWin32" || $^O eq "cygwin") {
|
|
+unless ($^O eq "MSWin32" || $^O eq "cygwin" || $^O eq "msys") {
|
|
die "OS unsupported\n";
|
|
}
|
|
|
|
@@ -24,6 +24,9 @@ $param{NO_META} = 1 if eval "$ExtUtils::MakeMaker::VERSION" >= 6.10_03;
|
|
if ($^O eq 'cygwin') {
|
|
$param{LIBS} = ['-L/lib/w32api -lole32 -lversion -luserenv -lnetapi32 -lwinhttp']
|
|
}
|
|
+elsif ($^O eq 'msys') {
|
|
+ $param{LIBS} = ['-L/usr/lib/w32api -lole32 -lversion -luserenv -lnetapi32 -lwinhttp']
|
|
+}
|
|
else {
|
|
$param{LIBS} = ['-luserenv -lwinhttp']
|
|
}
|
|
diff --git a/cpan/Win32/t/GetCurrentThreadId.t b/cpan/Win32/t/GetCurrentThreadId.t
|
|
index ce98f3e..aa0720c 100644
|
|
--- a/cpan/Win32/t/GetCurrentThreadId.t
|
|
+++ b/cpan/Win32/t/GetCurrentThreadId.t
|
|
@@ -10,7 +10,7 @@ plan tests => $tests;
|
|
|
|
my $pid = $$+0; # make sure we don't copy any magic to $pid
|
|
|
|
-if ($^O eq "cygwin") {
|
|
+if ($^O eq "cygwin" or $^O eq "msys") {
|
|
skip(!defined &Cygwin::pid_to_winpid,
|
|
Cygwin::pid_to_winpid($pid),
|
|
Win32::GetCurrentProcessId());
|
|
diff --git a/cpan/Win32/t/Unicode.t b/cpan/Win32/t/Unicode.t
|
|
index fa05188..c0f854d 100644
|
|
--- a/cpan/Win32/t/Unicode.t
|
|
+++ b/cpan/Win32/t/Unicode.t
|
|
@@ -47,7 +47,7 @@ sub cleanup {
|
|
cleanup();
|
|
END { cleanup() }
|
|
|
|
-plan tests => 12;
|
|
+plan tests => 11;
|
|
|
|
# Create Unicode directory
|
|
Win32::CreateDirectory($dir8);
|
|
@@ -87,13 +87,15 @@ ok(Win32::GetLongPathName($w32dir), $long);
|
|
|
|
# cwd() on Cygwin returns a mapped path that we need to translate
|
|
# back to a Windows path. Invoking `cygpath` on $subdir doesn't work.
|
|
-if ($^O eq "cygwin") {
|
|
+if ($^O eq "cygwin" or $^O eq "msys") {
|
|
$subdir = decode "UTF-8", Cygwin::posix_to_win_path($subdir, 1);
|
|
}
|
|
$subdir =~ s,/,\\,g;
|
|
-# Cygwin64 no longer returns an ANSI name
|
|
-skip($^O eq "cygwin", Win32::GetLongPathName($subdir), $long);
|
|
+#
|
|
+SKIP: {
|
|
+ skip("Cygwin64 no longer returns an ANSI name", 2) if $^O eq "cygwin";
|
|
|
|
-# We can chdir() into the Unicode directory if we use the ANSI name
|
|
-ok(chdir(Win32::GetANSIPathName($dir)));
|
|
-ok(Win32::GetLongPathName(Win32::GetCwd()), $long);
|
|
+ # We can chdir() into the Unicode directory if we use the ANSI name
|
|
+ ok(chdir(Win32::GetANSIPathName($dir)));
|
|
+ ok(Win32::GetLongPathName(Win32::GetCwd()), $long);
|
|
+}
|
|
diff --git a/cpan/Win32API-File/File.pm b/cpan/Win32API-File/File.pm
|
|
index 804a7f6..504cb1e 100644
|
|
--- a/cpan/Win32API-File/File.pm
|
|
+++ b/cpan/Win32API-File/File.pm
|
|
@@ -738,7 +738,7 @@ sub FILENO {
|
|
|
|
return $self->_fileno() if defined $self->_fileno();
|
|
|
|
- return -1 if $^O eq 'cygwin';
|
|
+ return -1 if ($^O eq 'cygwin' or $^O eq 'msys');
|
|
|
|
# FIXME: We don't always open the handle, better to query the handle or to set
|
|
# the right access info at TIEHANDLE time.
|
|
diff --git a/cpan/Win32API-File/Makefile.PL b/cpan/Win32API-File/Makefile.PL
|
|
index b0a0dc0..8e0894d 100644
|
|
--- a/cpan/Win32API-File/Makefile.PL
|
|
+++ b/cpan/Win32API-File/Makefile.PL
|
|
@@ -5,7 +5,7 @@ use Config;
|
|
use strict;
|
|
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
|
|
# the contents of the Makefile that is written.
|
|
-unless ($^O eq "MSWin32" || $^O eq "cygwin" || $^O eq "interix") { #not tested on Interix
|
|
+unless ($^O eq "MSWin32" || $^O eq "cygwin" || $^O eq "msys" || $^O eq "interix") { #not tested on Interix
|
|
die "OS unsupported\n";
|
|
}
|
|
|
|
diff --git a/cpan/Win32API-File/t/file.t b/cpan/Win32API-File/t/file.t
|
|
index 25450a5..119b69a 100644
|
|
--- a/cpan/Win32API-File/t/file.t
|
|
+++ b/cpan/Win32API-File/t/file.t
|
|
@@ -151,7 +151,7 @@ $ok= print APP "is enough\n";
|
|
$ok or print "# ",fileLastError(),"\n";
|
|
print $ok ? "" : "not ", "ok ", ++$test, "\n"; # ok 19
|
|
|
|
-SetFilePointer($h1, 0, [], FILE_BEGIN) if $^O eq 'cygwin';
|
|
+SetFilePointer($h1, 0, [], FILE_BEGIN) if ($^O eq 'cygwin' or $^O eq 'msys');
|
|
|
|
$ok= ReadFile( $h1, $text, 0, [], [] );
|
|
$ok or print "# ",fileLastError(),"\n";
|
|
@@ -166,7 +166,7 @@ if( !$ok ) {
|
|
print $ok ? "" : "not ", "ok ", ++$test, "\n"; # ok 21
|
|
|
|
$skip = "";
|
|
-if ($^O eq 'cygwin') {
|
|
+if ($^O eq 'cygwin' or $^O eq 'msys') {
|
|
$ok = 1;
|
|
$skip = " # skip cygwin can delete open files";
|
|
}
|
|
@@ -247,7 +247,7 @@ $ok= ! DeleteFile( "Moved.cp" )
|
|
$ok or print "# ",fileLastError(),"\n";
|
|
print $ok ? "" : "not ", "ok ", ++$test, "\n"; # ok 35
|
|
|
|
-if ($^O eq 'cygwin') {
|
|
+if ($^O eq 'cygwin' or $^O eq 'msys') {
|
|
chmod( 0200 | 07777 & (stat("Moved.cp"))[2], "Moved.cp" );
|
|
}
|
|
else {
|
|
@@ -343,7 +343,7 @@ if( !$ok ) {
|
|
print $ok ? "" : "not ", "ok ", ++$test, "\n"; # ok 49
|
|
|
|
my $path = $ENV{WINDIR};
|
|
-$ok= -f $let.substr($path,$^O eq 'cygwin'?2:3)."/win.ini";
|
|
+$ok= -f $let.substr($path,($^O eq 'cygwin' || $^O eq 'msys')?2:3)."/win.ini";
|
|
$ok or print "# ",$let.substr($path,3)."/win.ini ",fileLastError(),"\n";
|
|
print $ok ? "" : "not ", "ok ", ++$test, "\n"; # ok 50
|
|
|
|
diff --git a/cpan/autodie/t/chown.t b/cpan/autodie/t/chown.t
|
|
index 90c4d3b..7d118d4 100644
|
|
--- a/cpan/autodie/t/chown.t
|
|
+++ b/cpan/autodie/t/chown.t
|
|
@@ -4,7 +4,7 @@ use Test::More;
|
|
use constant NO_SUCH_FILE => "this_file_had_better_not_exist";
|
|
use autodie;
|
|
|
|
-if ($^O eq 'MSWin32') {
|
|
+if ($^O eq 'MSWin32' or $^O eq 'msys') {
|
|
plan skip_all => 'chown() seems to always succeed on Windows';
|
|
}
|
|
|
|
diff --git a/cpan/autodie/t/version_tag.t b/cpan/autodie/t/version_tag.t
|
|
index 4860a49..54c9e79 100644
|
|
--- a/cpan/autodie/t/version_tag.t
|
|
+++ b/cpan/autodie/t/version_tag.t
|
|
@@ -63,7 +63,7 @@ is($@,"","chown wasn't supported in 2.13");
|
|
|
|
SKIP: {
|
|
|
|
- if ($^O eq "MSWin32") { skip("chown() on Windows always succeeds.", 1) }
|
|
+ if ($^O eq "MSWin32" or $^O eq 'msys') { skip("chown() on Windows always succeeds.", 1) }
|
|
|
|
eval {
|
|
use autodie;
|
|
diff --git a/cpan/libnet/lib/Net/Domain.pm b/cpan/libnet/lib/Net/Domain.pm
|
|
index 7c017f2..19f5695 100644
|
|
--- a/cpan/libnet/lib/Net/Domain.pm
|
|
+++ b/cpan/libnet/lib/Net/Domain.pm
|
|
@@ -171,7 +171,7 @@ sub _hostdomain {
|
|
}
|
|
|
|
chop($dom = `domainname 2>/dev/null`)
|
|
- unless (defined $dom || $^O =~ /^(?:cygwin|MSWin32|android)/);
|
|
+ unless (defined $dom || $^O =~ /^(?:cygwin|msys|MSWin32|android)/);
|
|
|
|
if (defined $dom) {
|
|
my @h = ();
|
|
diff --git a/cpan/libnet/lib/Net/Netrc.pm b/cpan/libnet/lib/Net/Netrc.pm
|
|
index 3dec11e..7040f50 100644
|
|
--- a/cpan/libnet/lib/Net/Netrc.pm
|
|
+++ b/cpan/libnet/lib/Net/Netrc.pm
|
|
@@ -57,6 +57,7 @@ sub _readrc {
|
|
unless ($^O eq 'os2'
|
|
|| $^O eq 'MSWin32'
|
|
|| $^O eq 'MacOS'
|
|
+ || $^O =~ /^msys/
|
|
|| $^O =~ /^cygwin/)
|
|
{
|
|
my @stat = stat($file);
|
|
diff --git a/cpan/libnet/t/netrc.t b/cpan/libnet/t/netrc.t
|
|
index ba0183c..8e7c335 100644
|
|
--- a/cpan/libnet/t/netrc.t
|
|
+++ b/cpan/libnet/t/netrc.t
|
|
@@ -48,7 +48,7 @@ $Net::Netrc::TESTING=$Net::Netrc::TESTING=1;
|
|
|
|
SKIP: {
|
|
skip('incompatible stat() handling for OS', 4), next SKIP
|
|
- if $^O =~ /os2|win32|macos|cygwin/i;
|
|
+ if $^O =~ /os2|win32|macos|cygwin|msys/i;
|
|
|
|
my $warn;
|
|
local $SIG{__WARN__} = sub {
|
|
diff --git a/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/msys.pm b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/msys.pm
|
|
new file mode 100644
|
|
index 0000000..dd060cd
|
|
--- /dev/null
|
|
+++ b/dist/ExtUtils-CBuilder/lib/ExtUtils/CBuilder/Platform/msys.pm
|
|
@@ -0,0 +1,33 @@
|
|
+package ExtUtils::CBuilder::Platform::msys;
|
|
+
|
|
+use warnings;
|
|
+use strict;
|
|
+use File::Spec;
|
|
+use ExtUtils::CBuilder::Platform::Unix;
|
|
+
|
|
+our $VERSION = '0.280230'; # VERSION
|
|
+our @ISA = qw(ExtUtils::CBuilder::Platform::Unix);
|
|
+
|
|
+# TODO: If a specific exe_file name is requested, if the exe created
|
|
+# doesn't have that name, we might want to rename it. Apparently asking
|
|
+# for an exe of "foo" might result in "foo.exe". Alternatively, we should
|
|
+# make sure the return value is correctly "foo.exe".
|
|
+# C.f http://rt.cpan.org/Public/Bug/Display.html?id=41003
|
|
+sub link_executable {
|
|
+ my $self = shift;
|
|
+ return $self->SUPER::link_executable(@_);
|
|
+}
|
|
+
|
|
+sub link {
|
|
+ my ($self, %args) = @_;
|
|
+
|
|
+ my $lib = $self->{config}{useshrplib} ? 'libperl.dll.a' : 'libperl.a';
|
|
+ $args{extra_linker_flags} = [
|
|
+ File::Spec->catfile($self->perl_inc(), $lib),
|
|
+ $self->split_like_shell($args{extra_linker_flags})
|
|
+ ];
|
|
+
|
|
+ return $self->SUPER::link(%args);
|
|
+}
|
|
+
|
|
+1;
|
|
diff --git a/dist/IO/t/cachepropagate-unix.t b/dist/IO/t/cachepropagate-unix.t
|
|
index 718d01d..df1f3ad 100644
|
|
--- a/dist/IO/t/cachepropagate-unix.t
|
|
+++ b/dist/IO/t/cachepropagate-unix.t
|
|
@@ -50,7 +50,7 @@ my $p = $listener->protocol();
|
|
# This is a TODO instead of a skip so if these ever implement SO_PROTOCOL
|
|
# we'll be notified about the passing TODO so the test can be updated.
|
|
local $TODO = "$^O doesn't support SO_PROTOCOL on AF_UNIX"
|
|
- if $^O =~ /^(netbsd|darwin|cygwin|hpux|solaris|dragonfly|os390|gnu)$/;
|
|
+ if $^O =~ /^(netbsd|darwin|cygwin|msys|hpux|solaris|dragonfly|os390|gnu)$/;
|
|
ok(defined($p), 'protocol defined');
|
|
}
|
|
my $d = $listener->sockdomain();
|
|
@@ -105,7 +105,7 @@ SKIP: {
|
|
{
|
|
# see comment above
|
|
local $TODO = "$^O doesn't support SO_PROTOCOL on AF_UNIX"
|
|
- if $^O =~ /^(netbsd|darwin|cygwin|hpux|solaris|dragonfly|os390|gnu)$/;
|
|
+ if $^O =~ /^(netbsd|darwin|cygwin|msys|hpux|solaris|dragonfly|os390|gnu)$/;
|
|
ok(defined($p), 'protocol defined');
|
|
}
|
|
$d = $listener->sockdomain();
|
|
diff --git a/dist/IO/t/io_xs.t b/dist/IO/t/io_xs.t
|
|
index c9b8836..e21e9d3 100644
|
|
--- a/dist/IO/t/io_xs.t
|
|
+++ b/dist/IO/t/io_xs.t
|
|
@@ -52,6 +52,8 @@ SKIP:
|
|
and skip "fsync() documented to fail on non-writable handles on $^O", 1;
|
|
$^O eq 'cygwin'
|
|
and skip "fsync() on cygwin uses FlushFileBuffers which requires a writable handle", 1;
|
|
+ $^O eq 'msys'
|
|
+ and skip "fsync() on msys uses FlushFileBuffers which requires a writable handle", 1;
|
|
$^O eq 'VMS'
|
|
and skip "fsync() not allowed on a read-only handle on $^O", 1;
|
|
open my $fh, "<", "t/io_xs.t"
|
|
diff --git a/dist/Net-Ping/lib/Net/Ping.pm b/dist/Net-Ping/lib/Net/Ping.pm
|
|
index 19bb51e..ef10b04 100644
|
|
--- a/dist/Net-Ping/lib/Net/Ping.pm
|
|
+++ b/dist/Net-Ping/lib/Net/Ping.pm
|
|
@@ -420,15 +420,15 @@ sub retrans
|
|
}
|
|
|
|
sub _IsAdminUser {
|
|
- return unless $^O eq 'MSWin32' or $^O eq "cygwin";
|
|
+ return unless $^O eq 'MSWin32' or $^O eq "cygwin" or $^O eq "msys";
|
|
return unless eval { require Win32 };
|
|
return unless defined &Win32::IsAdminUser;
|
|
return Win32::IsAdminUser();
|
|
}
|
|
|
|
sub _isroot {
|
|
- if (($> and $^O ne 'VMS' and $^O ne 'cygwin')
|
|
- or (($^O eq 'MSWin32' or $^O eq 'cygwin')
|
|
+ if (($> and $^O ne 'VMS' and $^O ne 'cygwin' and $^O ne 'msys')
|
|
+ or (($^O eq 'MSWin32' or $^O eq 'cygwin' or $^O eq 'msys')
|
|
and !_IsAdminUser())
|
|
or ($^O eq 'VMS'
|
|
and (`write sys\$output f\$privilege("SYSPRV")` =~ m/FALSE/))) {
|
|
@@ -974,7 +974,7 @@ sub tcp_connect
|
|
# This should set $! to the correct error.
|
|
my $char;
|
|
sysread($self->{fh},$char,1);
|
|
- $! = ECONNREFUSED if ($! == EAGAIN && $^O =~ /cygwin/i);
|
|
+ $! = ECONNREFUSED if ($! == EAGAIN && $^O =~ /cygwin|msys/i);
|
|
|
|
$ret = 1 if (!$self->{econnrefused}
|
|
&& $! == ECONNREFUSED);
|
|
@@ -1616,7 +1616,7 @@ sub ack
|
|
$self->{bad}->{$entry->[0]} = $!;
|
|
if (!$self->{econnrefused} &&
|
|
(($! == ECONNREFUSED) ||
|
|
- ($! == EAGAIN && $^O =~ /cygwin/i))) {
|
|
+ ($! == EAGAIN && $^O =~ /cygwin|msys/i))) {
|
|
# "Connection refused" means reachable
|
|
# Good, continue
|
|
} else {
|
|
diff --git a/dist/Net-Ping/t/001_new.t b/dist/Net-Ping/t/001_new.t
|
|
index 46965b7..4703a14 100644
|
|
--- a/dist/Net-Ping/t/001_new.t
|
|
+++ b/dist/Net-Ping/t/001_new.t
|
|
@@ -60,7 +60,7 @@ SKIP: {
|
|
eval { $p = Net::Ping->new('icmp'); };
|
|
skip "icmp ping requires root privileges.", 3
|
|
if !Net::Ping::_isroot() or $^O eq 'MSWin32';
|
|
- if($> and $^O ne 'VMS' and $^O ne 'cygwin') {
|
|
+ if($> and $^O ne 'VMS' and $^O ne 'cygwin' and $^O ne 'msys') {
|
|
like($@, qr/icmp ping requires root privilege/, "Need root for icmp");
|
|
skip "icmp tests require root", 2;
|
|
} else {
|
|
diff --git a/dist/Net-Ping/t/450_service.t b/dist/Net-Ping/t/450_service.t
|
|
index 203d86b..9246a21 100644
|
|
--- a/dist/Net-Ping/t/450_service.t
|
|
+++ b/dist/Net-Ping/t/450_service.t
|
|
@@ -78,7 +78,7 @@ is($p->ping("127.0.0.1"), 1, 'first port is reachable');
|
|
$p->{port_num} = $port2;
|
|
|
|
{
|
|
- local $TODO = "Believed not to work on $^O" if $^O =~ /^(?:MSWin32|os390)$/;
|
|
+ local $TODO = "Believed not to work on $^O" if $^O =~ /^(?:MSWin32|msys|os390)$/;
|
|
is($p->ping("127.0.0.1"), 1, 'second port is reachable');
|
|
}
|
|
|
|
@@ -133,7 +133,7 @@ SKIP: {
|
|
|
|
{
|
|
local $TODO = "Believed not to work on $^O"
|
|
- if $^O =~ /^(?:MSWin32|os390)$/;
|
|
+ if $^O =~ /^(?:MSWin32|msys|os390)$/;
|
|
is($p->ack(), '127.0.0.1', 'IP should be reachable');
|
|
}
|
|
}
|
|
diff --git a/dist/Net-Ping/t/510_ping_udp.t b/dist/Net-Ping/t/510_ping_udp.t
|
|
index 9454736..1756060 100644
|
|
--- a/dist/Net-Ping/t/510_ping_udp.t
|
|
+++ b/dist/Net-Ping/t/510_ping_udp.t
|
|
@@ -4,7 +4,7 @@ use strict;
|
|
use Config;
|
|
|
|
sub isWindowsVista {
|
|
- return unless $^O eq 'MSWin32' or $^O eq "cygwin";
|
|
+ return unless $^O eq 'MSWin32' or $^O eq "cygwin" or $^O eq "msys";
|
|
return unless eval { require Win32 };
|
|
return unless defined &Win32::GetOSVersion();
|
|
|
|
diff --git a/dist/PathTools/Cwd.pm b/dist/PathTools/Cwd.pm
|
|
index 0683583..68b11b6 100644
|
|
--- a/dist/PathTools/Cwd.pm
|
|
+++ b/dist/PathTools/Cwd.pm
|
|
@@ -135,6 +135,15 @@ my %METHOD_MAP =
|
|
realpath => 'fast_abs_path',
|
|
},
|
|
|
|
+ msys =>
|
|
+ {
|
|
+ getcwd => 'cwd',
|
|
+ fastgetcwd => 'cwd',
|
|
+ fastcwd => 'cwd',
|
|
+ abs_path => 'fast_abs_path',
|
|
+ realpath => 'fast_abs_path',
|
|
+ },
|
|
+
|
|
amigaos =>
|
|
{
|
|
getcwd => '_backtick_pwd',
|
|
@@ -217,7 +226,7 @@ unless ($METHOD_MAP{$^O}{cwd} or defined &cwd) {
|
|
}
|
|
}
|
|
|
|
-if ($^O eq 'cygwin') {
|
|
+if ($^O eq 'cygwin' || $^O eq 'msys') {
|
|
# We need to make sure cwd() is called with no args, because it's
|
|
# got an arg-less prototype and will die if args are present.
|
|
local $^W = 0;
|
|
@@ -318,7 +327,7 @@ sub chdir_init {
|
|
|
|
sub chdir {
|
|
my $newdir = @_ ? shift : ''; # allow for no arg (chdir to HOME dir)
|
|
- if ($^O eq "cygwin") {
|
|
+ if ($^O eq "cygwin" || $^O eq "msys") {
|
|
$newdir =~ s|\A///+|//|;
|
|
$newdir =~ s|(?<=[^/])//+|/|g;
|
|
}
|
|
diff --git a/dist/PathTools/lib/File/Spec.pm b/dist/PathTools/lib/File/Spec.pm
|
|
index e0a49ed..df03121 100644
|
|
--- a/dist/PathTools/lib/File/Spec.pm
|
|
+++ b/dist/PathTools/lib/File/Spec.pm
|
|
@@ -13,6 +13,7 @@ my %module = (
|
|
symbian => 'Win32', # Yes, File::Spec::Win32 works on symbian.
|
|
dos => 'OS2', # Yes, File::Spec::OS2 works on DJGPP.
|
|
cygwin => 'Cygwin',
|
|
+ msys => 'Cygwin',
|
|
amigaos => 'AmigaOS');
|
|
|
|
|
|
diff --git a/dist/PathTools/lib/File/Spec/Cygwin.pm b/dist/PathTools/lib/File/Spec/Cygwin.pm
|
|
index e21c0bb..427ce03 100644
|
|
--- a/dist/PathTools/lib/File/Spec/Cygwin.pm
|
|
+++ b/dist/PathTools/lib/File/Spec/Cygwin.pm
|
|
@@ -117,12 +117,12 @@ Default: 1
|
|
=cut
|
|
|
|
sub case_tolerant {
|
|
- return 1 unless $^O eq 'cygwin'
|
|
+ return 1 unless ($^O eq 'cygwin' || $^O eq 'msys')
|
|
and defined &Cygwin::mount_flags;
|
|
|
|
my $drive = shift;
|
|
if (! $drive) {
|
|
- my @flags = split(/,/, Cygwin::mount_flags('/cygwin'));
|
|
+ my @flags = split(/,/, Cygwin::mount_flags('/msys'));
|
|
my $prefix = pop(@flags);
|
|
if (! $prefix || $prefix eq 'cygdrive') {
|
|
$drive = '/cygdrive/c';
|
|
diff --git a/dist/PathTools/lib/File/Spec/Unix.pm b/dist/PathTools/lib/File/Spec/Unix.pm
|
|
index 52904b4..e771c5f 100644
|
|
--- a/dist/PathTools/lib/File/Spec/Unix.pm
|
|
+++ b/dist/PathTools/lib/File/Spec/Unix.pm
|
|
@@ -57,7 +57,7 @@ sub _pp_canonpath {
|
|
$node = $1;
|
|
}
|
|
# This used to be
|
|
- # $path =~ s|/+|/|g unless ($^O eq 'cygwin');
|
|
+ # $path =~ s|/+|/|g unless ($^O eq 'cygwin' || $^O eq 'msys');
|
|
# but that made tests 29, 30, 35, 46, and 213 (as of #13272) to fail
|
|
# (Mainly because trailing "" directories didn't get stripped).
|
|
# Why would cygwin avoid collapsing multiple slashes into one? --jhi
|
|
diff --git a/dist/PathTools/t/crossplatform.t b/dist/PathTools/t/crossplatform.t
|
|
index b7c76fc..6a42af3 100644
|
|
--- a/dist/PathTools/t/crossplatform.t
|
|
+++ b/dist/PathTools/t/crossplatform.t
|
|
@@ -6,7 +6,7 @@ use lib File::Spec->catfile('t', 'lib');
|
|
use Test::More;
|
|
local $|=1;
|
|
|
|
-my @platforms = qw(Cygwin Epoc Mac OS2 Unix VMS Win32);
|
|
+my @platforms = qw(Cygwin Msys Epoc Mac OS2 Unix VMS Win32);
|
|
my $tests_per_platform = 10;
|
|
|
|
my $vms_unix_rpt = 0;
|
|
diff --git a/dist/PathTools/t/cwd.t b/dist/PathTools/t/cwd.t
|
|
index d155e33..ebdd7f2 100644
|
|
--- a/dist/PathTools/t/cwd.t
|
|
+++ b/dist/PathTools/t/cwd.t
|
|
@@ -41,7 +41,7 @@ if ($IsVMS) {
|
|
my $tests = 31;
|
|
# _perl_abs_path() currently only works when the directory separator
|
|
# is '/', so don't test it when it won't work.
|
|
-my $EXTRA_ABSPATH_TESTS = ($Config{prefix} =~ m/\//) && $^O ne 'cygwin';
|
|
+my $EXTRA_ABSPATH_TESTS = ($Config{prefix} =~ m/\//) && $^O ne 'cygwin' && $^O ne 'msys';
|
|
$tests += 4 if $EXTRA_ABSPATH_TESTS;
|
|
plan tests => $tests;
|
|
|
|
diff --git a/dist/PathTools/t/cwd_enoent.t b/dist/PathTools/t/cwd_enoent.t
|
|
index 0fe3834..32c2b7d 100644
|
|
--- a/dist/PathTools/t/cwd_enoent.t
|
|
+++ b/dist/PathTools/t/cwd_enoent.t
|
|
@@ -6,7 +6,7 @@ use Errno qw();
|
|
use File::Temp qw(tempdir);
|
|
use Test::More;
|
|
|
|
-if($^O eq "cygwin") {
|
|
+if($^O eq "cygwin" || $^O eq "msys") {
|
|
# This test skipping should be removed when the Cygwin bug is fixed.
|
|
plan skip_all => "getcwd() fails to fail on Cygwin [perl #132733]";
|
|
}
|
|
@@ -24,7 +24,7 @@ foreach my $type (qw(regular perl)) {
|
|
SKIP: {
|
|
skip "_perl_abs_path() not expected to work", 4
|
|
if $type eq "perl" &&
|
|
- !(($Config{prefix} =~ m/\//) && $^O ne "cygwin");
|
|
+ !(($Config{prefix} =~ m/\//) && $^O ne "cygwin" && $^O ne "msys");
|
|
|
|
# https://github.com/Perl/perl5/issues/16525
|
|
# https://bugs.dragonflybsd.org/issues/3250
|
|
diff --git a/dist/Storable/stacksize b/dist/Storable/stacksize
|
|
index 2896684..c9247bf 100644
|
|
--- a/dist/Storable/stacksize
|
|
+++ b/dist/Storable/stacksize
|
|
@@ -168,7 +168,7 @@ $max_depth = int(0.6 * $max_depth);
|
|
$max_depth_hash = int(0.6 * $max_depth_hash);
|
|
|
|
my $stack_reserve = $^O eq "MSWin32" ? 32 : 16;
|
|
-if ($] ge "5.016" && !($^O eq "cygwin" && $ptrsize == 8)) {
|
|
+if ($] ge "5.016" && !(($^O eq "cygwin" || $^O eq "msys") && $ptrsize == 8)) {
|
|
$max_depth -= $stack_reserve;
|
|
$max_depth_hash -= $stack_reserve;
|
|
}
|
|
diff --git a/dist/Term-ReadLine/t/ReadLine-STDERR.t b/dist/Term-ReadLine/t/ReadLine-STDERR.t
|
|
index 2bdf799..3637dc0 100644
|
|
--- a/dist/Term-ReadLine/t/ReadLine-STDERR.t
|
|
+++ b/dist/Term-ReadLine/t/ReadLine-STDERR.t
|
|
@@ -30,7 +30,7 @@ SKIP:
|
|
is_deeply \@out, [ q{/dev/tty}, q{/dev/tty} ], "findConsole is using /dev/tty";
|
|
}
|
|
|
|
-{
|
|
+SKIP: {
|
|
no warnings 'redefine';
|
|
my $donotexist = q[/this/should/not/exist/hopefully];
|
|
|
|
@@ -40,6 +40,7 @@ SKIP:
|
|
*Term::ReadLine::Stub::devtty = sub { $donotexist };
|
|
is( Term::ReadLine->devtty(), $donotexist, "devtty mocked" );
|
|
|
|
+ skip('console is CONIN$/CONOUT$ in MSYS2, not /dev/tty', 3) if $^O eq 'msys';
|
|
my @out = Term::ReadLine::Stub::findConsole();
|
|
is_deeply \@out, [ q{&STDIN}, q{&STDERR} ], "findConsole isn't using /dev/tty" or diag explain \@out;
|
|
|
|
diff --git a/dist/Time-HiRes/Makefile.PL b/dist/Time-HiRes/Makefile.PL
|
|
index e5ba503..97b5903 100644
|
|
--- a/dist/Time-HiRes/Makefile.PL
|
|
+++ b/dist/Time-HiRes/Makefile.PL
|
|
@@ -23,7 +23,7 @@ our $self; # Used in 'sourcing' the hints.
|
|
|
|
# TBD: Can we just use $Config(exe_ext) here instead of this complex
|
|
# expression?
|
|
-my $ld_exeext = ($^O eq 'cygwin' ||
|
|
+my $ld_exeext = ($^O eq 'cygwin' || $^O eq 'msys' ||
|
|
$^O eq 'os2' && $Config{ldflags} =~ /-Zexe\b/) ? '.exe' :
|
|
(($^O eq 'vos') ? $Config{exe_ext} : '');
|
|
|
|
@@ -829,7 +829,7 @@ EOM
|
|
|
|
my $has_w32api_windows_h;
|
|
|
|
- if ($^O eq 'cygwin') {
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys') {
|
|
print "Looking for <w32api/windows.h>... ";
|
|
if (has_include('w32api/windows.h')) {
|
|
$has_w32api_windows_h++;
|
|
diff --git a/dist/Time-HiRes/t/stat.t b/dist/Time-HiRes/t/stat.t
|
|
index 1f1fa96..4f33e37 100644
|
|
--- a/dist/Time-HiRes/t/stat.t
|
|
+++ b/dist/Time-HiRes/t/stat.t
|
|
@@ -6,7 +6,7 @@ BEGIN {
|
|
require Test::More;
|
|
Test::More::plan(skip_all => "no hi-res stat");
|
|
}
|
|
- if($^O =~ /\A(?:cygwin|MSWin)/) {
|
|
+ if($^O =~ /\A(?:cygwin|msys|MSWin)/) {
|
|
require Test::More;
|
|
Test::More::plan(skip_all =>
|
|
"$^O file timestamps not reliable enough for stat test");
|
|
diff --git a/dist/Time-HiRes/t/utime.t b/dist/Time-HiRes/t/utime.t
|
|
index 8a4f071..117a6af 100644
|
|
--- a/dist/Time-HiRes/t/utime.t
|
|
+++ b/dist/Time-HiRes/t/utime.t
|
|
@@ -127,7 +127,7 @@ use Config;
|
|
my $atime = 1.111111111;
|
|
my $mtime = 2.222222222;
|
|
|
|
-if ($^O eq 'cygwin') {
|
|
+if ($^O eq 'cygwin' || $^O eq 'msys') {
|
|
# Cygwin timestamps have less precision.
|
|
$atime = 1.1111111;
|
|
$mtime = 2.2222222;
|
|
diff --git a/dist/XSLoader/XSLoader_pm.PL b/dist/XSLoader/XSLoader_pm.PL
|
|
index af5586a..c31171e 100644
|
|
--- a/dist/XSLoader/XSLoader_pm.PL
|
|
+++ b/dist/XSLoader/XSLoader_pm.PL
|
|
@@ -80,7 +80,7 @@ my $to_print = <<'EOT';
|
|
EOT
|
|
|
|
$to_print =~ s~regexp~
|
|
- $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'amigaos'
|
|
+ $^O eq 'MSWin32' || $^O eq 'os2' || $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'amigaos'
|
|
? '^(?:[A-Za-z]:)?[\\\/]' # Optional drive letter
|
|
: '^/'
|
|
~e;
|
|
diff --git a/ext/DynaLoader/DynaLoader_pm.PL b/ext/DynaLoader/DynaLoader_pm.PL
|
|
index 93a858a..c881f91 100644
|
|
--- a/ext/DynaLoader/DynaLoader_pm.PL
|
|
+++ b/ext/DynaLoader/DynaLoader_pm.PL
|
|
@@ -484,6 +484,9 @@ sub dl_findfile {
|
|
<<$^O-eq-cygwin>>
|
|
push(@names,"cyg$_.$dl_so") unless m:/:;
|
|
<</$^O-eq-cygwin>>
|
|
+ <<$^O-eq-msys>>
|
|
+ push(@names,"msys-$_.$dl_so") unless m:/:;
|
|
+ <</$^O-eq-msys>>
|
|
push(@names,"lib$_.$dl_so") unless m:/:;
|
|
push(@names, $_);
|
|
}
|
|
diff --git a/ext/DynaLoader/t/DynaLoader.t b/ext/DynaLoader/t/DynaLoader.t
|
|
index 11b37b5..6b6287f 100644
|
|
--- a/ext/DynaLoader/t/DynaLoader.t
|
|
+++ b/ext/DynaLoader/t/DynaLoader.t
|
|
@@ -119,7 +119,7 @@ SKIP: {
|
|
# (not at least by that name) that the dl_findfile()
|
|
# could find.
|
|
skip( "dl_findfile test not appropriate on $^O", 1 )
|
|
- if $^O =~ /(win32|vms|openbsd|bitrig|cygwin|vos|os390)/i;
|
|
+ if $^O =~ /(win32|vms|openbsd|bitrig|cygwin|msys|vos|os390)/i;
|
|
# Play safe and only try this test if this system
|
|
# looks pretty much Unix-like.
|
|
skip( "dl_findfile test not appropriate on $^O", 1 )
|
|
diff --git a/ext/File-Find/t/find.t b/ext/File-Find/t/find.t
|
|
index add20c2..1a50632 100644
|
|
--- a/ext/File-Find/t/find.t
|
|
+++ b/ext/File-Find/t/find.t
|
|
@@ -12,7 +12,7 @@ BEGIN {
|
|
}
|
|
$SIG{'__WARN__'} = sub { $warn_msg = $_[0]; warn "# $_[0]"; };
|
|
|
|
- if ($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'VMS') {
|
|
+ if ($^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'VMS') {
|
|
# This is a hack - at present File::Find does not produce native names
|
|
# on Win32 or VMS, so force File::Spec to use Unix names.
|
|
# must be set *before* importing File::Find
|
|
diff --git a/ext/File-Glob/t/basic.t b/ext/File-Glob/t/basic.t
|
|
index 412fe7e..3c59e42 100644
|
|
--- a/ext/File-Glob/t/basic.t
|
|
+++ b/ext/File-Glob/t/basic.t
|
|
@@ -141,7 +141,7 @@ SKIP: {
|
|
# should return an empty list, and set ERROR
|
|
SKIP: {
|
|
skip $^O, 2 if $^O eq 'MSWin32'
|
|
- or $^O eq 'os2' or $^O eq 'VMS' or $^O eq 'cygwin';
|
|
+ or $^O eq 'os2' or $^O eq 'VMS' or $^O eq 'cygwin' or $^O eq 'msys';
|
|
skip "AFS", 2 if Cwd::cwd() =~ m#^$Config{'afsroot'}#s;
|
|
skip "running as root", 2 if not $>;
|
|
|
|
diff --git a/ext/NDBM_File/Makefile.PL b/ext/NDBM_File/Makefile.PL
|
|
index fe2cb40..85e6f30 100644
|
|
--- a/ext/NDBM_File/Makefile.PL
|
|
+++ b/ext/NDBM_File/Makefile.PL
|
|
@@ -1,7 +1,7 @@
|
|
use ExtUtils::MakeMaker;
|
|
WriteMakefile(
|
|
NAME => 'NDBM_File',
|
|
- LIBS => ["-L/usr/local/lib -lndbm", "-ldbm -lucb"],
|
|
+ LIBS => ["-lgdbm -lgdbm_compat"],
|
|
XSPROTOARG => '-noprototypes', # XXX remove later?
|
|
VERSION_FROM => 'NDBM_File.pm',
|
|
);
|
|
diff --git a/ext/ODBM_File/Makefile.PL b/ext/ODBM_File/Makefile.PL
|
|
index 0ae31f9..76f8f4f 100644
|
|
--- a/ext/ODBM_File/Makefile.PL
|
|
+++ b/ext/ODBM_File/Makefile.PL
|
|
@@ -1,7 +1,7 @@
|
|
use ExtUtils::MakeMaker;
|
|
WriteMakefile(
|
|
NAME => 'ODBM_File',
|
|
- LIBS => ["-ldbm -lucb"],
|
|
+ LIBS => ["-lgdbm -lgdbm_compat"],
|
|
XSPROTOARG => '-noprototypes', # XXX remove later?
|
|
VERSION_FROM => 'ODBM_File.pm',
|
|
);
|
|
diff --git a/ext/POSIX/Makefile.PL b/ext/POSIX/Makefile.PL
|
|
index 462b8ed..1ec91f3 100644
|
|
--- a/ext/POSIX/Makefile.PL
|
|
+++ b/ext/POSIX/Makefile.PL
|
|
@@ -20,7 +20,7 @@ if ($^O eq 'solaris') {
|
|
if ($^O eq 'aix' && $Config{uselongdouble}) {
|
|
push @libs, qw(c128);
|
|
}
|
|
-if ($^O eq 'cygwin' && $Config{usequadmath}) {
|
|
+if (($^O eq 'cygwin' || $^O eq 'msys') && $Config{usequadmath}) {
|
|
push @libs, qw(quadmath);
|
|
}
|
|
WriteMakefile(
|
|
diff --git a/ext/POSIX/t/sysconf.t b/ext/POSIX/t/sysconf.t
|
|
index 8644274..8f15be1 100644
|
|
--- a/ext/POSIX/t/sysconf.t
|
|
+++ b/ext/POSIX/t/sysconf.t
|
|
@@ -164,7 +164,7 @@ END {
|
|
}
|
|
|
|
SKIP: {
|
|
- if($^O eq 'cygwin') {
|
|
+ if($^O eq 'cygwin' or $^O eq 'msys') {
|
|
pop @sys_consts;
|
|
skip("No _SC_TZNAME_MAX on Cygwin", 1);
|
|
}
|
|
diff --git a/ext/POSIX/t/time.t b/ext/POSIX/t/time.t
|
|
index 6190e38..f85182a 100644
|
|
--- a/ext/POSIX/t/time.t
|
|
+++ b/ext/POSIX/t/time.t
|
|
@@ -22,7 +22,7 @@ SKIP: {
|
|
# actually do anything. Cygwin works in some places, but not others. The
|
|
# other Win32's below are guesses.
|
|
skip "No tzset()", 2
|
|
- if $^O eq "VMS" || $^O eq "cygwin" ||
|
|
+ if $^O eq "VMS" || $^O eq "cygwin" || $^O eq "msys" ||
|
|
$^O eq "MSWin32" || $^O eq "interix";
|
|
tzset();
|
|
my @tzname = tzname();
|
|
diff --git a/ext/POSIX/t/wrappers.t b/ext/POSIX/t/wrappers.t
|
|
index e41b319..b26b203 100644
|
|
--- a/ext/POSIX/t/wrappers.t
|
|
+++ b/ext/POSIX/t/wrappers.t
|
|
@@ -179,7 +179,9 @@ foreach ([undef, 0, 'chdir', NOT_HERE],
|
|
my $func = do {no strict 'refs'; \&{"POSIX::$name"}};
|
|
|
|
SKIP: {
|
|
+ skip("chown() does not work with MSYS2", 2) if $name eq 'chown' and $^O eq 'msys';
|
|
skip("$name() is not available", 2) if $skip && !$Config{$skip};
|
|
+
|
|
$! = 0;
|
|
is(&$func(@args), $expect, $name);
|
|
isnt($!, '', "$name reported an error");
|
|
diff --git a/ext/Win32CORE/t/win32core.t b/ext/Win32CORE/t/win32core.t
|
|
index 8ef8cd0..ad0d7f0 100644
|
|
--- a/ext/Win32CORE/t/win32core.t
|
|
+++ b/ext/Win32CORE/t/win32core.t
|
|
@@ -24,8 +24,8 @@ ok(eval { Win32::GetLastError(); 1 }, 'GetLastError() works on the first call');
|
|
my $errno = 0 + $!;
|
|
my $sys_errno = 0 + $^E;
|
|
SKIP: {
|
|
- $^O eq "cygwin"
|
|
- and skip q($^E isn't useful on cygwin), 1;
|
|
+ $^O eq "cygwin" || $^O eq 'msys'
|
|
+ and skip q($^E isn't useful on cygwin/msys), 1;
|
|
# [perl #42925] - Loading Win32::GetLastError() via the forwarder function
|
|
# should not affect the last error being retrieved
|
|
is($sys_errno, 42, '$^E is preserved across Win32 autoload');
|
|
diff --git a/ext/XS-APItest/t/call_checker.t b/ext/XS-APItest/t/call_checker.t
|
|
index d39a059..919cdc0 100644
|
|
--- a/ext/XS-APItest/t/call_checker.t
|
|
+++ b/ext/XS-APItest/t/call_checker.t
|
|
@@ -6,7 +6,7 @@ use XS::APItest;
|
|
|
|
{
|
|
local $TODO = "[perl #78502] function pointers don't match on cygwin"
|
|
- if $^O eq "cygwin";
|
|
+ if ($^O eq "cygwin" || $^O eq "msys");
|
|
ok( eval { XS::APItest::test_cv_getset_call_checker(); 1 },
|
|
"test_cv_getset_call_checker() works as expected")
|
|
or diag $@;
|
|
diff --git a/haiku/Haiku/Makefile.PL b/haiku/Haiku/Makefile.PL
|
|
index dacf230..fa335a0 100644
|
|
--- a/haiku/Haiku/Makefile.PL
|
|
+++ b/haiku/Haiku/Makefile.PL
|
|
@@ -6,7 +6,7 @@ unless ($^O eq "haiku") {
|
|
}
|
|
|
|
#my @libs;
|
|
-#push @libs, '-L/lib/w32api -lole32 -lversion' if $^O eq "cygwin";
|
|
+#push @libs, '-L/lib/w32api -lole32 -lversion' if ($^O eq "cygwin" or $^O eq "msys");
|
|
|
|
WriteMakefile(
|
|
NAME => 'Haiku',
|
|
diff --git a/hints/msys.sh b/hints/msys.sh
|
|
new file mode 100644
|
|
index 0000000..4a757e0
|
|
--- /dev/null
|
|
+++ b/hints/msys.sh
|
|
@@ -0,0 +1,98 @@
|
|
+#! /bin/sh
|
|
+# msys.sh - hints for building perl using the MSYS environment for Win32
|
|
+#
|
|
+
|
|
+# not otherwise settable
|
|
+exe_ext='.exe'
|
|
+firstmakefile='GNUmakefile'
|
|
+case "$ldlibpthname" in
|
|
+'') ldlibpthname=PATH ;;
|
|
+esac
|
|
+archobjs='cygwin.o'
|
|
+
|
|
+# mandatory (overrides incorrect defaults)
|
|
+test -z "$cc" && cc='gcc'
|
|
+if test -z "$plibpth"
|
|
+then
|
|
+ plibpth=`gcc -print-file-name=libc.a`
|
|
+ plibpth=`dirname $plibpth`
|
|
+ plibpth=`cd $plibpth && pwd`
|
|
+fi
|
|
+so='dll'
|
|
+# - eliminate -lc, implied by gcc and a symlink to libmsys-2.0.a
|
|
+libswanted=`echo " $libswanted " | sed -e 's/ c / /g'`
|
|
+# - eliminate -lm, symlink to libmsys-2.0.a
|
|
+libswanted=`echo " $libswanted " | sed -e 's/ m / /g'`
|
|
+# - eliminate -lutil, symbols are all in libmsys-2.0.a
|
|
+libswanted=`echo " $libswanted " | sed -e 's/ util / /g'`
|
|
+ignore_versioned_solibs='y'
|
|
+usenm='no'
|
|
+libc='/usr/lib/libmsys-2.0.a'
|
|
+loclibpth=' '
|
|
+glibpth=' '
|
|
+plibpth=' '
|
|
+libpth=' '
|
|
+PATH='.:/usr/bin/'
|
|
+# - add libgdbm_compat $libswanted
|
|
+libswanted="$libswanted gdbm_compat"
|
|
+test -z "$optimize" && optimize='-O3'
|
|
+man3ext='3pm'
|
|
+test -z "$use64bitint" && use64bitint='define'
|
|
+test -z "$usethreads" && usethreads='define'
|
|
+test -z "$usemymalloc" && usemymalloc='undef'
|
|
+ccflags="$ccflags -DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -D_GNU_SOURCE"
|
|
+# - otherwise i686-msys
|
|
+archname='msys'
|
|
+
|
|
+# dynamic loading
|
|
+# - otherwise -fpic
|
|
+cccdlflags=' '
|
|
+lddlflags=' --shared'
|
|
+test -z "$ld" && ld='g++'
|
|
+
|
|
+case "$osvers" in
|
|
+ # Configure gets these wrong if the IPC server isn't yet running:
|
|
+ # only use for 1.5.7 and onwards
|
|
+ [2-9]*|1.[6-9]*|1.[1-5][0-9]*|1.5.[7-9]*|1.5.[1-6][0-9]*)
|
|
+ d_semctl_semid_ds='define'
|
|
+ d_semctl_semun='define'
|
|
+ ;;
|
|
+esac
|
|
+
|
|
+case "$osvers" in
|
|
+ [2-9]*|1.[6-9]*)
|
|
+ # IPv6 only since 1.7
|
|
+ d_inetntop='define'
|
|
+ d_inetpton='define'
|
|
+ ;;
|
|
+ *)
|
|
+ # IPv6 not implemented before cygwin-1.7
|
|
+ d_inetntop='undef'
|
|
+ d_inetpton='undef'
|
|
+esac
|
|
+
|
|
+case "$osvers" in
|
|
+ 2.[0-4].*|1.*)
|
|
+ # newlib finitel is buggy before cygwin-2.5.0
|
|
+ d_finitel='undef'
|
|
+ ;;
|
|
+esac
|
|
+
|
|
+# compile Win32CORE "module" as static. try to avoid the space.
|
|
+if test -z "$static_ext"; then
|
|
+ static_ext="Win32CORE"
|
|
+else
|
|
+ static_ext="$static_ext Win32CORE"
|
|
+fi
|
|
+
|
|
+# Win9x problem with non-blocking read from a closed pipe
|
|
+d_eofnblk='define'
|
|
+
|
|
+# suppress auto-import warnings
|
|
+ldflags="$ldflags -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base"
|
|
+lddlflags="$lddlflags $ldflags"
|
|
+
|
|
+# strip exe's and dll's, better do it afterwards
|
|
+#ldflags="$ldflags -s"
|
|
+#ccdlflags="$ccdlflags -s"
|
|
+#lddlflags="$lddlflags -s"
|
|
diff --git a/install_lib.pl b/install_lib.pl
|
|
index 1c4d7de..b7319aa 100644
|
|
--- a/install_lib.pl
|
|
+++ b/install_lib.pl
|
|
@@ -46,7 +46,7 @@ if ($Config{d_umask}) {
|
|
$Is_VMS = $^O eq 'VMS';
|
|
$Is_W32 = $^O eq 'MSWin32';
|
|
$Is_OS2 = $^O eq 'os2';
|
|
-$Is_Cygwin = $^O eq 'cygwin';
|
|
+$Is_Cygwin = ($^O eq 'cygwin' || $^O eq 'msys');
|
|
$Is_Darwin = $^O eq 'darwin';
|
|
$Is_AmigaOS = $^O eq 'amigaos';
|
|
|
|
diff --git a/installman b/installman
|
|
index 686862d..fcf467c 100755
|
|
--- a/installman
|
|
+++ b/installman
|
|
@@ -154,7 +154,7 @@ sub pod2man {
|
|
next;
|
|
}
|
|
|
|
- if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'cygwin') {
|
|
+ if ($^O eq 'os2' || $^O eq 'amigaos' || $^O eq 'cygwin' || $^O eq 'msys') {
|
|
$manpage =~ s#::#.#g;
|
|
}
|
|
my $tmp = "${mandir}/${manpage}.tmp";
|
|
diff --git a/lib/AnyDBM_File.t b/lib/AnyDBM_File.t
|
|
index 22f262b..f4e2833 100644
|
|
--- a/lib/AnyDBM_File.t
|
|
+++ b/lib/AnyDBM_File.t
|
|
@@ -14,7 +14,8 @@ use Fcntl;
|
|
|
|
$Is_Dosish = ($^O eq 'amigaos' || $^O eq 'MSWin32' ||
|
|
$^O eq 'os2' ||
|
|
- $^O eq 'cygwin');
|
|
+ $^O eq 'cygwin' ||
|
|
+ $^O eq 'msys');
|
|
|
|
my $filename = "Any_dbmx$$";
|
|
unlink <"$filename*">;
|
|
diff --git a/lib/ExtUtils/t/Embed.t b/lib/ExtUtils/t/Embed.t
|
|
index 51c3ef2..70ebd0c 100644
|
|
--- a/lib/ExtUtils/t/Embed.t
|
|
+++ b/lib/ExtUtils/t/Embed.t
|
|
@@ -117,7 +117,7 @@ if ($^O eq 'VMS') {
|
|
s!-bE:(\S+)!-bE:$perl_exp!;
|
|
}
|
|
}
|
|
- elsif ($^O eq 'cygwin') { # Cygwin needs no special treatment like below
|
|
+ elsif ($^O eq 'cygwin' or $^O eq 'msys') { # Cygwin needs no special treatment like below
|
|
;
|
|
}
|
|
elsif ($Config{'libperl'} !~ /\Alibperl\./) {
|
|
@@ -160,7 +160,7 @@ unlink($exe,"embed_test.c",$obj);
|
|
unlink("$exe.manifest") if $cl and $Config{'ccversion'} =~ /^(\d+)/ and $1 >= 14;
|
|
unlink("$exe$Config{exe_ext}") if $skip_exe;
|
|
unlink("embed_test.map","embed_test.lis") if $^O eq 'VMS';
|
|
-unlink(glob("./*.dll")) if $^O eq 'cygwin';
|
|
+unlink(glob("./*.dll")) if ($^O eq 'cygwin' or $^O eq 'msys');
|
|
unlink($testlib) if $libperl_copied;
|
|
|
|
# gcc -g -I.. -L../ -o perl_test perl_test.c -lperl `../perl -I../lib -MExtUtils::Embed -I../ -e ccflags -e ldopts`
|
|
diff --git a/lib/File/Compare.t b/lib/File/Compare.t
|
|
index 640b181..9bb2bb2 100644
|
|
--- a/lib/File/Compare.t
|
|
+++ b/lib/File/Compare.t
|
|
@@ -105,7 +105,7 @@ SKIP: {
|
|
TODO: {
|
|
my $why = "spaces after filename silently truncated";
|
|
my $how_many = 1;
|
|
- my $condition = ($^O eq "cygwin") or ($^O eq "vos");
|
|
+ my $condition = ($^O eq "cygwin") or ($^O eq "msys") or ($^O eq "vos");
|
|
todo_skip $why, $how_many if $condition;
|
|
is($donetests[2], 0, "file/fileCR [$donetests[2]]");
|
|
}
|
|
diff --git a/lib/File/Copy.t b/lib/File/Copy.t
|
|
index 57b86c1..d45e450 100644
|
|
--- a/lib/File/Copy.t
|
|
+++ b/lib/File/Copy.t
|
|
@@ -181,7 +181,7 @@ for my $cross_partition_test (0..1) {
|
|
|
|
SKIP: {
|
|
skip "Testing hard links", 3
|
|
- if !$Config{d_link} or $^O eq 'MSWin32' or $^O eq 'cygwin';
|
|
+ if !$Config{d_link} or $^O eq 'MSWin32' or $^O eq 'cygwin' or $^O eq 'msys';
|
|
|
|
open(F, ">", "file-$$") or die $!;
|
|
print F "dummy content\n";
|
|
diff --git a/lib/Net/hostent.t b/lib/Net/hostent.t
|
|
index 3ee1980..4f0f44b 100644
|
|
--- a/lib/Net/hostent.t
|
|
+++ b/lib/Net/hostent.t
|
|
@@ -65,7 +65,7 @@ ok(defined $i, 'gethost on capture variable');
|
|
|
|
SKIP: {
|
|
skip "Windows will return the machine name instead of 'localhost'", 2
|
|
- if $^O eq 'MSWin32' or $^O eq 'cygwin';
|
|
+ if $^O eq 'MSWin32' or $^O eq 'cygwin' or $^O eq 'msys';
|
|
|
|
print "# name = " . $h->name . ", aliases = " . join (",", @{$h->aliases}) . "\n";
|
|
|
|
diff --git a/lib/User/grent.t b/lib/User/grent.t
|
|
index 8f34762..54f93c3 100644
|
|
--- a/lib/User/grent.t
|
|
+++ b/lib/User/grent.t
|
|
@@ -18,7 +18,7 @@ BEGIN {
|
|
}
|
|
|
|
BEGIN {
|
|
- our $gid = $^O ne 'cygwin' ? 0 : 18;
|
|
+ our $gid = ($^O ne 'cygwin' || $^O ne 'msys') ? 0 : 18;
|
|
our @grent = getgrgid $gid; # This is the function getgrgid.
|
|
unless (@grent) { plan skip_all => "no gid 0"; }
|
|
}
|
|
diff --git a/lib/User/pwent.t b/lib/User/pwent.t
|
|
index f93836f..369ce60 100644
|
|
--- a/lib/User/pwent.t
|
|
+++ b/lib/User/pwent.t
|
|
@@ -21,7 +21,7 @@ BEGIN {
|
|
# On VMS getpwuid(0) may return [$gid,0] UIC info (which may not exist).
|
|
# It is better to use the $< uid for testing on VMS instead.
|
|
if ( $^O eq 'VMS' ) { $uid = $< ; }
|
|
- if ( $^O eq 'cygwin' ) { $uid = 500 ; }
|
|
+ if ( $^O eq 'cygwin' or $^O eq 'msys' ) { $uid = 500 ; }
|
|
our @pwent = getpwuid $uid; # This is the function getpwuid.
|
|
unless (@pwent) { print "1..0 # Skip: no uid $uid\n"; exit 0 }
|
|
}
|
|
@@ -35,7 +35,7 @@ print "ok 1\n";
|
|
my $pwent = getpwuid $uid; # This is the OO getpwuid.
|
|
|
|
my $uid_expect = $uid;
|
|
-if ( $^O eq 'cygwin' ) {
|
|
+if ( $^O eq 'cygwin' or $^O eq 'msys' ) {
|
|
print "not " unless ( $pwent->uid == $uid_expect
|
|
|| $pwent->uid == 500 ); # go figure
|
|
}
|
|
diff --git a/lib/locale.t b/lib/locale.t
|
|
index 9aa8e1d..d88a81e 100644
|
|
--- a/lib/locale.t
|
|
+++ b/lib/locale.t
|
|
@@ -93,7 +93,7 @@ my %known_bad_locales = (
|
|
|
|
# cygwin isn't returning proper radix length in this locale, but supposedly to
|
|
# be fixed in later versions.
|
|
-if ($os eq 'cygwin' && version->new(($Config{osvers} =~ /^(\d+(?:\.\d+)+)/)[0]) le v2.4.1) {
|
|
+if (($^O eq 'cygwin' or $^O eq 'msys') && version->new(($Config{osvers} =~ /^(\d+(?:\.\d+)+)/)[0]) le v2.4.1) {
|
|
$known_bad_locales{'cygwin'} = qr/ ^ ps_AF /ix;
|
|
}
|
|
|
|
diff --git a/lib/perl5db.pl b/lib/perl5db.pl
|
|
index 64f7fcb..cd6f6dd 100644
|
|
--- a/lib/perl5db.pl
|
|
+++ b/lib/perl5db.pl
|
|
@@ -1533,7 +1533,7 @@ We then determine what the console should be on various systems:
|
|
|
|
=cut
|
|
|
|
- if ( $^O eq 'cygwin' ) {
|
|
+ if ( $^O eq 'cygwin' or $^O eq 'msys' ) {
|
|
|
|
# /dev/tty is binary. use stdin for textmode
|
|
undef $console;
|
|
diff --git a/regen/regen_lib.pl b/regen/regen_lib.pl
|
|
index 0eb5654..77ff511 100644
|
|
--- a/regen/regen_lib.pl
|
|
+++ b/regen/regen_lib.pl
|
|
@@ -7,7 +7,7 @@ use Text::Wrap();
|
|
|
|
# Common functions needed by the regen scripts
|
|
|
|
-our $Needs_Write = $^O eq 'cygwin' || $^O eq 'os2' || $^O eq 'MSWin32';
|
|
+our $Needs_Write = $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'os2' || $^O eq 'MSWin32';
|
|
|
|
our $Verbose = 0;
|
|
@ARGV = grep { not($_ eq '-q' and $Verbose = -1) }
|
|
diff --git a/t/io/eintr.t b/t/io/eintr.t
|
|
index 26a4636..fa6a943 100644
|
|
--- a/t/io/eintr.t
|
|
+++ b/t/io/eintr.t
|
|
@@ -50,7 +50,7 @@ if (exists $ENV{PERLIO} && $ENV{PERLIO} =~ /stdio/ ) {
|
|
# platforms
|
|
|
|
my ($osmajmin) = $Config{osvers} =~ /^(\d+\.\d+)/;
|
|
-if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O =~ /freebsd/ || $^O eq 'midnightbsd' ||
|
|
+if ($^O eq 'VMS' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys' || $^O =~ /freebsd/ || $^O eq 'midnightbsd' ||
|
|
($^O eq 'solaris' && $Config{osvers} eq '2.8') || $^O eq 'nto' ||
|
|
($^O eq 'darwin' && $osmajmin < 9) ||
|
|
((int($]*1000) & 1) == 0)
|
|
diff --git a/t/io/fs.t b/t/io/fs.t
|
|
index 9cda3e9..243cb38 100644
|
|
--- a/t/io/fs.t
|
|
+++ b/t/io/fs.t
|
|
@@ -39,7 +39,7 @@ my $accurate_timestamps =
|
|
!($^O eq 'MSWin32' ||
|
|
$^O eq 'os2' ||
|
|
$^O eq 'cygwin' || $^O eq 'amigaos' ||
|
|
- $wd =~ m#$Config{afsroot}/#
|
|
+ $^O eq 'msys' || $wd =~ m#$Config{afsroot}/#
|
|
);
|
|
|
|
if (defined &Win32::IsWinNT && Win32::IsWinNT()) {
|
|
@@ -59,7 +59,7 @@ my $needs_fh_reopen =
|
|
$needs_fh_reopen = 1 if (defined &Win32::IsWin95 && Win32::IsWin95());
|
|
|
|
my $skip_mode_checks =
|
|
- $^O eq 'cygwin' && $ENV{CYGWIN} !~ /ntsec/;
|
|
+ $^O eq 'msys' && $ENV{MSYS} !~ /ntsec/;
|
|
|
|
plan tests => 61;
|
|
|
|
@@ -183,7 +183,10 @@ SKIP: {
|
|
SKIP: {
|
|
skip "no fchmod", 7 unless ($Config{d_fchmod} || "") eq "define";
|
|
ok(open(my $fh, "<", "a"), "open a");
|
|
- is(chmod(0, $fh), 1, "fchmod");
|
|
+ SKIP: {
|
|
+ skip "no mode checks", 1 if $skip_mode_checks;
|
|
+ is(chmod(0, $fh), 1, "fchmod");
|
|
+ }
|
|
$mode = (stat "a")[2];
|
|
SKIP: {
|
|
skip "no mode checks", 1 if $skip_mode_checks;
|
|
@@ -396,7 +399,7 @@ SKIP: {
|
|
# check if rename() can be used to just change case of filename
|
|
SKIP: {
|
|
skip "Works in Cygwin only if check_case is set to relaxed", 1
|
|
- if ($ENV{'CYGWIN'} && ($ENV{'CYGWIN'} =~ /check_case:(?:adjust|strict)/));
|
|
+ if ($ENV{'MSYS'} && ($ENV{'MSYS'} =~ /check_case:(?:adjust|strict)/));
|
|
|
|
chdir "./$tmpdir";
|
|
open(FH,'>x') || die "Can't create x";
|
|
diff --git a/t/io/pvbm.t b/t/io/pvbm.t
|
|
index 2affbac..630de14 100644
|
|
--- a/t/io/pvbm.t
|
|
+++ b/t/io/pvbm.t
|
|
@@ -67,7 +67,7 @@ sub PVBM () { 'foo' }
|
|
ok (!eval { chmod 0600, \$pvbm }, 'chmod(PVBM ref) fails');
|
|
|
|
SKIP: {
|
|
- skip('chown() not implemented on Win32', 2) if $^O eq 'MSWin32';
|
|
+ skip('chown() not implemented on Win32', 2) if $^O eq 'MSWin32' or $^O eq 'msys';
|
|
ok (!eval { chown 0, 0, $pvbm }, 'chown(PVBM) fails');
|
|
ok (!eval { chown 0, 0, \$pvbm }, 'chown(PVBM ref) fails');
|
|
}
|
|
diff --git a/t/io/tell.t b/t/io/tell.t
|
|
index 3e15663..ba38575 100644
|
|
--- a/t/io/tell.t
|
|
+++ b/t/io/tell.t
|
|
@@ -11,7 +11,7 @@ plan(36);
|
|
$TST = 'TST';
|
|
|
|
$Is_Dosish = ($^O eq 'MSWin32' or
|
|
- $^O eq 'os2' or $^O eq 'cygwin');
|
|
+ $^O eq 'os2' or $^O eq 'cygwin' or $^O eq 'msys');
|
|
|
|
open($TST, 'harness') || (die "Can't open harness");
|
|
binmode $TST if $Is_Dosish;
|
|
@@ -159,7 +159,7 @@ if (tell ($tst) == 6) {
|
|
pass("check tell() after writing in mode '>>'");
|
|
}
|
|
else {
|
|
- if (($^O eq "cygwin") && (&PerlIO::get_layers($tst) eq 'stdio')) {
|
|
+ if (($^O eq "cygwin" || $^O eq "msys") && (&PerlIO::get_layers($tst) eq 'stdio')) {
|
|
fail "# TODO: file pointer not at eof";
|
|
}
|
|
elsif ($^O eq "vos") {
|
|
diff --git a/t/lib/cygwin.t b/t/lib/cygwin.t
|
|
index ba86170..0d316f3 100644
|
|
--- a/t/lib/cygwin.t
|
|
+++ b/t/lib/cygwin.t
|
|
@@ -4,7 +4,7 @@ BEGIN {
|
|
chdir 't' if -d 't';
|
|
@INC = ('../lib');
|
|
require './test.pl';
|
|
- skip_all('cygwin specific test') unless $^O eq 'cygwin';
|
|
+ skip_all('cygwin specific test') unless ($^O eq 'cygwin' || $^O eq 'msys');
|
|
}
|
|
|
|
plan(tests => 16);
|
|
@@ -41,7 +41,7 @@ chdir($pwd);
|
|
is(Cygwin::win_to_posix_path($winpath, 1), "/", "win to absolute posix path");
|
|
|
|
my $mount = join '', `/usr/bin/mount`;
|
|
-$mount =~ m|on /usr/bin type .+ \((\w+)[,\)]|m;
|
|
+$mount =~ m|on (?:/usr)?/bin type .+ \((\w+)[,\)]|m;
|
|
my $binmode = $1 =~ /binmode|binary/;
|
|
is(Cygwin::is_binmount("/"), $binmode ? 1 : '', "check / for binmount");
|
|
|
|
diff --git a/t/lib/dbmt_common.pl b/t/lib/dbmt_common.pl
|
|
index f8fbbb0..880a736 100644
|
|
--- a/t/lib/dbmt_common.pl
|
|
+++ b/t/lib/dbmt_common.pl
|
|
@@ -43,7 +43,7 @@ if (! -e $Dfile) {
|
|
}
|
|
SKIP: {
|
|
skip "different file permission semantics on $^O", 1
|
|
- if $^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'vos';
|
|
+ if $^O eq 'amigaos' || $^O eq 'os2' || $^O eq 'MSWin32' || $^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'vos';
|
|
my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,
|
|
$blksize,$blocks) = stat($Dfile);
|
|
is($mode & 0777, 0640);
|
|
diff --git a/t/op/groups.t b/t/op/groups.t
|
|
index 65b5c05..8088885 100644
|
|
--- a/t/op/groups.t
|
|
+++ b/t/op/groups.t
|
|
@@ -310,7 +310,7 @@ sub darwin {
|
|
|
|
# Test if this is Cygwin
|
|
sub cygwin_nt {
|
|
- return $Config::Config{myuname} =~ /^cygwin_nt/i;
|
|
+ return $Config::Config{myuname} =~ /^msys_nt/i;
|
|
}
|
|
|
|
# Get perl's supplementary groups and the number of times each gid
|
|
diff --git a/t/op/magic.t b/t/op/magic.t
|
|
index 2004a50..7d42494 100644
|
|
--- a/t/op/magic.t
|
|
+++ b/t/op/magic.t
|
|
@@ -52,7 +52,7 @@ use Config;
|
|
$Is_MSWin32 = $^O eq 'MSWin32';
|
|
$Is_VMS = $^O eq 'VMS';
|
|
$Is_os2 = $^O eq 'os2';
|
|
-$Is_Cygwin = $^O eq 'cygwin';
|
|
+$Is_Cygwin = ($^O eq 'cygwin' || $^O eq 'msys');
|
|
|
|
$PERL =
|
|
($Is_VMS ? $^X :
|
|
diff --git a/t/op/require_errors.t b/t/op/require_errors.t
|
|
index 637457b..5aa250b 100644
|
|
--- a/t/op/require_errors.t
|
|
+++ b/t/op/require_errors.t
|
|
@@ -167,11 +167,12 @@ chmod 0333, $mod_file;
|
|
|
|
SKIP: {
|
|
skip_if_miniperl("these modules may not be available to miniperl", 2);
|
|
+ skip "Can't test permissions meaningfully using MSYS2", 2 if $^O eq 'msys';
|
|
|
|
push @INC, '../lib';
|
|
require Cwd;
|
|
require File::Spec::Functions;
|
|
- if ($^O eq 'cygwin') {
|
|
+ if ($^O eq 'cygwin' or $^O eq 'msys') {
|
|
require Win32;
|
|
}
|
|
|
|
diff --git a/t/op/sigdispatch.t b/t/op/sigdispatch.t
|
|
index 242fb8e..df6c933 100644
|
|
--- a/t/op/sigdispatch.t
|
|
+++ b/t/op/sigdispatch.t
|
|
@@ -44,7 +44,7 @@ SKIP: {
|
|
skip('We can\'t test blocking without sigprocmask', 17)
|
|
if is_miniperl() || !$Config{d_sigprocmask};
|
|
skip("This doesn\'t work on $^O threaded builds RT#88814", 17)
|
|
- if ($^O =~ /cygwin/ && $Config{useithreads});
|
|
+ if ($^O =~ /cygwin|msys/ && $Config{useithreads});
|
|
skip("This doesn\'t work on $^O version $Config{osvers} RT#88814", 17)
|
|
if ($^O eq "openbsd" && $Config{osvers} < 5.2);
|
|
|
|
@@ -60,7 +60,7 @@ SKIP: {
|
|
kill 'SIGUSR1', $$;
|
|
is $gotit, 0, 'Haven\'t received third signal yet';
|
|
|
|
- diag "2nd sigpending crashes on cygwin" if $^O eq 'cygwin';
|
|
+ diag "2nd sigpending crashes on cygwin" if ($^O eq 'cygwin' or $^O eq 'msys');
|
|
is POSIX::sigpending($pending), '0 but true', 'sigpending';
|
|
is $pending->ismember(&POSIX::SIGUSR1), 1, 'SIGUSR1 is pending';
|
|
|
|
@@ -118,7 +118,7 @@ TODO:
|
|
|
|
SKIP: {
|
|
skip("alarm cannot interrupt blocking system calls on $^O", 2)
|
|
- if $^O =~ /MSWin32|cygwin|VMS/;
|
|
+ if $^O =~ /MSWin32|cygwin|msys|VMS/;
|
|
# RT #88774
|
|
# make sure the signal handler's called in an eval block *before*
|
|
# the eval is popped
|
|
diff --git a/t/op/stat.t b/t/op/stat.t
|
|
index b391dd0..03c5484 100644
|
|
--- a/t/op/stat.t
|
|
+++ b/t/op/stat.t
|
|
@@ -37,7 +37,7 @@ $ENV{LC_ALL} = 'C'; # Forge English error messages.
|
|
$ENV{LANGUAGE} = 'C'; # Ditto in GNU.
|
|
|
|
my $Is_Amiga = $^O eq 'amigaos';
|
|
-my $Is_Cygwin = $^O eq 'cygwin';
|
|
+my $Is_Cygwin = ($^O eq 'cygwin' || $^O eq 'msys');
|
|
my $Is_Darwin = $^O eq 'darwin';
|
|
my $Is_MSWin32 = $^O eq 'MSWin32';
|
|
my $Is_OS2 = $^O eq 'os2';
|
|
@@ -47,7 +47,7 @@ my $Is_MPRAS = $^O =~ /svr4/ && -f '/etc/.relid';
|
|
my $Is_Android = $^O =~ /android/;
|
|
my $Is_Dfly = $^O eq 'dragonfly';
|
|
|
|
-my $Is_Dosish = $Is_OS2 || $Is_MSWin32;
|
|
+my $Is_Dosish = $Is_OS2 || $Is_MSWin32 || $^O eq 'msys';
|
|
|
|
my $ufs_no_ctime = ($Is_Dfly || $Is_Darwin) && (() = `df -t ufs . 2>/dev/null`) == 2;
|
|
|
|
@@ -127,7 +127,7 @@ SKIP: {
|
|
SKIP: {
|
|
skip "No link count", 1 if $Config{dont_use_nlink};
|
|
skip "Cygwin9X fakes hard links by copying", 1
|
|
- if $Config{myuname} =~ /^cygwin_(?:9\d|me)\b/i;
|
|
+ if $Config{myuname} =~ /^msys_(?:9\d|me)\b/i;
|
|
|
|
is($nlink, 2, 'Link count on hard linked file' );
|
|
}
|
|
@@ -193,7 +193,7 @@ ok(-s $tmpfile, ' and -s');
|
|
ok( chmod(0000, $tmpfile), 'chmod 0000' );
|
|
|
|
SKIP: {
|
|
- skip "-r, -w and -x have different meanings on VMS", 3 if $Is_VMS;
|
|
+ skip "-r, -w and -x have different meanings on VMS/DOS", 3 if $Is_VMS or $Is_Dosish;
|
|
|
|
SKIP: {
|
|
# Going to try to switch away from root. Might not work.
|
|
@@ -564,7 +564,8 @@ SKIP: {
|
|
skip "Can't check if admin user in miniperl", 1
|
|
if $^O =~ /^(cygwin|MSWin32|msys)$/ && is_miniperl();
|
|
skip "Readable by group/other means readable by me on $^O", 1 if $^O eq 'VMS'
|
|
- or ($^O =~ /^(cygwin|MSWin32|msys)$/ and Win32::IsAdminUser());
|
|
+ or ($^O =~ /^(cygwin|MSWin32)$/ and Win32::IsAdminUser());
|
|
+ skip "Unix permissions are meaningless with MSYS2", 1 if $^O eq 'msys';
|
|
lstat($tmpfile);
|
|
-T _;
|
|
ok(eval { lstat _ },
|
|
diff --git a/t/op/taint.t b/t/op/taint.t
|
|
index f4f06f7..7cba8ca 100644
|
|
--- a/t/op/taint.t
|
|
+++ b/t/op/taint.t
|
|
@@ -52,7 +52,7 @@ BEGIN {
|
|
|
|
my $Is_VMS = $^O eq 'VMS';
|
|
my $Is_MSWin32 = $^O eq 'MSWin32';
|
|
-my $Is_Cygwin = $^O eq 'cygwin';
|
|
+my $Is_Cygwin = ($^O eq 'cygwin' || $^O eq 'msys');
|
|
my $Is_OpenBSD = $^O eq 'openbsd';
|
|
my $Is_MirBSD = $^O eq 'mirbsd';
|
|
my $Invoke_Perl = $Is_VMS ? 'MCR Sys$Disk:[]Perl.exe' :
|
|
diff --git a/t/op/time.t b/t/op/time.t
|
|
index 9fdc7b8..da593a1 100644
|
|
--- a/t/op/time.t
|
|
+++ b/t/op/time.t
|
|
@@ -50,7 +50,7 @@ ok(localtime() =~ /^(Sun|Mon|Tue|Wed|Thu|Fri|Sat)[ ]
|
|
SKIP: {
|
|
# This conditional of "No tzset()" is stolen from ext/POSIX/t/time.t
|
|
skip "No tzset()", 1
|
|
- if $^O eq "VMS" || $^O eq "cygwin" ||
|
|
+ if $^O eq "VMS" || $^O eq "cygwin" || $^O eq "msys" ||
|
|
$^O eq "MSWin32" ||
|
|
$^O eq "interix";
|
|
|
|
diff --git a/t/porting/exec-bit.t b/t/porting/exec-bit.t
|
|
index 3e80f84..38174a4 100644
|
|
--- a/t/porting/exec-bit.t
|
|
+++ b/t/porting/exec-bit.t
|
|
@@ -18,7 +18,7 @@ sub has_shebang {
|
|
}
|
|
|
|
require './test.pl';
|
|
-if ( $^O eq "MSWin32" ) {
|
|
+if ( $^O eq "MSWin32" or $^O eq 'msys' ) {
|
|
skip_all( "-x on MSWin32 only indicates file has executable suffix. Try Cygwin?" );
|
|
}
|
|
|
|
diff --git a/t/porting/extrefs.t b/t/porting/extrefs.t
|
|
index d898b49..3f7eeb4 100644
|
|
--- a/t/porting/extrefs.t
|
|
+++ b/t/porting/extrefs.t
|
|
@@ -48,7 +48,7 @@ CODE
|
|
sub try_compile_and_link {
|
|
my ($c, %args) = @_;
|
|
|
|
- my $ld_exeext = ($^O eq 'cygwin' || $^O eq 'MSWin32' ||
|
|
+ my $ld_exeext = ($^O eq 'cygwin' || $^O eq 'msys' || $^O eq 'MSWin32' ||
|
|
$^O eq 'os2' && $Config{ldflags} =~ /-Zexe\b/) ? '.exe' :
|
|
(($^O eq 'vos') ? $Config{exe_ext} : '');
|
|
|
|
diff --git a/t/porting/globvar.t b/t/porting/globvar.t
|
|
index 3e6d630..b4a9941 100644
|
|
--- a/t/porting/globvar.t
|
|
+++ b/t/porting/globvar.t
|
|
@@ -15,7 +15,7 @@ my %skip = map { ("PL_$_", 1) }
|
|
qw(
|
|
DBcv bitcount cshname generation lastgotoprobe
|
|
mod_latin1_uc modcount no_symref_sv uudmap
|
|
- watchaddr watchok warn_uninit_sv hash_chars
|
|
+ watchaddr watchok warn_uninit_sv hash_chars current_context
|
|
);
|
|
|
|
$skip{PL_hash_rand_bits}= $skip{PL_hash_rand_bits_enabled}= 1; # we can be compiled without these, so skip testing them
|
|
diff --git a/t/run/locale.t b/t/run/locale.t
|
|
index 202f355..981b9e4 100644
|
|
--- a/t/run/locale.t
|
|
+++ b/t/run/locale.t
|
|
@@ -85,7 +85,7 @@ if ($non_C_locale) {
|
|
|
|
# Skip this locale on these cygwin versions as the returned radix character
|
|
# length is wrong
|
|
- if ( $^O eq 'cygwin'
|
|
+ if (($^O eq 'cygwin' || $^O eq 'msys')
|
|
&& version->new(($Config{'osvers'} =~ /^(\d+(?:\.\d+)+)/)[0]) le v2.4.1)
|
|
{
|
|
@test_numeric_locales = grep { $_ !~ m/ps_AF/i } @test_numeric_locales;
|
|
diff --git a/t/test.pl b/t/test.pl
|
|
index d92f28f..d81c4bf 100644
|
|
--- a/t/test.pl
|
|
+++ b/t/test.pl
|
|
@@ -630,7 +630,7 @@ USE_OK
|
|
|
|
my $is_mswin = $^O eq 'MSWin32';
|
|
my $is_vms = $^O eq 'VMS';
|
|
-my $is_cygwin = $^O eq 'cygwin';
|
|
+my $is_cygwin = ($^O eq 'cygwin' || $^O eq 'msys');
|
|
|
|
sub _quote_args {
|
|
my ($runperl, $args) = @_;
|
|
diff --git a/utils/perlbug.PL b/utils/perlbug.PL
|
|
index 4715e9d..5da0af0 100644
|
|
--- a/utils/perlbug.PL
|
|
+++ b/utils/perlbug.PL
|
|
@@ -76,7 +76,7 @@ BEGIN {
|
|
eval { require Mail::Send;};
|
|
$::HaveSend = ($@ eq "");
|
|
eval { require Mail::Util; } ;
|
|
- $::HaveUtil = ($@ eq "");
|
|
+ $::HaveUtil = (!$ENV{PERL_BUILD_PACKAGING} and $@ eq "");
|
|
# use secure tempfiles wherever possible
|
|
eval { require File::Temp; };
|
|
$::HaveTemp = ($@ eq "");
|
|
@@ -727,7 +727,7 @@ EOF
|
|
my @env =
|
|
qw(PATH LD_LIBRARY_PATH LANG PERL_BADLANG SHELL HOME LOGDIR LANGUAGE);
|
|
push @env, $Config{ldlibpthname} if $Config{ldlibpthname} ne '';
|
|
- push @env, grep /^(?:PERL|LC_|LANG|CYGWIN)/, keys %ENV;
|
|
+ push @env, grep /^(?:PERL|LC_|LANG|MSYS)/, keys %ENV;
|
|
my %env;
|
|
@env{@env} = @env;
|
|
for my $env (sort keys %env) {
|
|
diff --git a/win32/FindExt.pm b/win32/FindExt.pm
|
|
index 4d46821..210047e 100644
|
|
--- a/win32/FindExt.pm
|
|
+++ b/win32/FindExt.pm
|
|
@@ -24,7 +24,7 @@ sub apply_config {
|
|
unless ($config->{i_dbm} || $config->{i_rpcsvcdbm}) && !$config->{d_cplusplus};
|
|
push @no, "Amiga.*" unless $^O eq "amigaos";
|
|
push @no, "VMS.*" unless $^O eq "VMS";
|
|
- push @no, "Win32.*" unless $^O eq "MSWin32" || $^O eq "cygwin";
|
|
+ push @no, "Win32.*" unless $^O eq "MSWin32" || $^O eq "cygwin" || $^O eq "msys";
|
|
|
|
$no = join('|', @no);
|
|
$no = qr/^(?:$no)$/i;
|
|
--
|
|
2.37.1
|
|
|