Skip to content

Latest commit

 

History

History
124 lines (80 loc) · 4.18 KB

README.md

File metadata and controls

124 lines (80 loc) · 4.18 KB

Dist::Zilla::Plugin::AlienBuild linux

Use Alien::Build with Dist::Zilla

SYNOPSIS

[AlienBuild]

DESCRIPTION

This Dist::Zilla plugin is designed to help create Alien modules using the alienfile and Alien::Build recipe system with Alien::Base. The intent is that you will maintain your alienfile as you normally would, and this plugin will ensure the right prereqs are specified in the META.json and other things that are easy to get not quite right.

Specifically, this plugin:

PROPERTIES

alienfile_meta

As of version 0.23, this plugin adds a special x_alienfile metadata to your META.json or META.yml. This contains the share and system prereqs based on your alienfile. This may be useful for one day searching for Aliens which use another specific Alien during their build. Note that by their nature, share and system prereqs are dynamic, so on some platforms they may actually be different.

This is on by default. You can turn this off by setting this property to 0.

clean_install

Sets the clean_install property on Alien::Build::MM.

eumm_hash_var

Sets the variable name that is used in the Makefile.PL for its arguments. Defaults to %WriteMakefileArgs, and is required to begin with % or $. This is useful when defining your own Makefile template with Dist::Zilla::Plugin::MakeMaker::Custom.

NOTES

When defining your own Makefile.PL template (to use with Dist::Zilla::Plugin::MakeMaker::Custom, for example,) you can specify where you want this module to insert its code by having this line in the template:

# ALIEN BUILD MM

An example template to use would be this:

use ExtUtils::MakeMaker ##{ $eumm_version ##};

my %args = (
  NAME => "My::Alien::Module",
##{ $plugin->get_default(qw(ABSTRACT AUTHOR LICENSE VERSION)) ##}
##{ $plugin->get_prereqs(1) ##}
);

# ALIEN BUILD MM

WriteMakefile(%args);

and a dist.ini using this template would include this:

[MakeMaker::Custom]
# We need to manipulate %args on-the-fly if we set the version of ExtUtils::MakeMaker any lower.
eumm_version: 6.64

[AlienBuild]
eumm_hash_var: %args

SEE ALSO

Alien::Build, alienfile, Alien::Base, Alien::Build::MM, Alien::Build::MB, Dist::Zilla::Plugin::AlienBase::Doc

AUTHOR

Author: Graham Ollis [email protected]

Contributors:

Curtis Jewell (CSJEWELL)

COPYRIGHT AND LICENSE

This software is copyright (c) 2017-2025 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.