diff options
author | Sergey Skvortsov <skv@FreeBSD.org> | 2002-09-10 12:46:54 +0000 |
---|---|---|
committer | Sergey Skvortsov <skv@FreeBSD.org> | 2002-09-10 12:46:54 +0000 |
commit | de549fa0b2e8ed1b15b0807c8772904eb24906ef (patch) | |
tree | 10129b4be5f107165c9b260407e8ca1fe43c50fc /databases/p5-DBD-InterBase | |
parent | yorick-doc is complete html documentation for the yorick interpreted (diff) |
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/Makefile | 4 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/distinfo | 2 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/files/patch-Makefile.PL | 489 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/files/patch-dbdimp.c | 16 | ||||
-rw-r--r-- | databases/p5-DBD-InterBase/pkg-plist | 1 |
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 |