diff -Nurd -x'*~' Devel-PPPort-3.36.orig/t/ppphtest.t Devel-PPPort-3.36/t/ppphtest.t --- Devel-PPPort-3.36.orig/t/ppphtest.t 2017-05-14 04:47:21.000000000 -0400 +++ Devel-PPPort-3.36/t/ppphtest.t 2018-01-22 11:40:04.000000000 -0500 @@ -121,7 +121,7 @@ { my @args = ('ppport.h', @_); unshift @args, $inc if $inc; - my $run = $perl =~ m/\s/ ? qq("$perl") : $perl; + my $run = $perl; $run .= ' -MMac::err=unix' if $isMAC; for (@args) { $_ = qq("$_") if $isVMS && /^[^"]/; @@ -216,8 +216,22 @@ sub find_perl { my $perl = $^X; + if ($] >= 5.010 && $Config{"byteorder"} =~ /^1/) { + # little-endian means intel (not powerpc), for which fink has + # multiple single-arch distros that are seen by a single (fat) + # perl interp from apple for a perl version supported by fink + # (i.e., starting with 5.10.0). This is the logic taken from + # Fink::PkgVersion as of fink-0.29.13. + if ( $Config{"longsize"} == 4 ) { + $perl = "/usr/bin/arch -i386 $^X"; # 32-bit + } else { + $perl = "/usr/bin/arch -x86_64 $^X"; # 64-bit + } + } elsif ($perl !~ /^\//) { + $perl = "/usr/bin/env $^X"; + } - return $perl if $isVMS; + return $perl; my $exe = $Config{'_exe'} || '';