diff -Naur ExtUtils-MakeMaker-7.34-orig/bundled/ExtUtils-Install/ExtUtils/Install.pm ExtUtils-MakeMaker-7.34/bundled/ExtUtils-Install/ExtUtils/Install.pm --- ExtUtils-MakeMaker-7.34-orig/bundled/ExtUtils-Install/ExtUtils/Install.pm 2017-05-20 16:01:13.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/bundled/ExtUtils-Install/ExtUtils/Install.pm 2018-08-08 09:55:08.182378300 +0300 @@ -98,7 +98,7 @@ my $Is_VMS = $^O eq 'VMS'; my $Is_MacPerl = $^O eq 'MacOS'; my $Is_Win32 = $^O eq 'MSWin32'; -my $Is_cygwin = $^O eq 'cygwin'; +my $Is_cygwin = ($^O eq 'cygwin' || $^O eq 'msys'); my $CanMoveAtBoot = ($Is_Win32 || $Is_cygwin); diff -Naur ExtUtils-MakeMaker-7.34-orig/bundled/File-Temp/File/Temp.pm ExtUtils-MakeMaker-7.34/bundled/File-Temp/File/Temp.pm --- ExtUtils-MakeMaker-7.34-orig/bundled/File-Temp/File/Temp.pm 2016-04-27 23:08:36.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/bundled/File-Temp/File/Temp.pm 2018-08-08 09:55:08.187378600 +0300 @@ -824,7 +824,7 @@ 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; @@ -1978,7 +1978,7 @@ # on Win9x the link count remains 1 # On NFS the link count may still be 1 but we cant know that # we are on NFS - return ( $fh[3] == 0 or $^O eq 'cygwin' ? 1 : 0); + return ( $fh[3] == 0 or ($^O eq 'cygwin' || $^O eq 'msys') ? 1 : 0); } else { _deferred_unlink($fh, $path, 0); diff -Naur ExtUtils-MakeMaker-7.34-orig/lib/ExtUtils/Liblist/Kid.pm ExtUtils-MakeMaker-7.34/lib/ExtUtils/Liblist/Kid.pm --- ExtUtils-MakeMaker-7.34-orig/lib/ExtUtils/Liblist/Kid.pm 2018-03-19 13:21:54.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/lib/ExtUtils/Liblist/Kid.pm 2018-08-08 09:58:54.782339100 +0300 @@ -177,6 +177,8 @@ } 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 -Naur ExtUtils-MakeMaker-7.34-orig/lib/ExtUtils/MM.pm ExtUtils-MakeMaker-7.34/lib/ExtUtils/MM.pm --- ExtUtils-MakeMaker-7.34-orig/lib/ExtUtils/MM.pm 2018-03-19 13:21:54.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/lib/ExtUtils/MM.pm 2018-08-08 09:55:08.195379000 +0300 @@ -58,7 +58,7 @@ _is_win95() ? $Is{Win95} = 1 : $Is{Win32} = 1; } $Is{UWIN} = $^O =~ /^uwin(-nt)?$/; -$Is{Cygwin} = $^O eq 'cygwin'; +$Is{Cygwin} = ($^O eq 'cygwin' || $^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 -Naur ExtUtils-MakeMaker-7.34-orig/lib/ExtUtils/MM_Cygwin.pm ExtUtils-MakeMaker-7.34/lib/ExtUtils/MM_Cygwin.pm --- ExtUtils-MakeMaker-7.34-orig/lib/ExtUtils/MM_Cygwin.pm 2018-03-19 13:21:54.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/lib/ExtUtils/MM_Cygwin.pm 2018-08-08 10:02:56.196147100 +0300 @@ -34,7 +34,7 @@ =cut sub os_flavor { - return('Unix', 'Cygwin'); + return('Unix', 'Msys'); } =item cflags @@ -134,7 +134,7 @@ 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; } @@ -154,7 +154,7 @@ 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 -Naur ExtUtils-MakeMaker-7.34-orig/t/03-xsstatic.t ExtUtils-MakeMaker-7.34/t/03-xsstatic.t --- ExtUtils-MakeMaker-7.34-orig/t/03-xsstatic.t 2018-02-24 16:15:13.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/t/03-xsstatic.t 2018-08-08 09:56:57.009602900 +0300 @@ -19,7 +19,7 @@ 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; my @tests = list_static(); plan skip_all => "No tests" unless @tests; diff -Naur ExtUtils-MakeMaker-7.34-orig/t/eu_command.t ExtUtils-MakeMaker-7.34/t/eu_command.t --- ExtUtils-MakeMaker-7.34-orig/t/eu_command.t 2017-05-20 16:01:13.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/t/eu_command.t 2018-08-08 09:55:08.203379500 +0300 @@ -95,7 +95,7 @@ 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); } @@ -135,7 +135,7 @@ 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 -Naur ExtUtils-MakeMaker-7.34-orig/t/Mkbootstrap.t ExtUtils-MakeMaker-7.34/t/Mkbootstrap.t --- ExtUtils-MakeMaker-7.34-orig/t/Mkbootstrap.t 2016-04-27 23:08:36.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/t/Mkbootstrap.t 2018-08-08 10:04:05.208094400 +0300 @@ -75,7 +75,7 @@ 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 -Naur ExtUtils-MakeMaker-7.34-orig/t/MM_Cygwin.t ExtUtils-MakeMaker-7.34/t/MM_Cygwin.t --- ExtUtils-MakeMaker-7.34-orig/t/MM_Cygwin.t 2016-04-27 23:08:36.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/t/MM_Cygwin.t 2018-08-08 09:55:08.207379700 +0300 @@ -9,7 +9,7 @@ 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 -Naur ExtUtils-MakeMaker-7.34-orig/t/MM_Unix.t ExtUtils-MakeMaker-7.34/t/MM_Unix.t --- ExtUtils-MakeMaker-7.34-orig/t/MM_Unix.t 2018-01-16 13:25:57.000000000 +0300 +++ ExtUtils-MakeMaker-7.34/t/MM_Unix.t 2018-08-08 09:55:08.209379800 +0300 @@ -8,7 +8,7 @@ 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 {