http://www.pobox.com/~schwern/src/ExtUtils-MakeMaker-6.26.tar.gz or http://svn.schwern.org/svn/CPAN/ExtUtils-MakeMaker/trunk or a CPAN near you.
And its about time, too. This is the first version since 6.21 (back in November 2003) that I can say with confidence fixes more than it breaks (isn't that reassuring) and is good enough to be considered for the 5.8.x track (which is still using 6.21). What's new since 6.25? ********************** SIGNATURE and META.yml will no longer be generated in the source directory. They will only be generated in the distribution directory as part of "make distdir" and thus "make dist". Similarly the MANIFEST will not be altered in the source directory only after its been copied into the distdir. This makes the META.yml and SIGNATURE magic truly transparent and developers don't have to worry about checking in these constantly changing files to version control. *.bak has been added to the default MANIFEST.SKIP INSTALLBASE has been added as a more predictable alternative to PREFIX but it hasn't been documented yet. In short, it works just like Module::Build's. "make test" on Windows will no longer pre-expand its list of files as this could cause command lines too long for Windows to handle with large modules such as bioperl. clean and realclean are now more careful about deleting directories PM_FILTER is set as late as possible which should fix Mail::SpamAssassin installations on Windows using nmake. dir_target() has been undeprecated. .exists files are back (they were removed in 6.18), I couldn't get things to work right without them. Some make implementations don't honor directory targets. :( The pm_to_blib target has been restored to its full functionality so that modules which hook into this target to run their own custom targets will work. (This was broken around 6.21_03) Otherwise its pretty much all internal changes mostly to remove the bulk of the code duplicated between Unix, Windows and VMS to make MakeMaker easier to maintain. That should be the last of the major code changes and thus the last of the major spans of instability. For the curious I've included diffstats of the changes since 6.25 as well as 6.21. The number for each file is the number of lines changed (additions and deletions) while the ++-- part shows you the overall ratio of additions vs deletions. MM_Any (the platform agnostic code) has grown at the expense of MM_Unix, VMS, Win32 and Win95. This is Good.
.patch | 1 Changes | 165 +++ MANIFEST | 11 MANIFEST.SKIP | 46 - META.yml | 14 NOTES | 48 - PATCHING | 43 README | 4 SIGNATURE | 106 -- bin/instmodsh | 196 ++-- lib/ExtUtils/Command.pm | 135 ++- lib/ExtUtils/Command/MM.pm | 16 lib/ExtUtils/Install.pm | 25 lib/ExtUtils/Liblist/Kid.pm | 6 lib/ExtUtils/MANIFEST.SKIP | 7 lib/ExtUtils/MM.pm | 29 lib/ExtUtils/MM_AIX.pm | 78 + lib/ExtUtils/MM_Any.pm | 1540 +++++++++++++++++++++++++---------- lib/ExtUtils/MM_BeOS.pm | 6 lib/ExtUtils/MM_Cygwin.pm | 10 lib/ExtUtils/MM_MacOS.pm | 948 --------------------- lib/ExtUtils/MM_NW5.pm | 22 lib/ExtUtils/MM_OS2.pm | 4 lib/ExtUtils/MM_QNX.pm | 58 + lib/ExtUtils/MM_Unix.pm | 1051 ++++++----------------- lib/ExtUtils/MM_VMS.pm | 686 +++------------ lib/ExtUtils/MM_VOS.pm | 51 + lib/ExtUtils/MM_Win32.pm | 108 +- lib/ExtUtils/MM_Win95.pm | 124 -- lib/ExtUtils/MakeMaker.pm | 43 lib/ExtUtils/MakeMaker/Config.pm | 39 lib/ExtUtils/MakeMaker/FAQ.pod | 67 + lib/ExtUtils/MakeMaker/Tutorial.pod | 14 lib/ExtUtils/Manifest.pm | 39 t/Command.t | 41 t/INST_PREFIX.t | 47 - t/Installed.t | 3 t/Liblist.t | 4 t/MM_BeOS.t | 3 t/MM_Unix.t | 1 t/MM_Win32.t | 11 t/basic.t | 58 - t/config.t | 23 t/dir_target.t | 18 t/hints.t | 4 t/installbase.t | 81 + t/lib/MakeMaker/Test/Setup/BFD.pm | 37 t/lib/MakeMaker/Test/Setup/Recurs.pm | 4 t/lib/MakeMaker/Test/Utils.pm | 64 + t/lib/TieOut.pm | 19 t/oneliner.t | 2 t/parse_version.t | 2 t/prefixify.t | 5 t/prereq_print.t | 12 t/recurs.t | 4 t/split_command.t | 2 t/xs.t | 24 57 files changed, 2902 insertions, 3307 deletions
Changes | 94 ++ MANIFEST | 9 META.yml | 14 PATCHING | 43 README | 2 SIGNATURE | 106 -- lib/ExtUtils/Command.pm | 85 + lib/ExtUtils/Command/MM.pm | 14 lib/ExtUtils/Install.pm | 25 lib/ExtUtils/MANIFEST.SKIP | 4 lib/ExtUtils/MM.pm | 8 lib/ExtUtils/MM_AIX.pm | 78 + lib/ExtUtils/MM_Any.pm | 1557 +++++++++++++++++++++++++---------- lib/ExtUtils/MM_BeOS.pm | 6 lib/ExtUtils/MM_Cygwin.pm | 10 lib/ExtUtils/MM_NW5.pm | 16 lib/ExtUtils/MM_OS2.pm | 4 lib/ExtUtils/MM_QNX.pm | 58 + lib/ExtUtils/MM_Unix.pm | 924 +++++--------------- lib/ExtUtils/MM_VMS.pm | 664 +++----------- lib/ExtUtils/MM_VOS.pm | 51 + lib/ExtUtils/MM_Win32.pm | 92 +- lib/ExtUtils/MM_Win95.pm | 128 -- lib/ExtUtils/MakeMaker.pm | 35 lib/ExtUtils/MakeMaker/Config.pm | 39 lib/ExtUtils/MakeMaker/FAQ.pod | 14 lib/ExtUtils/Manifest.pm | 10 t/INST_PREFIX.t | 28 t/Installed.t | 3 t/MM_Win32.t | 9 t/basic.t | 58 - t/config.t | 23 t/dir_target.t | 4 t/installbase.t | 81 + t/lib/MakeMaker/Test/Setup/BFD.pm | 37 t/lib/MakeMaker/Test/Setup/Recurs.pm | 4 t/lib/MakeMaker/Test/Utils.pm | 64 + t/prefixify.t | 5 t/prereq_print.t | 2 t/recurs.t | 4 t/xs.t | 24 41 files changed, 2331 insertions, 2105 deletions
