'meta-spec' => { version => 2 },
dynamic_config => 1,
resources => {
+ # r/w: p5sagit@git.shadowcat.co.uk:JSON-MaybeXS.git
repository => {
- url => 'https://github.com/karenetheridge/JSON-MaybeXS.git',
- web => 'https://github.com/karenetheridge/JSON-MaybeXS',
+ url => 'git://git.shadowcat.co.uk/p5sagit/JSON-MaybeXS.git',
+ web => 'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/JSON-MaybeXS.git',
type => 'git',
},
bugtracker => {
},
runtime => {
requires => {
+ 'Scalar::Util' => '0',
+ 'Carp' => '0',
'JSON::PP' => '2.27202',
# we may also add a runtime prereq for Cpanel::JSON::XS, on the
# installer's machine
},
},
},
-
- realclean => { FILES => [ 'Distar/', 'MANIFEST*' ] },
);
my $eumm_version = eval $ExtUtils::MakeMaker::VERSION;
defined $r->{$_} or delete $r->{$_} for keys %$r;
}
+# dynamic prereqs get added here.
+
# we require Cpanel::JSON::XS, except if JSON::XS is already installed.
# (we also always recommend Cpanel::JSON::XS, just to make sure.)
$WriteMakefileArgs{PREREQ_PM}{'Cpanel::JSON::XS'} = '2.3310'
- if can_xs() && !eval { require JSON::XS; 1; };
+ if not parse_args()->{PUREPERL_ONLY}
+ and not eval { require JSON::XS; 1; }
+ and can_xs();
$WriteMakefileArgs{MIN_PERL_VERSION} = delete $WriteMakefileArgs{PREREQ_PM}{perl} || 0;
+die 'attention developer: you need to do a sane meta merge here!'
+ if keys %{$WriteMakefileArgs{BUILD_REQUIRES}};
+
$WriteMakefileArgs{BUILD_REQUIRES} = {
%{$WriteMakefileArgs{BUILD_REQUIRES} || {}},
%{delete $WriteMakefileArgs{TEST_REQUIRES}}
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
if $eumm_version < 6.51_03;
+delete $WriteMakefileArgs{MIN_PERL_VERSION}
+ if $eumm_version < 6.48;
+
+delete @WriteMakefileArgs{qw(META_ADD META_MERGE)}
+ if $eumm_version < 6.46;
+
+delete $WriteMakefileArgs{LICENSE}
+ if $eumm_version < 6.31;
+
WriteMakefile(%WriteMakefileArgs);
+
+sub parse_args {
+ # copied from EUMM
+ require ExtUtils::MakeMaker;
+ require Text::ParseWords;
+ ExtUtils::MakeMaker::parse_args(
+ my $tmp = {},
+ Text::ParseWords::shellwords($ENV{PERL_MM_OPT} || ''),
+ @ARGV,
+ );
+ return $tmp->{ARGS} || {};
+}
+
# can we locate a (the) C compiler
sub can_cc {
my @chunks = split(/ /, $Config::Config{cc}) or return;