The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.2808_04 - 2008-09-11

  • Backed-out incompatible Module::Finder change (first in 0.2808_02.)

Changes for version 0.2808_03 - 2008-09-01

  • Made adjustments for the format changes of recent Test::Harness output. [Nicholas Clark]
  • Fixed the documentation for script_files to indicate that we search bin/ for scripts by default. It has been this way for several years. [Spotted by Ron Savage]

Changes for version 0.2808_02 - 2008-07-09

  • Experimental support for TAP::Harness with --use-tap-harness option and the tap_harness_args property. [David Wheeler & Eric Wilhelm]
  • Added test_file_exts property for main-run tests other than '*.t'.
    • David Wheeler
  • Fixed getcwd()/rmtree() failure case on 5.10+mac where something is unhappy about all of the tests deleting their distgen directory before leaving it. [Eric Wilhelm & David Wheeler]
  • Improved support for parsing qv() in modules' $VERSION declarations, and made $VERSION-parsing errors more verbose. [Jos Boumans]
  • Integrated an omnibus patch for various VMS fixes. [Craig Berry & John E. Malmberg]
  • Some versions of Test::Harness (or something) seem to not be stripping the ".t" suffix when outputting test reports, which was causing one of our tests in t/compat.t to fail. Fixed. [Spotted by a smoke tester]
  • Most Unix platforms seem to allow hyphens in usernames, so we honor this in our de-tilde-fying methods now. [Spotted by s-murata]
  • If there are multiple assignments to the $VERSION variable in someone's module and this generates warnings, tell the user what line number the problem is at.
  • Added 'gnu' and 'gnukfreebsd' as Unix variants. [Niko Tyni]
  • Fixed a couple bugs in how we quote arguments to external processes when they have to pass through the shell. Also much more thoroughly tested our quoting now.
  • Edited the Module::Build::API docs prose about the 'license' field in response to some comments on the module-authors mailing list.
  • Fixed a typo in some example code in the Cookbook. [Jeremy Leader]
  • Custom typemaps were being looked for in places that don't quite exist; fixed. [Michael G Schwern]
  • QNX/Neutrino is now considered to be Unix. [rt.cpan.org 32214]
  • Added 'gpl2' and 'gpl3' to the list of valid licenses. [Allen Engelhardt]
  • Fixed our Data::Dumper wrapper's sensitivity to users who might set $Data::Dumper::Terse. [Spotted by Dominique Dumont]
  • Documented the fix_shebang_line() method. [Elliot Shank]
  • Applied the 'const' modifier to version() and xs_version() XS functions we use during testing. [Robin Barker]
  • Fixed processing of INC=, POLLUTE=, INSTALLDIRS=, and LIB= for passthrough/small Makefile.PLs.
  • perl Build.PL --sign=1 now signs. [Michael G Schwern]
  • Fixed processing of INSTALLDIRS=whatever for compatibility Makefiles. [Spotted by John Peacock]
  • Zillions of special-cases have been added in Compat.pm for dealing with the special Makefile system on VMS. [John E. Malmberg]
  • Fixed some stuff in how VMS command-args get quoted. [John E. Malmberg]
  • VMS now overrides localize_file_path() and localize_dir_path() so we don't need to do special stuff in the general case. [John E. Malmberg]
  • Added a few more VMS-specific entries to the default MANIFEST.SKIP file that (sometimes) gets created during the 'manifest' action. [John E. Malmberg]
  • Fixed a catdir() that should have been a catfile() when creating a ppmdist. [John E. Malmberg]
  • Removed some assumptions about what makefiles are called (not necessarily "Makefile") and how they take their arguments, to get VMS tests working better. [John E. Malmberg]
  • Fixed our check for Archive::Tar in the t/runthrough.t test, which fixes a common failure on Win32. [Spotted by Chris Williams]
  • Fixed a File::Spec mal-ism in t/destinations.t [Craig A. Berry]
  • Exposed the internal ExtUtils::CBuilder object as part of our API, via the cbuilder() method. [Zefram]
  • Upgraded to version.pm 0.74 (fixes bug #30004.)
  • Overwrite core (post-5.9.4) Module::Build installs (bug #20528.)
  • Pass quiet() option to ExtUtils::CBuilder object.

Changes for version 0.2808_01 - 2007-10-24

  • All .pm files in the Module-Build distribution (except for M::B::Version.pm, which is kind of tied to version.pm) now have the same $VERSION number explicitly specified.
  • When checking prerequisites, the required version of perl is now checked before we start finding the $VERSION declaration of the distribution, which results in much more intuitive error messages e.g. if the author is using 5.6-isms in their declaration but the user doesn't have 5.6. [Slaven Rezic]
  • Added 'artistic_2' license, corrected 'lgpl' license url (bug #29783)
    • David Thomas
  • VMS find_perl_interpreter() is just $^X (bug #29810) [Craig A. Berry]
  • Some large VMS fixes, mostly having to do with the non-case- preserving nature of most VMS filesystems, but also correcting for illegal characters in VMS file specs. [John E. Malmberg and Craig A. Berry]
  • Fixed the _detildefy() method on VMS. [John E. Malmberg and Craig A. Berry]
  • We now use a much more reliable method when Data::Dumper-ing saved state data. [Yves]
  • When a module had 0.000 as its version, a few places in the code thought the module had no version at all. This is now fixed. [Andrew "Zefram" Main]
  • When finding the default set of script_files, we now compute them as relative paths, not absolute. [Spotted by Curtis "Ovid" Poe]
  • Got rid of a call to eliminate_macros, which isn't needed in Module::Build since there is no external make utility involved. Override expand_test_dir to make up for the fact that the home-grown glob() returns absolute, not relative, paths. [Craig A. Berry]
  • Fixed a catdir() that needed to be catfile() in the .packlist creation code. [John E. Malmberg]
  • If a *.PL file ended abnormally during the build, processing should have stopped, but it didn't. Fixed. [Matthew Cast and David Golden]
  • Module::Build::Compat adds "require 5.XXXXX" to Makefile.PL when 'perl' is specified as a 'requires' prerequisite [David Golden]
  • Refactored t/compat.t for modularity and transparency; added labels for all tests; supressed subprocess output to STDOUT and STDERR [David Golden]
  • Fixed bug in perl_version_to_float when version is already a float
    • David Golden
  • Removed a mention of $build->{config} from the documentation, the official interface to Config.pm settings is now via the $build->config() and has been for some time. [Suggested by Michael Schwern]
  • Tweaked some text in the Cookbook to bring it into the modern age, and added a recipe for accessing Config.pm settings. [Ibid]
  • Lots of POD link/readability improvements to the Module::Build::API documentation [Salve J. Nilsen]
  • Added configure_requires as a new type of prereq. [Suggested by Adam Kennedy]
  • Patch 31156 from bleadperl: some filename dot and extension help for Module::Build on VMS. [Craig Berry]
  • Reworked the _detildefy() method so it doesn't depend on glob() anymore. This gets rid of a problem with spaces or other special shell characters in things like 'prefix' or 'install_path' entries. [Prodding by Eric Wilhelm]
  • Added midnightbsd to the list of Unix-like OSes we know about
    • Rafael Garcia-Suarez

Documentation

API Reference for Module Authors
Authoring Module::Build modules
Query or change configuration of Perl modules

Modules

Build and install Perl modules
Default methods for Module::Build
Compatibility with ExtUtils::MakeMaker
Examples of Module::Build Usage
Gather package and POD information from a perl module files
Perl Package Manager file creation
Builder class for Amiga platforms
Stub class for unknown platforms
Builder class for EBCDIC platforms
Builder class for MPEiX platforms
Builder class for MacOS platforms
Builder class for RiscOS platforms
Builder class for Unix platforms
Builder class for VMS platforms
Builder class for VOS platforms
Builder class for Windows platforms
Builder class for AIX platform
Builder class for Cygwin platform
Builder class for Mac OS X platform
Builder class for OS/2 platform
Provides just enough YAML support so that Module::Build works even if YAML.pm is not installed

Provides

in lib/Module/Build/Config.pm
in lib/Module/Build/Dumper.pm
in lib/Module/Build/Notes.pm
in lib/Module/Build/PodParser.pm
in lib/Module/Build/Base.pm
in lib/Module/Build/Version.pm