use
5.008;
my
%WriteMakefileArgs
= (
"ABSTRACT"
=>
"Type constraints and coercions for Perl"
,
"AUTHOR"
=>
"Dave Rolsky <autarch\@urth.org>"
,
"CONFIGURE_REQUIRES"
=> {
"ExtUtils::MakeMaker"
=> 0
},
"DISTNAME"
=>
"Specio"
,
"LICENSE"
=>
"artistic_2"
,
"MIN_PERL_VERSION"
=>
"5.008"
,
"NAME"
=>
"Specio"
,
"PREREQ_PM"
=> {
"B"
=> 0,
"Carp"
=> 0,
"Clone"
=> 0,
"Devel::StackTrace"
=> 0,
"Eval::Closure"
=> 0,
"Exporter"
=> 0,
"IO::File"
=> 0,
"List::Util"
=>
"1.33"
,
"MRO::Compat"
=> 0,
"Module::Runtime"
=> 0,
"Role::Tiny"
=>
"1.003003"
,
"Role::Tiny::With"
=> 0,
"Scalar::Util"
=> 0,
"Sub::Quote"
=> 0,
"Test::Fatal"
=> 0,
"Test::More"
=>
"0.96"
,
"Try::Tiny"
=> 0,
"overload"
=> 0,
"parent"
=> 0,
"re"
=> 0,
"strict"
=> 0,
"version"
=>
"0.83"
,
"warnings"
=> 0
},
"TEST_REQUIRES"
=> {
"ExtUtils::MakeMaker"
=> 0,
"File::Spec"
=> 0,
"FindBin"
=> 0,
"Test::More"
=>
"0.96"
,
"Test::Needs"
=> 0,
"lib"
=> 0,
"open"
=> 0,
"utf8"
=> 0
},
"VERSION"
=>
"0.50"
,
"test"
=> {
"TESTS"
=>
"t/*.t"
}
);
my
%FallbackPrereqs
= (
"B"
=> 0,
"Carp"
=> 0,
"Clone"
=> 0,
"Devel::StackTrace"
=> 0,
"Eval::Closure"
=> 0,
"Exporter"
=> 0,
"ExtUtils::MakeMaker"
=> 0,
"File::Spec"
=> 0,
"FindBin"
=> 0,
"IO::File"
=> 0,
"List::Util"
=>
"1.33"
,
"MRO::Compat"
=> 0,
"Module::Runtime"
=> 0,
"Role::Tiny"
=>
"1.003003"
,
"Role::Tiny::With"
=> 0,
"Scalar::Util"
=> 0,
"Sub::Quote"
=> 0,
"Test::Fatal"
=> 0,
"Test::More"
=>
"0.96"
,
"Test::Needs"
=> 0,
"Try::Tiny"
=> 0,
"lib"
=> 0,
"open"
=> 0,
"overload"
=> 0,
"parent"
=> 0,
"re"
=> 0,
"strict"
=> 0,
"utf8"
=> 0,
"version"
=>
"0.83"
,
"warnings"
=> 0
);
if
($] >= 5.010) {
requires(
'XString'
)
}
unless
(
eval
{ ExtUtils::MakeMaker->VERSION(
'6.63_03'
) } ) {
delete
$WriteMakefileArgs
{TEST_REQUIRES};
delete
$WriteMakefileArgs
{BUILD_REQUIRES};
$WriteMakefileArgs
{PREREQ_PM} = \
%FallbackPrereqs
;
}
delete
$WriteMakefileArgs
{CONFIGURE_REQUIRES}
unless
eval
{ ExtUtils::MakeMaker->VERSION(6.52) };
WriteMakefile(
%WriteMakefileArgs
);
sub
_add_prereq {
my
(
$mm_key
,
$module
,
$version_or_range
) =
@_
;
$version_or_range
||= 0;
warn
"$module already exists in $mm_key (at version $WriteMakefileArgs{$mm_key}{$module}) -- need to do a sane metamerge!"
if
exists
$WriteMakefileArgs
{
$mm_key
}{
$module
}
and
$WriteMakefileArgs
{
$mm_key
}{
$module
} ne
'0'
and
$WriteMakefileArgs
{
$mm_key
}{
$module
} ne
$version_or_range
;
warn
"$module already exists in FallbackPrereqs (at version $FallbackPrereqs{$module}) -- need to do a sane metamerge!"
if
exists
$FallbackPrereqs
{
$module
} and
$FallbackPrereqs
{
$module
} ne
'0'
and
$FallbackPrereqs
{
$module
} ne
$version_or_range
;
$WriteMakefileArgs
{
$mm_key
}{
$module
} =
$FallbackPrereqs
{
$module
} =
$version_or_range
;
return
;
}
sub
requires {
goto
&runtime_requires
}
sub
runtime_requires {
my
(
$module
,
$version_or_range
) =
@_
;
_add_prereq(
PREREQ_PM
=>
$module
,
$version_or_range
);
}