From 1de0245b552a791eca039472a61b8b8493626805 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 29 Mar 2011 14:21:19 -0500 Subject: don't mark ::XS as a dep, but do set dynamic_config = 1 --- inc/DistMeta.pm | 31 +++++++++++++++++++++++++++++++ inc/MMPackageStash.pm | 4 +++- 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 inc/DistMeta.pm (limited to 'inc') diff --git a/inc/DistMeta.pm b/inc/DistMeta.pm new file mode 100644 index 0000000..aa340f5 --- /dev/null +++ b/inc/DistMeta.pm @@ -0,0 +1,31 @@ +package inc::DistMeta; +use Moose; + +has metadata => ( + is => 'ro', + isa => 'HashRef', + required => 1, +); + +with 'Dist::Zilla::Role::MetaProvider'; + +around BUILDARGS => sub { + my $orig = shift; + my $self = shift; + + my $params = $self->$orig(@_); + + my $zilla = delete $params->{zilla}; + my $plugin_name = delete $params->{plugin_name}; + + return { + zilla => $zilla, + plugin_name => $plugin_name, + metadata => $params, + }; +}; + +__PACKAGE__->meta->make_immutable; +no Moose; + +1; diff --git a/inc/MMPackageStash.pm b/inc/MMPackageStash.pm index bcbc48e..de68a03 100644 --- a/inc/MMPackageStash.pm +++ b/inc/MMPackageStash.pm @@ -44,7 +44,9 @@ CAN_CC my $template = $self->$orig(@_); - $template =~ s/(WriteMakefile\()/delete \$WriteMakefileArgs{PREREQ_PM}{'Package::Stash::XS'}\n unless can_cc();\n\n$1/; + my $xs_version = $self->zilla->prereqs->requirements_for('runtime', 'recommends')->as_string_hash->{'Package::Stash::XS'}; + + $template =~ s/(WriteMakefile\()/\$WriteMakefileArgs{PREREQ_PM}{'Package::Stash::XS'} = $xs_version\n if can_cc();\n\n$1/; return $template . $can_cc; }; -- cgit v1.2.3-54-g00ecf