X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=Makefile.PL;h=129a0ac9f1d3be1fec55e7a44817e0156a25be44;hb=bff45299b15c30f7c9a8a9520e51b44ebe60a65f;hp=3748cba05cf1c91bb104c51afed66dce30358b96;hpb=348c850606048437ac49241f5eddee028e4fd0db;p=catagits%2FCatalyst-Engine-STOMP.git diff --git a/Makefile.PL b/Makefile.PL index 3748cba..129a0ac 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -1,18 +1,82 @@ -use 5.008008; -use ExtUtils::MakeMaker; -# See lib/ExtUtils/MakeMaker.pm for details of how to influence -# the contents of the Makefile that is written. -WriteMakefile( - NAME => 'Catalyst::Engine::Stomp', - VERSION_FROM => 'lib/Catalyst/Engine/Stomp.pm', # finds $VERSION - PREREQ_PM => { - Catalyst::Engine::Embeddable => 0.0.1, - Catalyst::Runtime => 5.80003, - Moose => 0, - Net::Stomp => 0.34, - YAML::XS => 0.32, - }, - ($] >= 5.005 ? ## Add these new keywords supported since 5.005 - (ABSTRACT_FROM => 'lib/Catalyst/Engine/Stomp.pm', - AUTHOR => 'Chris Andrews ') : ()), +use inc::Module::Install; +use 5.008006; + +license 'perl'; + +name 'Catalyst-Engine-Stomp'; +all_from 'lib/Catalyst/Engine/Stomp.pm'; + +requires 'Catalyst::Engine::Embeddable' => '0.0.1'; +requires 'Catalyst::Runtime' => '5.80004'; +requires 'Moose' => undef; +requires 'MooseX::Types' => undef; +requires 'MooseX::Workers' => '0.05'; +requires 'Net::Stomp' => '0.34'; +requires 'YAML::XS' => '0.32'; +requires 'Data::Serializer' => '0.49'; +requires 'namespace::autoclean' => '0.05'; + +test_requires 'Alien::ActiveMQ' => '0.00003'; +test_requires 'Catalyst::Plugin::ConfigLoader' => undef; + +my @force_build_requires_if_author = qw( + Test::NoTabs + Test::Pod + Test::Pod::Coverage + Pod::Coverage ); + +if ($Module::Install::AUTHOR) { + foreach my $module (@force_build_requires_if_author) { + build_requires $module; + } + darwin_check_no_resource_forks(); +} + +install_script glob('script/*.pl'); +auto_install; +WriteAll; + +if ($Module::Install::AUTHOR) { + + # Strip out the author only build_requires from META.yml + # Need to do this _after_ WriteAll else it looses track of them + strip_author_only_build_requires(@force_build_requires_if_author); + + Meta->{values}{resources} = [ + [ 'license', => 'http://dev.perl.org/licenses/' ], + [ 'repository', => 'git://github.com/chrisa/catalyst-engine-stomp.git' ], + ]; + + Meta->write; +} + +sub darwin_check_no_resource_forks { + if ($^O eq 'darwin') { + my $osx_ver = `/usr/bin/sw_vers -productVersion`; + chomp $osx_ver; + + # TAR on 10.4 wants COPY_EXTENDED_ATTRIBUTES_DISABLE + # On 10.5 (Leopard) it wants COPYFILE_DISABLE + my $attr = $osx_ver =~ /^10.5/ ? 'COPYFILE_DISABLE' : 'COPY_EXTENDED_ATTRIBUTES_DISABLE'; + + makemaker_args(dist => { PREOP => qq{\@if [ "\$\$$attr" != "true" ]; then}. + qq{ echo "You must set the ENV variable $attr to true,"; }. + ' echo "to avoid getting resource forks in your dist."; exit 255; fi' }); + } +} + +sub strip_author_only_build_requires { + my @build_requires_to_strip = @_; + Meta->{values}{build_requires} = [ grep { + my $ok = 1; + foreach my $module (@build_requires_to_strip) { + if ($_->[0] =~ /$module/) { + $ok = 0; + last; + } + } + $ok; + } @{Meta->{values}{build_requires}} ]; +} +