diff options
author | Jesse Luehrs <doy@tozt.net> | 2013-09-03 17:47:56 -0400 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2013-09-03 17:47:56 -0400 |
commit | 1bad3b1a6d90b8b38bbfab90beba68cce49d4c3b (patch) | |
tree | c464647e8d3a9d14105c3befb2c8d32c1a66241a | |
parent | 8d77fdc31bfa69d28cfdaa549e72f5d57dda68ef (diff) | |
download | package-stash-1bad3b1a6d90b8b38bbfab90beba68cce49d4c3b.tar.gz package-stash-1bad3b1a6d90b8b38bbfab90beba68cce49d4c3b.zip |
refactor
-rw-r--r-- | inc/MMPackageStash.pm | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/inc/MMPackageStash.pm b/inc/MMPackageStash.pm index d471114..dd658da 100644 --- a/inc/MMPackageStash.pm +++ b/inc/MMPackageStash.pm @@ -8,6 +8,8 @@ around _build_MakeFile_PL_template => sub { my $orig = shift; my $self = shift; + my $xs_version = $self->zilla->prereqs->requirements_for('runtime', 'recommends')->as_string_hash->{'Package::Stash::XS'}; + # copied from M::I my $can_cc = <<'CAN_CC'; use Config (); @@ -42,13 +44,16 @@ sub can_cc { } CAN_CC - my $template = $self->$orig(@_); - - my $xs_version = $self->zilla->prereqs->requirements_for('runtime', 'recommends')->as_string_hash->{'Package::Stash::XS'}; + my $fixup_prereqs = <<PREREQS; +\$WriteMakefileArgs{PREREQ_PM}{'Package::Stash::XS'} = $xs_version + if can_cc(); +PREREQS - $template =~ s/(WriteMakefile\()/\$WriteMakefileArgs{PREREQ_PM}{'Package::Stash::XS'} = $xs_version\n if can_cc();\n\n$1/; + my $template = $self->$orig(@_); + $template =~ s/(WriteMakefile\()/$fixup_prereqs\n$1/; + $template .= $can_cc; - return $template . $can_cc; + return $template; }; __PACKAGE__->meta->make_immutable; |