The latest ActiveState build is standard 5.8.8. But the ActiveState automated PPM build farm is the first 5.8 release by ActiveState.
That means that for any module to be automatically built into a PPM, it has to be backwards compatible with Perl 5.8.0 core modules, even if the latest ActiveState release includes updates.
Here's an example from the PPM Build Status for my own Class::InsideOut:
# Tried to use 'Class::InsideOut'.
# Error: "refaddr" is not exported by the Scalar::Util module
# Can't continue after import errors at D:\cpanrun\depot\main\contrib-
+patched\perl\CPAN\src\Class-InsideOut\blib\lib/Class/InsideOut.pm lin
+e 16
# BEGIN failed--compilation aborted at D:\cpanrun\depot\main\contrib-p
+atched\perl\CPAN\src\Class-InsideOut\blib\lib/Class/Idubious
Now let's climb in the way-back machine to Perl 5.8.0 in July 2002 and look at the Scalar::Util source:
# Scalar::Util.pm
#
# Copyright (c) 1997-2001 Graham Barr <gbarr@pobox.com>. All rights re
+served.
# This program is free software; you can redistribute it and/or
# modify it under the same terms as Perl itself.
package Scalar::Util;
require Exporter;
require List::Util; # List::Util loads the XS
our @ISA = qw(Exporter);
our @EXPORT_OK = qw(blessed dualvar reftype weaken isweak tainted read
+only openhandle);
our $VERSION = $List::Util::VERSION;
Notice how refaddr is missing?
For reference, in Perl 5.8.0, $List::Util::VERSION happens to be 1.07.
By Perl 5.8.1 in September 2003, Scalar::Util was up to 1.13 and refaddr was available in core Perl.
But -- to my point -- Class::InsideOut can't be built automatically into a PPM by ActiveState because their build farm is designed to be backwards compatible nearly 4 years all the way to 5.8.0.
-xdg
Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.
|