NAME

    Alien::patch - Find or build patch

VERSION

    version 0.15

SYNOPSIS

     use Alien::patch ();
     use Env qw( @PATH );
     
     unshift @PATH, Alien::patch->bin_dir;
     my $patch = Alien::patch->exe;
     system "$patch -p1 < foo.patch";

    Or in your alienfile:

     use alienfile;
     ...
     share {
        ...
        # Alien-Build knows to automatically pull in Alien::patch
        # so you do not need to specify it as a prereq.
        # The %{.install.patch} directory is a shortcut for the
        # `patch' directory in your dist, and gets copied into the
        # dist share directory, so you can rebuild with `af' after
        # install.
        patch [ '%{patch} -p1 < %{.install.patch}/mypatch.patch' ];
     };

    Or with Alien::Build::ModuleBuild:

     use Alien::Base::ModuleBuild;
     Alien::Base::ModuleBuild->new(
       ...
       alien_bin_requires => {
         'Alien::patch' => '0.08',
       },
       alien_build_commands => {
         '%{patch} -p1 < foo.patch',
       },
       ...
     )->create_build_script;

DESCRIPTION

    Many environments provide the patch command, but a few do not. Using
    this module in your alienfile (or elsewhere) you can make sure that
    patch will be available. If the system provides it, then great, this
    module is a no-op. If it does not, then it will download and install it
    into a private location so that it can be added to the PATH when this
    module is used.

    This class is a subclass of Alien::Base, and works closely with
    Alien::Build and alienfile

METHODS

 exe

     my $exe = Alien::patch->exe;

    Returns the command to run patch on your system. For now it simply adds
    the --binary option on Windows (MSWin32 but not cygwin) which is
    usually what you want.

HELPERS

 patch

     %{patch}

    When used with Alien::Base::ModuleBuild in a alien_build_commands or
    alien_install_commands, this helper will be replaced by either patch
    (Unix and cygwin) or patch --binary (MSWin32).

SEE ALSO

    Alien

    Alien::Build

    alienfile

    1;

AUTHOR

    Author: Graham Ollis <plicease@cpan.org>

    Contributors:

    Zakariyya Mughal

COPYRIGHT AND LICENSE

    This software is copyright (c) 2017 by Graham Ollis.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.