use 5.006; use strict; use warnings; use Config; use FileHandle; use Module::Build; (my $mbv = Module::Build->VERSION) =~ s/_//g; my %attr = ( dist_author => 'Tom Wyant (wyant at cpan dot org)', dist_abstract => 'Download satellite orbital elements from Space Track', module_name => 'Astro::SpaceTrack', get_options => {y => {}, n => {}}, dynamic_config => 1, license => 'perl', requires => { perl => 5.006, 'Compress::Zlib' => 0, 'HTML::Parser' => 0, 'HTTP::Response' => 0, 'HTTP::Status' => 0, 'LWP::UserAgent' => 0, 'Params::Util' => 0.12, }, configure_requires => {}, # Don't require Module::Build ); $mbv >= 0.28 and $attr{meta_merge} = { no_index => { directory => [qw{inc t}], }, resources => { bugtracker => 'https://rt.cpan.org/Public/Dist/Display.html?Name=Astro-SpaceTrack', }, }; $mbv >= 0.34 and $attr{auto_configure_requires} = 0; # Don't require Module::Build # Generate a builder object. my $bldr = Module::Build->new (%attr); # Find out what the user wants to do. my %opt = $bldr->args (); my @exe_files; my @clean_files; my @possible_exes = ('SpaceTrack'); my $tk = eval {require Tk} and push @possible_exes, 'SpaceTrackTk'; print $tk ? <prompt ("Do you want to install $_?", 'n') =~ m/^y/i ; } } if (@exe_files) { if ($^O eq 'MSWin32') { @exe_files = map {"bin/$_"} @exe_files; foreach (@exe_files) {`pl2bat $_`} @clean_files = @exe_files = grep {-e $_} map {"$_.bat"} @exe_files; } elsif ($^O eq 'VMS') { foreach my $fni (map {"[.bin]$_"} @exe_files) { my $fno = "$fni.com"; my $fhi = FileHandle->new ("<$fni") or die <new (">$fno") or die <) {print $fho $_} } @clean_files = @exe_files = map {"[.bin]$_.com"} @exe_files; } else { @exe_files = map {"bin/$_"} @exe_files; } } # Tell Module::Build what we want to do. $bldr->add_to_cleanup (\@clean_files); $bldr->script_files (\@exe_files); # Generate the build script, at long last. $bldr->create_build_script ();