summaryrefslogtreecommitdiff
path: root/databases/p5-SQL-Translator
diff options
context:
space:
mode:
authorMathieu Arnold <mat@FreeBSD.org>2004-05-10 13:21:29 +0000
committerMathieu Arnold <mat@FreeBSD.org>2004-05-10 13:21:29 +0000
commitd806b7b03046889ca9c9ac83b0ef72566f312b90 (patch)
tree0e019ef4ca5b14cdf0d9d333fc62a66effd43713 /databases/p5-SQL-Translator
parent- Update to version 1.0.1 (diff)
Now works with stock perl 5.005_03
PR: 66431 Submitted by: Lars Thegler <lars@thegler.dk> (maintainer)
Notes
Notes: svn path=/head/; revision=108839
Diffstat (limited to 'databases/p5-SQL-Translator')
-rw-r--r--databases/p5-SQL-Translator/Makefile19
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::Excel.pm15
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::xSV.pm15
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::Diagram.pm39
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::GraphViz.pm21
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::HTML.pm11
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::XML::SQLFairy.pm23
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Schema::Table.pm11
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Utils.pm11
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-t::05bgep-re.t11
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-t::16xml-parser.t32
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-t::17sqlfxml-producer.t98
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-t::18ttschema-producer.t28
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-t::19sybase-parser.t15
-rw-r--r--databases/p5-SQL-Translator/files/5.005_03-patch-t::27sqlite-parser.t13
-rw-r--r--databases/p5-SQL-Translator/files/patch-lib::SQL::Translator::Parser::xSV.pm20
16 files changed, 381 insertions, 1 deletions
diff --git a/databases/p5-SQL-Translator/Makefile b/databases/p5-SQL-Translator/Makefile
index 09f03f45573a..d4a8c8df9822 100644
--- a/databases/p5-SQL-Translator/Makefile
+++ b/databases/p5-SQL-Translator/Makefile
@@ -7,6 +7,7 @@
PORTNAME= SQL-Translator
PORTVERSION= 0.05
+PORTREVISION= 1
CATEGORIES= databases perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= SQL
@@ -85,7 +86,23 @@ MAN3= SQL::Translator.3 \
.include <bsd.port.pre.mk>
.if ${PERL_LEVEL} < 500600
-IGNORE= "Perl 5.6 or newer required. Install lang/perl5 or lang/perl5.8 and try again."
+BUILD_DEPENDS+= ${SITE_PERL}/File/Spec.pm:${PORTSDIR}/devel/p5-File-Spec \
+ ${SITE_PERL}/${PERL_ARCH}/IO/Dir.pm:${PORTSDIR}/devel/p5-IO
+EXTRA_PATCHES+= ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Parser::Excel.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Parser::xSV.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Producer::Diagram.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Producer::GraphViz.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Producer::HTML.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Producer::XML::SQLFairy.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Schema::Table.pm \
+ ${PATCHDIR}/5.005_03-patch-lib::SQL::Translator::Utils.pm \
+ ${PATCHDIR}/5.005_03-patch-t::05bgep-re.t \
+ ${PATCHDIR}/5.005_03-patch-t::16xml-parser.t \
+ ${PATCHDIR}/5.005_03-patch-t::17sqlfxml-producer.t \
+ ${PATCHDIR}/5.005_03-patch-t::18ttschema-producer.t \
+ ${PATCHDIR}/5.005_03-patch-t::19sybase-parser.t \
+ ${PATCHDIR}/5.005_03-patch-t::27sqlite-parser.t
+
.endif
.include <bsd.port.post.mk>
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::Excel.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::Excel.pm
new file mode 100644
index 000000000000..d9f537f04290
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::Excel.pm
@@ -0,0 +1,15 @@
+--- lib/SQL/Translator/Parser/Excel.pm.orig Sun May 9 14:49:45 2004
++++ lib/SQL/Translator/Parser/Excel.pm Sun May 9 14:50:21 2004
+@@ -183,9 +183,9 @@
+ $size = [ $size->[0] + $size->[1] ];
+ }
+
+- my $field = $table->get_field( $field );
+- $field->size( $size ) if $size;
+- $field->data_type( $data_type );
++ my $f = $table->get_field( $field );
++ $f->size( $size ) if $size;
++ $f->data_type( $data_type );
+ }
+ }
+ }
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::xSV.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::xSV.pm
new file mode 100644
index 000000000000..b46ac635ca6a
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Parser::xSV.pm
@@ -0,0 +1,15 @@
+--- lib/SQL/Translator/Parser/xSV.pm.orig Sun May 9 21:39:20 2004
++++ lib/SQL/Translator/Parser/xSV.pm Sun May 9 21:39:50 2004
+@@ -174,9 +174,9 @@
+ $size = [ $size->[0] + $size->[1] ];
+ }
+
+- my $field = $table->get_field( $field );
+- $field->size( $size );
+- $field->data_type( $data_type );
++ my $f = $table->get_field( $field );
++ $f->size( $size );
++ $f->data_type( $data_type );
+ }
+ }
+
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::Diagram.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::Diagram.pm
new file mode 100644
index 000000000000..c608978dffb4
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::Diagram.pm
@@ -0,0 +1,39 @@
+--- lib/SQL/Translator/Producer/Diagram.pm.orig Sun May 9 15:00:01 2004
++++ lib/SQL/Translator/Producer/Diagram.pm Sun May 9 15:09:32 2004
+@@ -502,27 +502,27 @@
+ #
+ debug("imap file = '$imap_file'");
+ if ( $imap_file && @imap_coords ) {
+- open my $fh, ">$imap_file" or die "Can't write '$imap_file': $!\n";
+- print $fh qq[<html><body><img src="" usemap="#imap" border="0">\n].
++ open FH, ">$imap_file" or die "Can't write '$imap_file': $!\n";
++ print FH qq[<html><body><img src="" usemap="#imap" border="0">\n].
+ qq[<map name="imap">\n];
+ for my $rec ( @imap_coords ) {
+ my $href = shift @$rec;
+- print $fh q[<area coords="].join(',', @$rec).qq[" href="$href">\n];
++ print FH q[<area coords="].join(',', @$rec).qq[" href="$href">\n];
+ }
+- print $fh qq[</body></html>];
+- close $fh;
++ print FH qq[</body></html>];
++ close FH;
+ }
+
+ #
+ # Print the image.
+ #
+ if ( $out_file ) {
+- open my $fh, ">$out_file" or die "Can't write '$out_file': $!\n";
+- print $fh $gd->$output_type;
+- close $fh;
++ open FH, ">$out_file" or die "Can't write '$out_file': $!\n";
++ print FH $gd->$output_type();
++ close FH;
+ }
+ else {
+- return $gd->$output_type;
++ return $gd->$output_type();
+ }
+ }
+
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::GraphViz.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::GraphViz.pm
new file mode 100644
index 000000000000..9fb168c5e872
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::GraphViz.pm
@@ -0,0 +1,21 @@
+--- lib/SQL/Translator/Producer/GraphViz.pm.orig Sun May 9 15:10:03 2004
++++ lib/SQL/Translator/Producer/GraphViz.pm Sun May 9 15:10:53 2004
+@@ -378,13 +378,13 @@
+ #
+ my $output_method = "as_$output_type";
+ if ( $out_file ) {
+- open my $fh, ">$out_file" or die "Can't write '$out_file': $!\n";
+- binmode $fh;
+- print $fh $gv->$output_method;
+- close $fh;
++ open FH, ">$out_file" or die "Can't write '$out_file': $!\n";
++ binmode FH;
++ print FH $gv->$output_method();
++ close FH;
+ }
+ else {
+- return $gv->$output_method;
++ return $gv->$output_method();
+ }
+ }
+
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::HTML.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::HTML.pm
new file mode 100644
index 000000000000..4027c3bcf168
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::HTML.pm
@@ -0,0 +1,11 @@
+--- lib/SQL/Translator/Producer/HTML.pm.orig Sun May 9 21:14:22 2004
++++ lib/SQL/Translator/Producer/HTML.pm Sun May 9 21:14:45 2004
+@@ -59,7 +59,7 @@
+ CGI::Pretty->new }
+ : do { require CGI;
+ import CGI;
+- CGI->new };
++ CGI->new('') };
+ my ($table, @table_names);
+
+ if ($wrap) {
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::XML::SQLFairy.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::XML::SQLFairy.pm
new file mode 100644
index 000000000000..038d908420f6
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Producer::XML::SQLFairy.pm
@@ -0,0 +1,23 @@
+--- lib/SQL/Translator/Producer/XML/SQLFairy.pm.orig Sun May 9 15:11:42 2004
++++ lib/SQL/Translator/Producer/XML/SQLFairy.pm Sun May 9 15:13:45 2004
+@@ -224,9 +224,9 @@
+ # Use array to ensure consistant (ie not hash) ordering of attribs
+ # The order comes from the meths list passes in.
+ my @attr = map {
+- my $val = $obj->$_;
++ my $val = $obj->$_();
+ ($_ => ref($val) eq 'ARRAY' ? join(', ', @$val) : $val);
+- } grep { defined $obj->$_ } @meths;
++ } grep { defined $obj->$_() } @meths;
+ $empty_tag ? $xml->emptyTag( [ $Namespace => $tag ], @attr )
+ : $xml->startTag( [ $Namespace => $tag ], @attr );
+ }
+@@ -247,7 +247,7 @@
+ my $emit_empty = $PArgs->{'emit_empty_tags'};
+
+ for my $method ( @methods ) {
+- my $val = $obj->$method;
++ my $val = $obj->$method();
+ debug " ".ref($obj)."->$method=",
+ (defined $val ? "'$val'" : "<UNDEF>");
+ next unless $emit_empty || defined $val;
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Schema::Table.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Schema::Table.pm
new file mode 100644
index 000000000000..8659883ca5f2
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Schema::Table.pm
@@ -0,0 +1,11 @@
+--- lib/SQL/Translator/Schema/Table.pm.orig Sun May 9 19:09:06 2004
++++ lib/SQL/Translator/Schema/Table.pm Sun May 9 19:09:30 2004
+@@ -104,7 +104,7 @@
+ my $constraint_class = 'SQL::Translator::Schema::Constraint';
+ my $constraint;
+
+- if ( UNIVERSAL::isa( $_[0], $constraint_class ) ) {
++ if ( UNIVERSAL::isa( $_[0]||'', $constraint_class ) ) {
+ $constraint = shift;
+ $constraint->table( $self );
+ }
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Utils.pm b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Utils.pm
new file mode 100644
index 000000000000..291f79cfe45f
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-lib::SQL::Translator::Utils.pm
@@ -0,0 +1,11 @@
+--- lib/SQL/Translator/Utils.pm.orig Mon Feb 9 23:04:26 2004
++++ lib/SQL/Translator/Utils.pm Sun May 9 19:11:27 2004
+@@ -123,7 +123,7 @@
+ # arguments. Modified to also handle a list of references.
+ # ----------------------------------------------------------------------
+ sub parse_list_arg {
+- my $list = UNIVERSAL::isa( $_[0], 'ARRAY' ) ? shift : [ @_ ];
++ my $list = UNIVERSAL::isa( $_[0]||'', 'ARRAY' ) ? shift : [ @_ ];
+
+ #
+ # This protects stringification of references.
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-t::05bgep-re.t b/databases/p5-SQL-Translator/files/5.005_03-patch-t::05bgep-re.t
new file mode 100644
index 000000000000..4efb2a815e6e
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-t::05bgep-re.t
@@ -0,0 +1,11 @@
+--- t/05bgep-re.t.orig Sun May 9 19:03:10 2004
++++ t/05bgep-re.t Sun May 9 19:03:27 2004
+@@ -44,7 +44,7 @@
+ SUFFIX => '.xml',
+ DIR => tmpdir);
+ print $fh $data;
+- $fh->close;
++ close $fh;
+
+ ok(XML::Parser->new->parsefile($fname),
+ "Successfully parsed output");
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-t::16xml-parser.t b/databases/p5-SQL-Translator/files/5.005_03-patch-t::16xml-parser.t
new file mode 100644
index 000000000000..2a37100b9b5b
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-t::16xml-parser.t
@@ -0,0 +1,32 @@
+--- t/16xml-parser.t.orig Sun May 9 19:15:25 2004
++++ t/16xml-parser.t Sun May 9 19:27:08 2004
+@@ -12,7 +12,7 @@
+
+ use strict;
+ use Test::More;
+-use Test::Exception;
++#use Test::Exception; # not actually used
+
+ use strict;
+ use Data::Dumper;
+@@ -49,16 +49,16 @@
+ if ( exists $test->{$attr} ) {
+ my $ans = $test->{$attr};
+ if ( $attr =~ m/^is_/ ) {
+- if ($ans) { ok $fld->$attr, "$name - $attr true"; }
+- else { ok !$fld->$attr, "$name - $attr false"; }
++ if ($ans) { ok $fld->$attr(), "$name - $attr true"; }
++ else { ok !$fld->$attr(), "$name - $attr false"; }
+ }
+ else {
+- is $fld->$attr, $ans, "$name - $attr = '"
++ is $fld->$attr(), $ans, "$name - $attr = '"
+ .(defined $ans ? $ans : "NULL" )."'";
+ }
+ }
+ else {
+- ok !$fld->$attr, "$name - $attr not set";
++ ok !$fld->$attr(), "$name - $attr not set";
+ }
+ }
+ }
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-t::17sqlfxml-producer.t b/databases/p5-SQL-Translator/files/5.005_03-patch-t::17sqlfxml-producer.t
new file mode 100644
index 000000000000..b0a4170e60cb
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-t::17sqlfxml-producer.t
@@ -0,0 +1,98 @@
+--- t/17sqlfxml-producer.t.orig Sun May 9 20:51:50 2004
++++ t/17sqlfxml-producer.t Sun May 9 20:55:44 2004
+@@ -8,7 +8,10 @@
+
+ use strict;
+ use Test::More;
+-use Test::Exception;
++use vars '$no_test_exception';
++$no_test_exception = 0;
++eval { require Test::Exception; };
++$no_test_exception = $@;
+
+ use Data::Dumper;
+ my %opt;
+@@ -149,7 +152,12 @@
+ from => 'MySQL',
+ to => 'XML-SQLFairy',
+ );
+-lives_ok {$xml = $obj->translate($file);} "Translate (emit_empty_tags=>0) ran";
++if ($no_test_exception) {
++ $xml = $obj->translate($file);
++ pass "Translate (emit_empty_tags=>0) ran";
++} else {
++ lives_ok {$xml = $obj->translate($file);} "Translate (emit_empty_tags=>0) ran";
++}
+ ok("$xml" ne "" ,"Produced something!");
+ print "XML:\n$xml" if DEBUG;
+ # Strip sqlf header with its variable date so we diff safely
+@@ -270,7 +278,12 @@
+ to => 'XML-SQLFairy',
+ producer_args => { emit_empty_tags => 1 },
+ );
+-lives_ok { $xml=$obj->translate($file); } "Translate (emit_empty_tags=>1) ran";
++if ($no_test_exception) {
++ $xml=$obj->translate($file);
++ pass "Translate (emit_empty_tags=>1) ran";
++} else {
++ lives_ok { $xml=$obj->translate($file); } "Translate (emit_empty_tags=>1) ran";
++}
+ ok("$xml" ne "" ,"Produced something!");
+ print "XML emit_empty_tags=>1:\n$xml" if DEBUG;
+ # Strip sqlf header with its variable date so we diff safely
+@@ -314,7 +327,12 @@
+ to => "XML-SQLFairy",
+ producer_args => { attrib_values => 1 },
+ );
+-lives_ok {$xml = $obj->translate($file);} "Translate (attrib_values=>1) ran";
++if ($no_test_exception) {
++ $xml = $obj->translate($file);
++ pass "Translate (attrib_values=>1) ran";
++} else {
++ lives_ok {$xml = $obj->translate($file);} "Translate (attrib_values=>1) ran";
++}
+ ok("$xml" ne "" ,"Produced something!");
+ print "XML attrib_values=>1:\n$xml" if DEBUG;
+ # Strip sqlf header with its variable date so we diff safely
+@@ -364,7 +382,12 @@
+
+ # As we have created a Schema we give translate a dummy string so that
+ # it will run the produce.
+- lives_ok {$xml =$obj->translate("FOO");} "Translate (View) ran";
++ if ($no_test_exception) {
++ $xml =$obj->translate("FOO");
++ pass "Translate (View) ran";
++ } else {
++ lives_ok {$xml =$obj->translate("FOO");} "Translate (View) ran";
++ }
+ ok("$xml" ne "" ,"Produced something!");
+ print "XML attrib_values=>1:\n$xml" if DEBUG;
+ # Strip sqlf header with its variable date so we diff safely
+@@ -418,7 +441,12 @@
+
+ # As we have created a Schema we give translate a dummy string so that
+ # it will run the produce.
+- lives_ok {$xml =$obj->translate("FOO");} "Translate (Trigger) ran";
++ if ($no_test_exception) {
++ $xml =$obj->translate("FOO");
++ pass "Translate (Trigger) ran";
++ } else {
++ lives_ok {$xml =$obj->translate("FOO");} "Translate (Trigger) ran";
++ }
+ ok("$xml" ne "" ,"Produced something!");
+ print "XML attrib_values=>1:\n$xml" if DEBUG;
+ # Strip sqlf header with its variable date so we diff safely
+@@ -472,7 +500,12 @@
+
+ # As we have created a Schema we give translate a dummy string so that
+ # it will run the produce.
+- lives_ok {$xml =$obj->translate("FOO");} "Translate (Procedure) ran";
++ if ($no_test_exception) {
++ $xml =$obj->translate("FOO");
++ pass "Translate (Procedure) ran";
++ } else {
++ lives_ok {$xml =$obj->translate("FOO");} "Translate (Procedure) ran";
++ }
+ ok("$xml" ne "" ,"Produced something!");
+ print "XML attrib_values=>1:\n$xml" if DEBUG;
+ # Strip sqlf header with its variable date so we diff safely
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-t::18ttschema-producer.t b/databases/p5-SQL-Translator/files/5.005_03-patch-t::18ttschema-producer.t
new file mode 100644
index 000000000000..efd187dbf7e4
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-t::18ttschema-producer.t
@@ -0,0 +1,28 @@
+--- t/18ttschema-producer.t.orig Sun May 9 20:56:35 2004
++++ t/18ttschema-producer.t Sun May 9 20:57:54 2004
+@@ -6,7 +6,10 @@
+
+ use strict;
+ use Test::More;
+-use Test::Exception;
++use vars '$no_test_exception';
++$no_test_exception = 0;
++eval { require Test::Exception; };
++$no_test_exception = $@;
+
+ use Data::Dumper;
+ use vars '%opt';
+@@ -47,7 +50,12 @@
+ },
+ );
+ my $out;
+-lives_ok { $out = $obj->translate; } "Translate ran";
++if ($no_test_exception) {
++ $out = $obj->translate;
++ pass "Translate ran";
++} else {
++ lives_ok { $out = $obj->translate; } "Translate ran";
++}
+ ok $out ne "" ,"Produced something!";
+ local $/ = undef; # slurp
+ eq_or_diff $out, <DATA> ,"Output looks right";
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-t::19sybase-parser.t b/databases/p5-SQL-Translator/files/5.005_03-patch-t::19sybase-parser.t
new file mode 100644
index 000000000000..66b1c1f778d7
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-t::19sybase-parser.t
@@ -0,0 +1,15 @@
+--- t/19sybase-parser.t.orig Sun May 9 19:14:03 2004
++++ t/19sybase-parser.t Sun May 9 19:14:34 2004
+@@ -17,9 +17,9 @@
+ my $data;
+ {
+ local $/;
+- open my $fh, "<$file" or die "Can't read file '$file': $!\n";
+- $data = <$fh>;
+- close $fh;
++ open FH, "<$file" or die "Can't read file '$file': $!\n";
++ $data = <FH>;
++ close FH;
+ }
+
+ ok( $data, 'Data' );
diff --git a/databases/p5-SQL-Translator/files/5.005_03-patch-t::27sqlite-parser.t b/databases/p5-SQL-Translator/files/5.005_03-patch-t::27sqlite-parser.t
new file mode 100644
index 000000000000..89822ced61c1
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/5.005_03-patch-t::27sqlite-parser.t
@@ -0,0 +1,13 @@
+--- t/27sqlite-parser.t.orig Sun May 9 21:02:06 2004
++++ t/27sqlite-parser.t Sun May 9 21:02:33 2004
+@@ -13,8 +13,8 @@
+
+ {
+ local $/;
+- open my $fh, "<$file" or die "Can't read file '$file': $!\n";
+- my $data = <$fh>;
++ open FH, "<$file" or die "Can't read file '$file': $!\n";
++ my $data = <FH>;
+ my $t = SQL::Translator->new;
+ parse($t, $data);
+
diff --git a/databases/p5-SQL-Translator/files/patch-lib::SQL::Translator::Parser::xSV.pm b/databases/p5-SQL-Translator/files/patch-lib::SQL::Translator::Parser::xSV.pm
new file mode 100644
index 000000000000..c8db94fb965b
--- /dev/null
+++ b/databases/p5-SQL-Translator/files/patch-lib::SQL::Translator::Parser::xSV.pm
@@ -0,0 +1,20 @@
+--- lib/SQL/Translator/Parser/xSV.pm.orig Sun May 9 23:33:46 2004
++++ lib/SQL/Translator/Parser/xSV.pm Sun May 9 23:34:11 2004
+@@ -66,7 +66,7 @@
+ # -------------------------------------------------------------------
+
+ use strict;
+-use vars qw($VERSION @EXPORT);
++use vars qw($VERSION @EXPORT_OK);
+ $VERSION = sprintf "%d.%02d", q$Revision: 1.16 $ =~ /(\d+)\.(\d+)/;
+
+ use Exporter;
+@@ -75,7 +75,7 @@
+ use SQL::Translator::Utils qw(debug normalize_name);
+
+ use base qw(Exporter);
+-@EXPORT = qw(parse);
++@EXPORT_OK = qw(parse);
+
+ #
+ # Passed a SQL::Translator instance and a string containing the data