use strict;
use warnings;
use Module::Build;
my $build = Module::Build->new(
module_name => 'IO::Async',
requires => {
'Future' => '0.33', # ->catch
'Future::Utils' => '0.18', # try_repeat
'Exporter' => '5.57',
'File::stat' => 0,
'IO::Poll' => 0,
'List::Util' => 0,
# Require Socket 2.029 on MSWin32 because of AF_UNIX (RT133018)
( 'Socket' => ( $^O eq "MSWin32" ? '2.029' : '2.007' ) ),
'Storable' => 0,
'Struct::Dumb' => 0,
'Time::HiRes' => 0,
# Fails on perl 5.8.3 for unknown reasons
'perl' => '5.008004',
},
recommends => {
'IO::Socket::IP' => 0,
},
test_requires => {
'File::Temp' => 0,
'Test::Fatal' => 0,
'Test::Future::IO::Impl' => 0,
'Test::Identity' => 0,
'Test::Metrics::Any' => 0,
'Test::More' => '0.88',
'Test::Refcount' => 0,
},
configure_requires => {
'Module::Build' => '0.4004', # test_requires
},
license => 'perl',
create_license => 1,
create_readme => 1,
meta_merge => {
resources => {
x_IRC => "irc://irc.perl.org/#io-async",
},
},
);
$build->create_build_script;