Blame Build.PL

Packit 3e1c34
#
Packit 3e1c34
# Module::Build build script for Mail::SPF
Packit 3e1c34
#
Packit 3e1c34
# (C) 2005-2012 Julian Mehnle <julian@mehnle.net>
Packit 3e1c34
# $Id: Build.PL 61 2013-07-22 03:45:15Z julian $
Packit 3e1c34
#
Packit 3e1c34
##############################################################################
Packit 3e1c34
Packit 3e1c34
use Module::Build 0.26;
Packit 3e1c34
use version;
Packit 3e1c34
Packit 3e1c34
my $class = Module::Build->subclass( code => <<'EOF' );
Packit 3e1c34
Packit 3e1c34
    sub process_extra_files {
Packit 3e1c34
        my ($self, $dir) = @_;
Packit 3e1c34
        $dir ||= $element;
Packit 3e1c34
        File::Find::find(
Packit 3e1c34
            {
Packit 3e1c34
                wanted      => sub {
Packit 3e1c34
                    $File::Find::prune = 1 if -d and /\.svn$/;  # Exclude .svn/ dirs.
Packit 3e1c34
                    return if not -f;                           # Handle files only.
Packit 3e1c34
Packit 3e1c34
                    my $destination = $self->copy_if_modified(
Packit 3e1c34
                        from    => $File::Find::name,
Packit 3e1c34
                        to      => File::Spec->catfile($self->blib, $File::Find::name)
Packit 3e1c34
                    );
Packit 3e1c34
                    return if not defined($destination);        # Already up to date?
Packit 3e1c34
Packit 3e1c34
                    chmod((stat($File::Find::name))[2], $destination)
Packit 3e1c34
                        or warn("Cannot set permissions on $destination: $!");
Packit 3e1c34
                },
Packit 3e1c34
                no_chdir    => 1
Packit 3e1c34
            },
Packit 3e1c34
            $dir
Packit 3e1c34
        );
Packit 3e1c34
    }
Packit 3e1c34
Packit 3e1c34
    sub process_sbin_files    { shift->process_extra_files('sbin')    }
Packit 3e1c34
Packit 3e1c34
EOF
Packit 3e1c34
Packit 3e1c34
my $build = $class->new(
Packit 3e1c34
    module_name         => 'Mail::SPF',
Packit 3e1c34
    dist_author         => [
Packit 3e1c34
        'Julian Mehnle <julian@mehnle.net>',
Packit 3e1c34
        'Shevek <cpan@anarres.org>'
Packit 3e1c34
    ],
Packit 3e1c34
    license             => 'bsd',
Packit 3e1c34
    requires            => {
Packit 3e1c34
        # Core requirements:
Packit 3e1c34
        perl                => '5.006',
Packit 3e1c34
        version             => 0,
Packit 3e1c34
        Error               => 0,
Packit 3e1c34
        NetAddr::IP         => '4',
Packit 3e1c34
        Net::DNS            => '0.62',
Packit 3e1c34
        URI                 => '1.13'
Packit 3e1c34
    },
Packit 3e1c34
    recommends          => {
Packit 3e1c34
        NetAddr::IP         => '4.007'  # has all $& and $` removed for better performance
Packit 3e1c34
    },
Packit 3e1c34
    configure_requires  => {
Packit 3e1c34
        # Configuration requirements:
Packit 3e1c34
        Module::Build       => '0.2805'
Packit 3e1c34
    },
Packit 3e1c34
    build_requires      => {
Packit 3e1c34
        # Build requirements:
Packit 3e1c34
        Module::Build       => '0.2805',
Packit 3e1c34
        Test::More          => 0,
Packit 3e1c34
        Net::DNS::Resolver::Programmable
Packit 3e1c34
                            => '0.003',
Packit 3e1c34
    },
Packit 3e1c34
    script_files        => [
Packit 3e1c34
        'bin/spfquery'
Packit 3e1c34
    ],
Packit 3e1c34
    install_path        => {
Packit 3e1c34
        'sbin'              => '/usr/sbin'
Packit 3e1c34
    },
Packit 3e1c34
    create_makefile_pl  => 'passthrough',
Packit 3e1c34
    sign                => 1
Packit 3e1c34
);
Packit 3e1c34
Packit 3e1c34
$build->add_build_element($_)
Packit 3e1c34
    foreach qw(sbin);
Packit 3e1c34
Packit 3e1c34
$build->create_build_script();