Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 2302
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: kwilliams [...] cpan.org
Requestors:
Cc:
AdminCc:

Bug Information
Severity: Normal
Broken in: 0.01
Fixed in: (no value)



Subject: Not compatible with perl 5.005
Some (though not very much) of the internal code relies on features of perl 5.6.x. These might not be very important features, so a backport to 5.005 might be possible.
From: richardc [...] unixbeard.net
This is supplemental to my patch of last week. That patch was developed by on a machine which didn't have the same cc as perl5.00503 had been installed with, so teh have_compiler test didn't fire and so none os t/xs.t ran. On a different machine I excercised that code path, so here's a fix which completes the backport. Sorry about that.
Index: lib/Module/Build/Base.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/lib/Module/Build/Base.pm,v retrieving revision 1.83 diff -p -u -r1.83 Base.pm --- lib/Module/Build/Base.pm 31 Mar 2003 00:19:39 -0000 1.83 +++ lib/Module/Build/Base.pm 2 Apr 2003 12:02:04 -0000 @@ -221,7 +221,7 @@ sub subclass { File::Path::mkpath($filedir); die "Can't create directory $filedir: $!" unless -d $filedir; - open my($fh), ">$filename" or die "Can't create $filename: $!"; + my $fh = IO::File->new(">$filename") or die "Can't create $filename: $!"; print $fh <<EOF; package $opts{class}; use Module::Build; @@ -1211,7 +1211,7 @@ sub compile_xs { qq{-typemap "$typemap" "$file"}); print $command; - open my($fh), "> $file_base.c" or die "Couldn't write $file_base.c: $!"; + my $fh = IO::File->new("> $file_base.c") or die "Couldn't write $file_base.c: $!"; print $fh `$command`; close $fh; } Index: t/Sample/META.yml =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/Sample/META.yml,v retrieving revision 1.8 diff -p -u -r1.8 META.yml --- t/Sample/META.yml 31 Mar 2003 00:16:47 -0000 1.8 +++ t/Sample/META.yml 2 Apr 2003 12:02:04 -0000 @@ -7,7 +7,4 @@ requires: {} recommends: {} build_requires: {} conflicts: {} -provides: - Sample: - file: lib/Sample.pm generated_by: Module::Build version 0.17 Index: t/XSTest/lib/XSTest.pm =================================================================== RCS file: /cvsroot/module-build/Module-Build/t/XSTest/lib/XSTest.pm,v retrieving revision 1.1 diff -p -u -r1.1 XSTest.pm --- t/XSTest/lib/XSTest.pm 12 Nov 2001 08:07:06 -0000 1.1 +++ t/XSTest/lib/XSTest.pm 2 Apr 2003 12:02:04 -0000 @@ -1,13 +1,11 @@ package XSTest; - -require 5.005_62; use strict; -use warnings; require Exporter; require DynaLoader; +use vars qw( @ISA %EXPORT_TAGS @EXPORT_OK @EXPORT $VERSION ); -our @ISA = qw(Exporter DynaLoader); +@ISA = qw(Exporter DynaLoader); # Items to export into callers namespace by default. Note: do not export # names by default without a very good reason. Use EXPORT_OK instead. @@ -16,16 +14,16 @@ our @ISA = qw(Exporter DynaLoader); # This allows declaration use XSTest ':all'; # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK # will save memory. -our %EXPORT_TAGS = ( 'all' => [ qw( +%EXPORT_TAGS = ( 'all' => [ qw( ) ] ); -our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); +@EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); -our @EXPORT = qw( +@EXPORT = qw( ); -our $VERSION = '0.01'; +$VERSION = '0.01'; bootstrap XSTest $VERSION;
Thanks, I've applied this. -Ken
Tests now seem to pass on 5.005_03, using current CVS (according to Dave).