++ed by:

8 PAUSE users
10 non-PAUSE users.

Christopher Fields
and 1 contributors




This is a subclass of Module::Build so we can override certain methods and do fancy stuff

It was first written against Module::Build::Base v0.2805. Many of the methods here are copy/pasted from there in their entirety just to change one or two minor things, since for the most part Module::Build::Base code is hard to cleanly override.

Note: per bug 3196, the majority of the code in this module has been revised or commented out to bring it in line with the Module::Build API. In particular, 'requires/recommends' tags in the Build.PL file were not of the same format as those for Module::Build, and so caused serious issues with newer versions (including giving incorrect meta data). Other problematic methods involving automatic installation of prereq modules via CPAN were also removed as they do not work with more modern perl tools such as perlbrew and cpanm.

AUTHOR Sendu Bala


Our modules are in Bio, not lib


Ask what scripts to install (this method is unique to bioperl)


Our version of script_files doesn't take args but just installs those scripts requested by the user after choose_scripts() is called. If it wasn't called, installs all scripts in scripts directory


Overridden simply to not print the default answer if chosen by hitting return


We always generate a new MANIFEST instead of allowing existing files to remain MANIFEST.SKIP is left alone


Extended to run scripts post-installation


For use with auto_features, which should require LWP::UserAgent as one of its reqs

Note: as of 4-11-11, this is no longer called - if someone wants to run network tests (off by default) w/o a network, then they are hanging themselves by their own shoelaces.


Don't copy across man3 docs since they're of little use under Windows and have bad filenames


When supplied a true value, pretends libdoc doesn't exist (preventing man3 installation for ppmdist). when supplied false, they exist again


We make all archive formats we want, not just .tar.gz we also auto-run manifest action, since we always want to re-create MANIFEST and MANIFEST.SKIP just-in-time


Define custom clean/realclean actions to rearrange config file cleanup


Define custom clean/realclean actions to rearrange config file cleanup


This wraps the base metafile method to add in version information from Bio::Root::Version to META.json and META.yml if it isn't already present. Note this should be compliant with meta_add and meta_merge, but occurs after those steps. If a version is already set and dist_version differs from the set one, a warning is printed.


Makes zip file for windows users and bzip2 files as well


A method that can be called in a Build.PL script to ask the user if they want internet tests. Should only be called if you have tested for yourself that $build->feature('Network Tests') is true

Override the build script warnings flag