aboutsummaryrefslogtreecommitdiff
path: root/databases/p5-DBD-InterBase
diff options
context:
space:
mode:
authorSergey Skvortsov <skv@FreeBSD.org>2002-09-10 12:46:54 +0000
committerSergey Skvortsov <skv@FreeBSD.org>2002-09-10 12:46:54 +0000
commitde549fa0b2e8ed1b15b0807c8772904eb24906ef (patch)
tree10129b4be5f107165c9b260407e8ca1fe43c50fc /databases/p5-DBD-InterBase
parent8225749b43fe4f0a0fe968a3ad397fe841d9b0b4 (diff)
downloadports-de549fa0b2e8ed1b15b0807c8772904eb24906ef.tar.gz
ports-de549fa0b2e8ed1b15b0807c8772904eb24906ef.zip
Updated to 0.40 (many bugfixes)
Notes
Notes: svn path=/head/; revision=66046
Diffstat (limited to 'databases/p5-DBD-InterBase')
-rw-r--r--databases/p5-DBD-InterBase/Makefile4
-rw-r--r--databases/p5-DBD-InterBase/distinfo2
-rw-r--r--databases/p5-DBD-InterBase/files/patch-Makefile.PL489
-rw-r--r--databases/p5-DBD-InterBase/files/patch-dbdimp.c16
-rw-r--r--databases/p5-DBD-InterBase/pkg-plist1
5 files changed, 73 insertions, 439 deletions
diff --git a/databases/p5-DBD-InterBase/Makefile b/databases/p5-DBD-InterBase/Makefile
index de92bec6561b..c7954951acf1 100644
--- a/databases/p5-DBD-InterBase/Makefile
+++ b/databases/p5-DBD-InterBase/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= DBD-InterBase
-PORTVERSION= 0.30
-PORTREVISION= 1
+PORTVERSION= 0.40
CATEGORIES= databases perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN}
MASTER_SITE_SUBDIR= DBD
@@ -24,7 +23,6 @@ PERL_CONFIGURE= yes
post-patch:
@${PERL} -pi -e 's,%%IB_BASE%%,${PREFIX}/firebird,g' \
${WRKSRC}/Makefile.PL
- @${PERL} -pi -e 's|6|7| if $$.==399' ${WRKSRC}/dbdimp.c
MAN3= Bundle::DBD::InterBase.3 DBD::InterBase.3 DBD::InterBase::FAQ.3
MAN3PREFIX= ${PREFIX}/lib/perl5/${PERL_VERSION}
diff --git a/databases/p5-DBD-InterBase/distinfo b/databases/p5-DBD-InterBase/distinfo
index 98c0d1ec8241..dd3a2a9822d4 100644
--- a/databases/p5-DBD-InterBase/distinfo
+++ b/databases/p5-DBD-InterBase/distinfo
@@ -1 +1 @@
-MD5 (DBD-InterBase-0.30.tar.gz) = 8602958c02671223dc4b5a6770c3d886
+MD5 (DBD-InterBase-0.40.tar.gz) = 18926bed17a4d9c8f91c1460aceb1394
diff --git a/databases/p5-DBD-InterBase/files/patch-Makefile.PL b/databases/p5-DBD-InterBase/files/patch-Makefile.PL
index 54ba82fc3264..b093cfbcb8cc 100644
--- a/databases/p5-DBD-InterBase/files/patch-Makefile.PL
+++ b/databases/p5-DBD-InterBase/files/patch-Makefile.PL
@@ -1,67 +1,18 @@
---- Makefile.PL.orig Fri Apr 5 07:35:30 2002
-+++ Makefile.PL Sat Apr 6 15:16:46 2002
-@@ -16,8 +16,6 @@
- use Carp;
- use strict;
- use File::Basename;
--use vars qw($Registry);
--
+--- Makefile.PL.OOO Thu Jul 18 21:02:53 2002
++++ Makefile.PL Thu Jul 18 21:16:22 2002
+@@ -28,6 +28,7 @@
- # This DBI must be installed before we can build a DBD.
- # For those not using Dynamic loading this means building a
-@@ -29,55 +27,12 @@
my $ib_dir_prefix;
++=rem
# init stuff
--my $IB_Bin_path = '';
--my $isql_name;
--my @ib_bin_dirs;
--my @ib_inc_dirs;
--my $ib_lib_dir = '';
--
--################################################################################
--# OS specific configuration
--################################################################################
--if ($Config::Config{osname} eq 'MSWin32')
--{
-- $isql_name = 'isql.exe';
--
-- # try to find InterBase installation via the registry
-- my $ib_bin_dir = '';
--
-- eval
-- {
-- require Win32::TieRegistry;
-- Win32::TieRegistry->import('$Registry');
-- $Registry->Delimiter("/");
--
-- my $sw = $Registry->{"LMachine/Software/"};
--
-- # We have to check more than one keys, because different
-- # releases of InterBase have used different key hierarchies.
--
-- my $key = $sw->{"InterBase Corp/InterBase/CurrentVersion/"} ||
-- $sw->{"Borland/InterBase/CurrentVersion/"} ||
-- $sw->{"FirebirdSQL/Firebird/CurrentVersion/"};
-
-- if (defined($key))
-- {
-- $ib_bin_dir = $key->{"/ServerDirectory"};
-- $ib_lib_dir = $key->{"/RootDirectory"};
-- }
-- };
--
-- $ib_lib_dir .= '\\' unless ($ib_lib_dir =~ m|^.*\\$|gi);
--
-- @ib_bin_dirs = ($ib_bin_dir);
-- @ib_inc_dirs = ($ib_lib_dir . "SDK\\include", $ib_lib_dir . "include");
--}
--else
--{
-- $isql_name = 'isql';
-- @ib_bin_dirs = (qw(/usr/interbase/bin /opt/interbase/bin /usr/bin /usr/local/bin));
-- @ib_inc_dirs = (qw(/usr/interbase/include /opt/interbase/include /usr/include));
--}
+ my $IB_Bin_path = '';
+ my $isql_name;
+@@ -78,6 +79,12 @@
+ @ib_bin_dirs = (qw(/usr/interbase/bin /opt/interbase/bin /usr/bin /usr/local/bin));
+ @ib_inc_dirs = (qw(/usr/interbase/include /opt/interbase/include /usr/include));
+ }
++=cut
+my $IB_BASE='%%IB_BASE%%';
+my $IB_Bin_path = $IB_BASE.'/bin';
+my $isql_name = 'isql';
@@ -70,405 +21,73 @@
sub locate_dbi_arch_dir {
my $dbidir = dbd_dbi_dir();
-@@ -89,199 +44,18 @@
+@@ -88,6 +95,7 @@
+ return $xst[0];
}
++=rem
################################################################################
--# sub test_files - checks if at least one of the files in the list exists
--# Paramters:
--# 0: directory
--# 1: reference to file list
--# Return value: true value if at least on file exists, 0 otherwise
--################################################################################
--sub test_files
--{
-- my($dir, $files) = @_;
-- local $_;
-- -f "$dir/$_" && return $_ for @$files;
-- 0;
--}
--
--################################################################################
--# sub dir_choice - prompts for a directory
--# Parameters:
--# 0: prompt string
--# 1: reference to directory list
--# 2: reference to file list
--# Return value: directory name
--################################################################################
--sub dir_choice
--{
-- my($prompt, $dirs, $files) = @_;
-- my %dirs;
-- my $i;
-- my $ret;
--
-- test_files($_, $files) && ($dirs{++$i} = $_) for @$dirs;
-- for (1..3)
-- {
-- foreach my $d (sort keys %dirs) {
-- my $choice = prompt("$prompt :", $dirs{$d});
-- return $choice if test_files($choice, $files);
-- }
-- }
-- print "Cannot proceed. Aborting..\n";
--}
--
--################################################################################
--# sub make_test_conf - configure for test (save to ./t/test.conf)
--# Parameters: <none>
--# Return value: <none>
--################################################################################
--sub make_test_conf
--{
-- my $test_conf = './t/test.conf';
-- my ($dsn, $user, $pass, $path);
--
-- # read cached config if available
-- if (-r $test_conf)
-- {
-- print "\nReading cached test configuration...";
-- open F, $test_conf or die "Can't open $test_conf: $!";
-- local @ARGV = ($test_conf);
-- ($dsn, $user, $pass) = map {chomp;$_} <>;
-- ($path) = $dsn =~ /(?!db|database)=([^;]+);/;
-- close F;
-- }
--
-- # ask for database path
-- for (1..3)
-- {
-- $path = prompt("\nFull path to your test database :", $path);
-- last if $path;
-- }
--
-- die "Must specify a test database" unless $path;
--
-- #PFW - isql on windows doesn't seem to work without the localhost in the db path
-- my $hostpath = $path;
-- if ($path =~ /^localhost:(.+)/) {
-- $hostpath = $1;
-- }
-- # if DB doesn't exist ask for creation
-- unless (-f $hostpath)
-- {
-- print <<"EOM";
--Can't find $path
--Trying to create the test database..
--Please enter a username with CREATE DATABASE permission.
--EOM
--
-- $user = prompt("Username :", $user);
-- $pass = prompt("Password :", $pass);
-- create_test_db($path, $user, $pass);
-- }
-- else
-- {
-- $user = prompt("Username :", $user);
-- $pass = prompt("Password :", $pass);
-- }
--
-- # save test config to file
-- open F, ">$test_conf" or die "Can't write $test_conf: $!";
-- print F "dbi:InterBase:db=$path;ib_dialect=3\n$user\n$pass\n";
-- close F;
--}
--
--################################################################################
--# sub create_test_db - Creates the test database
--# Parameters:
--# 0: path to testdatabase to be created
--# 1: username used to connect to the DB
--# 2: password
--# Return value: <none>
--################################################################################
--sub create_test_db
--{
-- my ($path, $user, $pass) = @_;
--
-- # create the SQL file with CREATE statement
-- open(T, ">./t/create.sql") or die "Can't write to t/create.sql";
-- while(<DATA>)
-- {
-- s/__TESTDB__/$path/;
-- s/__USER__/$user/;
-- s/__PASS__/$pass/;
-- print T;
-- }
-- close T;
--
-- # try to find isql
-- my $isql;
-- if (-x "$IB_Bin_path/$isql_name") {
-- $isql = "$IB_Bin_path/$isql_name";
-- } else {
-- for (split /:/, $ENV{PATH})
-- {
-- s#/+$##g;
-- if (-x "$_/$isql_name") {
-- $isql = "$_/$isql_name"; last;
-- }
-- }
-- }
--
-- EXEC:
-- {
-- for (1..3)
-- {
-- $isql = prompt("Enter full path to isql: ", $isql);
-- last EXEC if (-x $isql);
-- }
-- die "Unable to execute isql. Aborting..";
-- }
--
-- #PFW - isql on windows doesn't seem to work without the localhost in the db path
-- my $hostpath = $path;
-- if ($path =~ /^localhost:(.+)/) {
-- $hostpath = $1;
-- }
-- # if test db directory doesn't exist -> try to create
-- my $dir = dirname $hostpath;
-- unless (-d $dir)
-- {
-- print "Can't find $dir. Trying to mkdir..\n";
-- system('mkdir', '-p', $dir) == 0
-- or die "Can't mkdir -p $dir";
-- }
--
-- # try to execute isql and create the test database
-- system($isql, '-i', './t/create.sql') == 0
-- or die "Fail calling $isql -i t/create/sql: $?";
--}
--
--################################################################################
- # MAIN
- ################################################################################
+ # sub test_files - checks if at least one of the files in the list exists
+ # Paramters:
+@@ -264,6 +272,7 @@
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.
+ # prompt for InterBase bin directory
+ $IB_Bin_path = dir_choice("InterBase bin directory", [@ib_bin_dirs], [qw(gfix gfix.exe)]);
++=cut
--# prompt for InterBase bin directory
--$IB_Bin_path = dir_choice("InterBase bin directory", [@ib_bin_dirs], [qw(gfix gfix.exe)]);
--
unless(-x $IB_Bin_path)
{
- carp "I cannot find your InterBase installation.\nDBD::InterBase cannot build or run without InterBase.\n";
+@@ -271,6 +280,7 @@
exit 1;
}
--# get InterBase version
--my $IBVERSION;
--my $GFIX_PATH = $IB_Bin_path . "/" . test_files($IB_Bin_path, [qw(gfix gfix.exe)]);
--chop($IBVERSION = `$GFIX_PATH -z 2>&1`);
--$IBVERSION =~ s/^gfix version //o;
--my $is_final = $IBVERSION =~ /\.6\d+$/ ? 1 : 0;
--
--# prompt for IB include dir
--my $ib_inc = dir_choice("InterBase include directory", [@ib_inc_dirs], [qw(gds.h ibase.h)]);
--
--
++=rem
+ # get InterBase version
+ my $IBVERSION;
+ my $GFIX_PATH = $IB_Bin_path . "/" . test_files($IB_Bin_path, [qw(gfix gfix.exe)]);
+@@ -281,6 +291,7 @@
+ # prompt for IB include dir
+ my $ib_inc = dir_choice("InterBase include directory", [@ib_inc_dirs], [qw(gds.h ibase.h)]);
+
++=cut
+
# we use a hash for the MakeMaker parameters
my %MakeParams = (
- 'NAME' => 'DBD::InterBase',
-@@ -291,7 +65,7 @@
+@@ -291,7 +302,7 @@
'CCFLAGS' => '',
- 'INC' => qq(-I$ib_inc -I${\locate_dbi_arch_dir()}),
+ 'INC' => qq(-I"$ib_inc" -I"${\locate_dbi_arch_dir()}"),
'OBJECT' => "InterBase.o dbdimp.o",
- 'LIBS' => [''],
+ 'LIBS' => "-L$ib_lib_dir -lgds",
'OPTIMIZE' => $Config::Config{'optimize'},
'XSPROTOARG' => '-noprototypes',
'dist' => {COMPRESS=>'gzip -9f', SUFFIX=>'gz'},
-@@ -299,181 +73,6 @@
+@@ -299,6 +310,7 @@
'realclean' => {FILES => "t/test.conf"},
);
--# the OS specific build environment setup
--my $os = $Config::Config{'osname'};
--if ($os eq 'MSWin32')
--{
-- # set up PPM package parameters
-- $MakeParams{'AUTHOR'} = 'Edwin Pratomo (edpratomo@users.sourceforge.net)';
-- $MakeParams{'ABSTRACT'} = 'DBD::InterBase is a DBI driver for Firebird and InterBase, written using InterBase C API.';
--
-- my $vc_dir = '';
-- if ($Config::Config{'cc'} eq "cl")
-- {
-- # try to find Microsoft Visual C++ compiler
-- eval
-- {
-- require Win32::TieRegistry;
-- Win32::TieRegistry->import('$Registry');
-- $Registry->Delimiter("/");
--
-- my $sw = $Registry->{"LMachine/Software/"};
--
--
--
-- # We have to check more than one keys, because different
-- # releases of Visual C++ have used different key hierarchies.
-- my $key =
-- $sw->{"Microsoft/VisualStudio/6.0/Setup/Microsoft Visual C++"} ||
-- $sw->{"Microsoft/VisualStudio/7.0/Setup/VC"};
--
-- if (defined($key))
-- {
-- $vc_dir = $key->{"/ProductDir"};
-- }
-- };
--
-- my @vc_dirs = ($vc_dir . "/bin");
--
-- my $VC_PATH = dir_choice("Visual C++ directory", [@vc_dirs], [qw(cl.exe)]);
--
-- unless (-x $VC_PATH){
-- carp "I can't find your MS VC++ installation.\nDBD::InterBase cannot build.\n";
-- exit 1;
-- }
--
-- my $vc_inc = $VC_PATH . "/include";
-- my $vc_lib = $VC_PATH . "/lib";
--
-- $INC .= " -I\"$vc_inc\"";
--
-- my $ib_lib = dir_choice("InterBase lib directory",
-- [$ib_lib_dir . "SDK\\lib_ms", $ib_lib_dir . "lib"],
-- [qw(gds32_ms.lib)]);
--
-- my $cur_libs = $Config::Config{'libs'} ;
-- my $cur_lddlflags = $Config::Config{'lddlflags'} ;
--
-- eval "
-- sub MY::const_loadlibs {
-- '
--LDLOADLIBS = \"$ib_lib/gds32_ms.lib\" \"$ib_lib/ib_util_ms.lib\" $cur_libs
--LDDLFLAGS = /LIBPATH:\"$vc_lib\" $cur_lddlflags
-- '
-- } ";
-- }
-- else
-- {
-- # Borland C++ 5.5
-- my $bcc = $Config::Config{'bcc_path'} . "\\";
--
-- my $BCC_PATH = dir_choice("Borland C++ directory",
-- [qw(c:/borland/bcc55), $bcc],
-- [qw(bin/bcc32.exe)]);
--
-- unless(-x $BCC_PATH)
-- {
-- carp "I can't find your Borland C++ installation.\nDBD::InterBase cannot build.\n";
-- exit 1;
-- }
--
-- my $ib_lib = dir_choice("InterBase lib directory",
-- [$ib_lib_dir . "SDK\\lib", $ib_lib_dir . "lib"],
-- [qw(gds32.lib)]);
--
-- my $bcc_inc = $BCC_PATH . "include";
-- $MakeParams{'CCFLAGS'} = '-a4 -w- -DWIN32 -DNO_STRICT -DNDEBUG -D_CONSOLE -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX';
-- $MakeParams{'OPTIMIZE'} = "-O2";
-- $MakeParams{'INC'} .= " -I\"$bcc_inc\"";
--
-- eval "
-- sub MY::const_loadlibs {
-- '
--LDLOADLIBS = \$(LIBC) import32.lib gds32.lib cw32.lib
--LDDLFLAGS = -L\"$ib_lib\" -L\"$BCC_PATH\\lib\"
-- '
-- }
-- ";
-- }
-- # Will I need Cygwin rules too?
--}
--elsif ($os eq 'solaris')
--{
-- $MakeParams{'LIBS'} = '-lgdsmt -lm -lc';
--}
--elsif ($os eq 'linux')
--{
-- # This is for both:
-- # o Free IB 4.0 for Red Hat Linux 4.2
-- # o Commercial IB 5.1.1 for Red Hat Linux 5.1
-- my $ib_lib = dir_choice("InterBase lib directory",
-- [qw(/usr/interbase/lib /opt/interbase/lib /usr/lib /usr/local/lib)],
-- [qw(libgds.a libgds.so)]);
--
-- $MakeParams{'LIBS'} = "-L$ib_lib -lgds -ldl ";
--
-- # o Commercial IB 5.1.1 for Red Hat Linux 6.x
-- # requires a compatibilty library to resolve
-- # symbols such as _xstat that were removed
-- # from glibc 2.1. IB 5.6 and later don't need
-- # this, but it doesn't hurt to list the library.
-- if (-f ('/lib/libNoVersion-2.1.2.so'))
-- {
-- $MakeParams{'LIBS'} .= ' -lNoVersion-2.1.2'
-- }
--}
--elsif ($os eq 'freebsd')
--{
-- my $ib_lib = dir_choice("InterBase lib directory",
-- [qw(/usr/interbase/lib /usr/lib)],
-- [qw(libgds.a libgds.so)]);
-- $MakeParams{'LIBS'} = "-L$ib_lib -lgds";
--}
--elsif ($os eq 'hpux')
--{
-- $MakeParams{'LIBS'} = '-lgds -ldld';
--}
--elsif ($os eq 'sco')
--{
-- # Uncomment this line if you use InterBase 4.0 for SCO OSR5:
-- # $LIBS = '-b elf -B dynamic -lgds -lsocket -lcrypt_i';
--
-- # Uncomment this line if you use InterBase 5.5 for SCO OSR5:
-- $MakeParams{'LIBS'} = '-lgds -lsocket -lcrypt_i -lc -lm';
--}
--elsif ($os eq 'sunos')
--{
-- $MakeParams{'LIBS'} = '-lgdslib -ldl';
--}
--elsif ($os eq 'irix')
--{
-- $MakeParams{'LIBS'} = '-lgds -lsun';
--}
--elsif ($os eq 'aix')
--{
-- $MakeParams{'LIBS'} = '-lgdsshr';
--}
--elsif ($os eq 'dgux')
--{
-- $MakeParams{'LIBS'} = '-lgds -lgdsf -ldl -ldgc';
--}
--elsif ($os eq 'osf1')
--{
-- $MakeParams{'LIBS'} = '-lgds';
--}
--elsif ($os eq 'sysv')
--{
-- $MakeParams{'LIBS'} = '-lgds -lnsl -lsocket -ldl';
--}
--else
--{
-- carp "DBD::InterBase is not supported on platform $os.\n";
-- exit 1;
--}
--
--# create the test config file
--make_test_conf();
--
++=rem
+ # the OS specific build environment setup
+ my $os = $Config::Config{'osname'};
+ if ($os eq 'MSWin32')
+@@ -473,6 +485,7 @@
+
+ # create the test config file
+ make_test_conf();
++=cut
+
# and last but not least write the makefile
WriteMakefile(%MakeParams);
-
-@@ -482,10 +81,3 @@
+@@ -482,6 +495,7 @@
return dbd_postamble(@_);
}
--package main;
--
--# the data used to create the database creation script
--__DATA__
--CREATE DATABASE "__TESTDB__" user "__USER__" password "__PASS__";
--
--quit;
++=rem
+ package main;
+
+ # the data used to create the database creation script
+@@ -489,3 +503,4 @@
+ CREATE DATABASE "__TESTDB__" user "__USER__" password "__PASS__";
+
+ quit;
++=cut
diff --git a/databases/p5-DBD-InterBase/files/patch-dbdimp.c b/databases/p5-DBD-InterBase/files/patch-dbdimp.c
new file mode 100644
index 000000000000..405a0f6eb012
--- /dev/null
+++ b/databases/p5-DBD-InterBase/files/patch-dbdimp.c
@@ -0,0 +1,16 @@
+--- dbdimp.c.orig Thu Aug 29 06:28:30 2002
++++ dbdimp.c Tue Sep 10 16:35:15 2002
+@@ -2430,8 +2430,13 @@
+ # define S_INT64_DEC_FULL ".%%%dLd%%1Ld"
+ # define S_INT64_DEC_NOSCALE ".%%1Ld"
+ #else /* others: linux, xBSD, solaris, hp-ux, ... */
++#ifdef __FreeBSD__
++# define S_INT64_FULL "%%qd.%%%dlld%%1lld"
++# define S_INT64_NOSCALE "%%qd.%%1lld"
++#else
+ # define S_INT64_FULL "%%lld.%%%dlld%%1lld"
+ # define S_INT64_NOSCALE "%%lld.%%1lld"
++#endif
+ # define S_INT64_DEC_FULL ".%%%dlld%%1lld"
+ # define S_INT64_DEC_NOSCALE ".%%1lld"
+ #endif
diff --git a/databases/p5-DBD-InterBase/pkg-plist b/databases/p5-DBD-InterBase/pkg-plist
index 28c12e142475..c3d801550b6f 100644
--- a/databases/p5-DBD-InterBase/pkg-plist
+++ b/databases/p5-DBD-InterBase/pkg-plist
@@ -2,6 +2,7 @@ lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/auto/DBD/InterBase/.packlist
lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/Bundle/DBD/InterBase.pm
lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/DBD/InterBase.pm
lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/DBD/InterBase/FAQ.pm
+lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/DBD/InterBase/GetInfo.pm
lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/auto/DBD/InterBase/InterBase.bs
lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/auto/DBD/InterBase/InterBase.so
@unexec rmdir %D/lib/perl5/site_perl/%%PERL_VER%%/%%PERL_ARCH%%/Bundle/DBD 2>/dev/null || true