Adam Spiers <[EMAIL PROTECTED]> writes:

> Christian Lemburg ([EMAIL PROTECTED]) wrote:
> > 
> > From: "Adam Spiers" <[EMAIL PROTECTED]>
> > > Christian Lemburg ([EMAIL PROTECTED]) wrote:
> > > > Good. What do I need to check out to make the self tests work?
> > > > I checked it out with 'cvs update -d -r pdc_coderef_inner_class',
> > > > and make_test fails on two tests.
> > ...
> > > Isn't this the same base.pm problem I posted about a few days ago?  If
> > > you're running Perl < 5.6, try putting the attached base.pm at the top
> > > of @INC.
> > 
> > Yup, that solved it. Thanks.
> > 
> > Hm, we will have to think about this - a lot of people run on 5.005_03,
> > since this is the last release of perl that really runs really stable, and
> > it still comes prepackaged with a lot of distributions.
> 
> Nasty, isn't it?  Possible workarounds:
> 
>  1. Document it
>  2. Get `make install' to check for the brokenness and warn
>  3. Add `use Foo;' before every `use base qw(Foo);'
>  4. Provide a patch
> 
> 3. is the easiest but somehow I don't like it.

5. Don't use base at all, do:

    use vars qw/@ISA/;
    use Foo ();
    @ISA = 'Foo';

After all, it's worked for ages. Ugly though.

Or, in Makefile.PL:

    use ExtUtils::MakeMaker;

    # See lib/ExtUtils/MakeMaker.pm for details of how to influence
    # the contents of the Makefile that is written.

    my $PREREQ_PM;
    unless (eval "require 5.6.0") {
        $PREREQ_PM = {Class::Fields => 0};
    }
    else {
        $PREREQ_PM = {base => 0};
    }
     

    WriteMakefile(
        'NAME'         => 'Test::Unit',
        'VERSION_FROM' => 'lib/Test/Unit.pm', # finds $VERSION
        'PREREQ_PM'    => $PREREQ_PM,
    );

Admittedly, this assumes that the 'base' in Class::Fields on CPAN has
the bugfix, which someone (without perl 5.6.0) needs to check.

-- 
Piers


_______________________________________________
Perlunit-devel mailing list
[EMAIL PROTECTED]
http://lists.sourceforge.net/lists/listinfo/perlunit-devel

Reply via email to