Alien-Box2D
view release on metacpan or search on metacpan
inc/My/Builder.pm view on Meta::CPAN
$diff =~ s/\ndiff /\nSpLiTmArKeRdiff /g;
my @patches = split('SpLiTmArKeR', $diff);
print STDERR "Applying patch file: '$patch_file'\n";
foreach my $p (@patches) {
my ($k) = map{$_ =~ /\n---\s*([\S]+)/} $p;
# doing the same like -p1 for 'patch'
$k =~ s|\\|/|g;
$k =~ s|^[^/]*/(.*)$|$1|;
$k = catfile($dir_to_be_patched, $k);
print STDERR "- gonna patch '$k'\n" if $self->notes('build_debug_info');
open(SRC, $k) or die "###ERROR### Cannot open file: '$k'\n";
$src = <SRC>;
close(SRC);
$src =~ s/\r\n/\n/g; #normalise newlines
my $out = eval { Text::Patch::patch( $src, $p, { STYLE => "Unified" } ) };
if ($out) {
open(OUT, ">", $k) or die "###ERROR### Cannot open file for writing: '$k'\n";
print(OUT $out);
( run in 0.964 second using v1.01-cache-2.11-cpan-49f99fa48dc )