Blame Makefile.PL

Packit bd23c0
#!perl
Packit bd23c0
#===============================================================================
Packit bd23c0
#
Packit bd23c0
# Makefile.PL
Packit bd23c0
#
Packit bd23c0
# DESCRIPTION
Packit bd23c0
#   Makefile creation script.
Packit bd23c0
#
Packit bd23c0
# COPYRIGHT
Packit bd23c0
#   Copyright (C) 2014, 2015 Steve Hay.  All rights reserved.
Packit bd23c0
#
Packit bd23c0
# LICENCE
Packit bd23c0
#   This script is free software; you can redistribute it and/or modify it under
Packit bd23c0
#   the same terms as Perl itself, i.e. under the terms of either the GNU
Packit bd23c0
#   General Public License or the Artistic License, as specified in the LICENCE
Packit bd23c0
#   file.
Packit bd23c0
#
Packit bd23c0
#===============================================================================
Packit bd23c0
Packit bd23c0
use 5.008001;
Packit bd23c0
Packit bd23c0
use strict;
Packit bd23c0
use warnings;
Packit bd23c0
Packit bd23c0
use ExtUtils::MakeMaker 6.64;
Packit bd23c0
use ExtUtils::MakeMaker qw(WriteMakefile);
Packit bd23c0
Packit bd23c0
## no critic (Subroutines::ProhibitSubroutinePrototypes)
Packit bd23c0
Packit bd23c0
sub running_under_cpan();
Packit bd23c0
Packit bd23c0
#===============================================================================
Packit bd23c0
# INITIALIZATION
Packit bd23c0
#===============================================================================
Packit bd23c0
Packit bd23c0
our($CfgFile, $CfgPath);
Packit bd23c0
Packit bd23c0
BEGIN {
Packit bd23c0
    $CfgFile = 'libnet.cfg';
Packit bd23c0
    $CfgPath = "Net/$CfgFile";
Packit bd23c0
}
Packit bd23c0
Packit bd23c0
#===============================================================================
Packit bd23c0
# MAIN PROGRAM
Packit bd23c0
#===============================================================================
Packit bd23c0
Packit bd23c0
MAIN: {
Packit bd23c0
    my %prereq_pms = ();
Packit bd23c0
    $prereq_pms{'Convert::EBCDIC'} = '0.06' if $^O eq 'os390';
Packit bd23c0
Packit bd23c0
    my $xt = 'n';
Packit bd23c0
    if (not running_under_cpan() and not $ENV{PERL_CORE}) {
Packit bd23c0
        $xt = prompt("Should I do external tests?\n" .
Packit bd23c0
                     "These tests will fail if there is no internet" .
Packit bd23c0
                     " connection or if a firewall\n" .
Packit bd23c0
                     "blocks or modifies some traffic.\n" .
Packit bd23c0
                     "[y/N]", 'n');
Packit bd23c0
    }
Packit bd23c0
Packit bd23c0
    my $tests = 't/*.t';
Packit bd23c0
    $tests .= ' t/external/*.t' if $xt =~ m/^y/io;
Packit bd23c0
Packit bd23c0
    WriteMakefile(
Packit bd23c0
        NAME     => 'Net',
Packit bd23c0
        DISTNAME => 'libnet',
Packit bd23c0
        ABSTRACT => 'Collection of network protocol modules',
Packit bd23c0
        AUTHOR   => 'Graham Barr <gbarr@pobox.com>, Steve Hay <shay@cpan.org>',
Packit bd23c0
        LICENSE  => 'perl_5',
Packit bd23c0
        VERSION  => '3.11',
Packit bd23c0
Packit bd23c0
        META_MERGE => {
Packit bd23c0
            'meta-spec' => {
Packit bd23c0
                version => 2
Packit bd23c0
            },
Packit bd23c0
Packit bd23c0
            resources => {
Packit bd23c0
                repository => {
Packit bd23c0
                    type => 'git',
Packit bd23c0
                    url  => 'https://github.com/steve-m-hay/perl-libnet.git'
Packit bd23c0
                }
Packit bd23c0
            },
Packit bd23c0
Packit bd23c0
            optional_features => {
Packit bd23c0
                APOP => {
Packit bd23c0
                    description => 'APOP support',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        runtime => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'Digest::MD5' => '0'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                AUTH => {
Packit bd23c0
                    description => 'AUTH support',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        runtime => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'Authen::SASL' => '0',
Packit bd23c0
                                'MIME::Base64' => '0'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                SSL => {
Packit bd23c0
                    description => 'SSL support',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        runtime => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'IO::Socket::SSL' => '2.007'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                IPv6 => {
Packit bd23c0
                    description => 'IPv6 support',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        runtime => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'IO::Socket::IP' => '0.25'
Packit bd23c0
                            # or IO::Socket::INET6 2.62
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                changestest => {
Packit bd23c0
                    description => 'Changes testing',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        test => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'Test::CPAN::Changes' => '0'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                critictest => {
Packit bd23c0
                    description => 'Perl::Critic testing',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        test => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'Test::Perl::Critic' => '0'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                podtest => {
Packit bd23c0
                    description => 'POD testing',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        test => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'Test::Pod' => '1.00'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                },
Packit bd23c0
Packit bd23c0
                podcoveragetest => {
Packit bd23c0
                    description => 'POD coverage testing',
Packit bd23c0
                    prereqs => {
Packit bd23c0
                        test => {
Packit bd23c0
                            requires => {
Packit bd23c0
                                'Test::Pod::Coverage' => '0.08'
Packit bd23c0
                            }
Packit bd23c0
                        }
Packit bd23c0
                    }
Packit bd23c0
                }
Packit bd23c0
            }
Packit bd23c0
        },
Packit bd23c0
Packit bd23c0
        MIN_PERL_VERSION => '5.008001',
Packit bd23c0
Packit bd23c0
        CONFIGURE_REQUIRES => {
Packit bd23c0
            'ExtUtils::MakeMaker' => '6.64',
Packit bd23c0
            'Getopt::Std'         => '0',
Packit bd23c0
            'IO::File'            => '0',
Packit bd23c0
            'perl'                => '5.008001',
Packit bd23c0
            'strict'              => '0',
Packit bd23c0
            'vars'                => '0',
Packit bd23c0
            'warnings'            => '0'
Packit bd23c0
        },
Packit bd23c0
Packit bd23c0
        TEST_REQUIRES => {
Packit bd23c0
            'Config' => '0',
Packit bd23c0
            'Cwd'    => '0'
Packit bd23c0
        },
Packit bd23c0
Packit bd23c0
        PREREQ_PM => {
Packit bd23c0
            %prereq_pms,
Packit bd23c0
            'Carp'           => '0',
Packit bd23c0
            'Errno'          => '0',
Packit bd23c0
            'Exporter'       => '0',
Packit bd23c0
            'Fcntl'          => '0',
Packit bd23c0
            'File::Basename' => '0',
Packit bd23c0
            'FileHandle'     => '0',
Packit bd23c0
            'IO::Select'     => '0',
Packit bd23c0
            'IO::Socket'     => '1.05',
Packit bd23c0
            'POSIX'          => '0',
Packit bd23c0
            'Socket'         => '2.016',
Packit bd23c0
            'Symbol'         => '0',
Packit bd23c0
            'Time::Local'    => '0',
Packit bd23c0
            'constant'       => '0',
Packit bd23c0
            'strict'         => '0',
Packit bd23c0
            'utf8'           => '0',
Packit bd23c0
            'vars'           => '0'
Packit bd23c0
        },
Packit bd23c0
Packit bd23c0
        INSTALLDIRS => ($] < 5.011 ? 'perl' : 'site'),
Packit bd23c0
Packit bd23c0
        realclean => {
Packit bd23c0
            FILES => $CfgFile
Packit bd23c0
        },
Packit bd23c0
Packit bd23c0
        test => {
Packit bd23c0
            TESTS => $tests
Packit bd23c0
        },
Packit bd23c0
Packit bd23c0
        dist => {
Packit bd23c0
            PREOP   => 'find $(DISTVNAME) -type d -print|xargs chmod 0755 && ' .
Packit bd23c0
                       'find $(DISTVNAME) -type f -print|xargs chmod 0644',
Packit bd23c0
            TO_UNIX => 'find $(DISTVNAME) -type f -print|xargs dos2unix'
Packit bd23c0
        }
Packit bd23c0
    );
Packit bd23c0
}
Packit bd23c0
Packit bd23c0
#===============================================================================
Packit bd23c0
# MAKEMAKER OVERRIDES
Packit bd23c0
#===============================================================================
Packit bd23c0
Packit bd23c0
sub MY::post_initialize {
Packit bd23c0
    my $self = shift;
Packit bd23c0
Packit Service 33818e
    return '';
Packit bd23c0
Packit bd23c0
    if (not -f $CfgFile) {
Packit bd23c0
        my @args = qw(Configure);
Packit bd23c0
        push @args, '-d' if $ENV{PERL5_CPAN_IS_RUNNING}     ||
Packit bd23c0
                            $ENV{PERL5_CPANPLUS_IS_RUNNING} ||
Packit bd23c0
                            $ENV{PERL5_CPANM_IS_RUNNING};
Packit bd23c0
        system(($^O eq 'VMS' ? 'mcr ': ()), $^X, @args)
Packit bd23c0
    }
Packit bd23c0
Packit bd23c0
    $self->{PM}{$CfgFile} = $self->catfile('$(INST_LIBDIR)',$CfgPath);
Packit bd23c0
Packit bd23c0
    return '';
Packit bd23c0
}
Packit bd23c0
Packit bd23c0
#===============================================================================
Packit bd23c0
# SUBROUTINES
Packit bd23c0
#===============================================================================
Packit bd23c0
Packit bd23c0
sub running_under_cpan() {
Packit bd23c0
    return $ENV{PERL5_CPAN_IS_RUNNING}     || # cpan
Packit bd23c0
           $ENV{PERL5_CPANPLUS_IS_RUNNING} || # cpanp
Packit bd23c0
           $ENV{PERL5_CPANM_IS_RUNNING};      # cpanm
Packit bd23c0
}
Packit bd23c0
Packit bd23c0
#===============================================================================