Dist::Zilla::Plugin::StaticInstall - Identify a distribution as eligible for static installation


version 0.012


In your dist.ini:

    ; when you are confident this is correct
    mode = on

    ; trust us to set the right value (DANGER!)
    mode = auto

    ; be conservative; just tell us what the value should be
    mode = auto
    dry_run = 1


This is a Dist::Zilla plugin that, when mode is on, provides the following distribution metadata:

    x_static_install : "1"

The plugin performs a number of checks against the distribution to determine the proper value of the x_static_install metadata field. When set to a true value, this indicates that the can skip a number of installation steps (such as running Makefile.PL or Build.PL and acting on its side effects).

The definition of a "static installation" is being prototyped by the Perl Toolchain Gang and is still being refined. DO NOT USE THIS PLUGIN if you are not involved in this testing. The proper installation of the built distribution cannot be guaranteed if installed with a static install-enabled client.

The tentative specification is spelled out in more detail in

This plugin currently checks these conditions (if all are true, x_static_install can be true):



When set to on, the value of x_static_install is set to 1 (the normal usecase).

When set to off, the value of x_static_install is set to 0, which is equivalent to not providing this field at all.

When set to auto, we attempt to calculate the proper value. When used with dry_run = 1, the value isn't actually stored, but just provided in a diagnostic message. This is the recommended usage in a plugin bundle, for testing against a number of distributions at once.

The calculations are always performed, no matter the value of mode -- if it comes up with a different result than what you are setting, this is logged. If mode = on and the calculations discover the distribution is ineligible for this flag, the build fails, to prevent you from releasing bad metadata.


When true, no value is set in metadata, but verbose logging is enabled so you can see what the value would have been.



Bugs may be submitted through the RT bug tracker (or

There is also a mailing list available for users of this distribution, at

There is also an irc channel available for users of this distribution, at #distzilla on

I am also usually active on irc, as 'ether' at


Karen Etheridge <>


This software is copyright (c) 2015 by Karen Etheridge.

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