aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoredwin <edwin@FreeBSD.org>2008-06-16 14:50:26 +0800
committeredwin <edwin@FreeBSD.org>2008-06-16 14:50:26 +0800
commitf4cbda34d465b5d1c806b8155fa2dd76a456a363 (patch)
treea150ea68521432032c2725f0fac7123cb22b9cbf
parentb077dc6399b3f406088a9e65efb4722034dc4eb3 (diff)
downloadfreebsd-ports-gnome-f4cbda34d465b5d1c806b8155fa2dd76a456a363.tar.gz
freebsd-ports-gnome-f4cbda34d465b5d1c806b8155fa2dd76a456a363.tar.zst
freebsd-ports-gnome-f4cbda34d465b5d1c806b8155fa2dd76a456a363.zip
(New Port) databases/ruby-frontbase
The ruby extension for access to FrontBase databases is not currently available in the FreeBSD ports tree. PR: ports/124085 Submitted by: Mitchell Smith <mjs@bur.st>
-rw-r--r--databases/Makefile1
-rw-r--r--databases/ruby-frontbase/Makefile32
-rw-r--r--databases/ruby-frontbase/distinfo3
-rw-r--r--databases/ruby-frontbase/files/patch-extconf.rb13
-rw-r--r--databases/ruby-frontbase/files/patch-frontbase.c61
-rw-r--r--databases/ruby-frontbase/pkg-descr3
-rw-r--r--databases/ruby-frontbase/pkg-plist1
7 files changed, 114 insertions, 0 deletions
diff --git a/databases/Makefile b/databases/Makefile
index 6e09c01bd520..7522e3f39789 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -529,6 +529,7 @@
SUBDIR += ruby-dbd_sqlite
SUBDIR += ruby-dbdbd
SUBDIR += ruby-dbi
+ SUBDIR += ruby-frontbase
SUBDIR += ruby-gdbm
SUBDIR += ruby-interbase
SUBDIR += ruby-memcache
diff --git a/databases/ruby-frontbase/Makefile b/databases/ruby-frontbase/Makefile
new file mode 100644
index 000000000000..9facc061a60c
--- /dev/null
+++ b/databases/ruby-frontbase/Makefile
@@ -0,0 +1,32 @@
+# New ports collection makefile for: ruby-frontbase
+# Date created: 27 May 2008
+# Whom: Mitchell Smith <mjs@bur.st>
+#
+# $FreeBSD$
+#
+
+PORTNAME= frontbase
+PORTVERSION= 0.0.1
+CATEGORIES= databases ruby
+MASTER_SITES+= http://www.frontbase.com/download/Ruby/
+PKGNAMEPREFIX= ruby-
+DISTNAME= ruby-frontbase-${PORTVERSION}
+EXTRACT_SUFX= .tgz
+
+MAINTAINER= mjs@bur.st
+COMMENT= Ruby interface to the FrontBase db engine
+
+BUILD_DEPENDS+= ${LOCALBASE}/lib/libFBCAccess.a:${PORTSDIR}/databases/frontbase
+RUN_DEPENDS+= ${BUILD_DEPENDS}
+
+USE_RUBY= yes
+USE_RUBY_EXTCONF= yes
+
+WRKSRC= ${WRKDIR}/ruby-frontbase
+
+CONFIGURE_WRKSRC= ${WRKSRC}
+BUILD_WRKSRC= ${WRKSRC}
+INSTALL_WRKSRC= ${WRKSRC}
+INSTALL_TARGET= site-install
+
+.include <bsd.port.mk>
diff --git a/databases/ruby-frontbase/distinfo b/databases/ruby-frontbase/distinfo
new file mode 100644
index 000000000000..ec58b973b278
--- /dev/null
+++ b/databases/ruby-frontbase/distinfo
@@ -0,0 +1,3 @@
+MD5 (ruby-frontbase-0.0.1.tgz) = 92351e12031c602990e7f9762e309bf1
+SHA256 (ruby-frontbase-0.0.1.tgz) = 9573217c07812cdc184de225ff88804495212c0b89c59c4ca6bb8a91952cad08
+SIZE (ruby-frontbase-0.0.1.tgz) = 20807
diff --git a/databases/ruby-frontbase/files/patch-extconf.rb b/databases/ruby-frontbase/files/patch-extconf.rb
new file mode 100644
index 000000000000..d0dde6ca06aa
--- /dev/null
+++ b/databases/ruby-frontbase/files/patch-extconf.rb
@@ -0,0 +1,13 @@
+--- extconf.rb.orig 2006-04-15 07:52:37.000000000 +1000
++++ extconf.rb 2008-05-29 12:54:28.000000000 +1000
+@@ -2,8 +2,8 @@
+
+ dir_config('frontbase')
+
+-$CPPFLAGS = "-I/Library/FrontBase/include"
+-$LDFLAGS = "-L/Library/FrontBase/lib"
++$CPPFLAGS = "-I/usr/local/include"
++$LDFLAGS = "-L/usr/local/lib"
+ $libs = " -lFBCAccess "
+ create_makefile("frontbase")
+
diff --git a/databases/ruby-frontbase/files/patch-frontbase.c b/databases/ruby-frontbase/files/patch-frontbase.c
new file mode 100644
index 000000000000..087063418d9a
--- /dev/null
+++ b/databases/ruby-frontbase/files/patch-frontbase.c
@@ -0,0 +1,61 @@
+--- frontbase.c.orig 2006-04-15 07:57:23.000000000 +1000
++++ frontbase.c 2008-05-29 12:55:37.000000000 +1000
+@@ -9,57 +9,10 @@
+
+ #include "ruby.h"
+
+-#if defined(__APPLE__)
+-#include "/Library/FrontBase/include/FBCAccess/FBCAccess.h"
+-#else
+-#warning I don't know where FBCAccess.h is installed on non-OSX platforms
+-#include "/Library/FrontBase/include/FBCAccess/FBCAccess.h"
+-#endif
++#include "/usr/local/include/FBCAccess/FBCAccess.h"
+
+ #pragma mark --- structure definitions ---
+
+-typedef struct FBCLob
+-{
+- unsigned char kind; // 0 => direct, 1 => indirect
+- char handleAsString[28]; // @'<24 hex digits>'\0
+-} FBCLob;
+-
+-typedef union FBCColumn FBCColumn;
+-
+-union FBCColumn
+-{
+- char tinyInteger;
+- short shortInteger;
+- int integer;
+- int primaryKey;
+- long long longInteger;
+- unsigned char boolean;
+- char character[0x7fffffff];
+- double numeric;
+- double real;
+- double decimal;
+- FBCBitValue bit;
+- char date[11]; // YYYY-MM-DD
+- int unformattedDate;
+- char time[9]; // HH:MM:SS
+- char timeTZ[34]; // YYYY-MM-DD HH:MM:SS.sssss+HH:MM
+- char timestampTZ[34];
+- char timestamp[28];
+- char yearMonth[64];
+- char dayTime[32]; // days:hh:ss.ffffff
+- FBCLob blob;
+- FBCLob clob;
+- double rawDate;
+- FBCUnformattedTime rawTime;
+- FBCUnformattedTime rawTimeTZ;
+- FBCUnformattedTime rawTimestamp;
+- FBCUnformattedTime rawTimestampTZ;
+- int rawYearMonth;
+- double rawDayTime;
+-};
+-
+-typedef FBCColumn* FBCRow;
+-
+ struct fbsqlconnect
+ {
+ int port;
diff --git a/databases/ruby-frontbase/pkg-descr b/databases/ruby-frontbase/pkg-descr
new file mode 100644
index 000000000000..5fecf934443f
--- /dev/null
+++ b/databases/ruby-frontbase/pkg-descr
@@ -0,0 +1,3 @@
+This is a Ruby extension for accessing FrontBase databases.
+
+WWW: http://www.frontbase.com/
diff --git a/databases/ruby-frontbase/pkg-plist b/databases/ruby-frontbase/pkg-plist
new file mode 100644
index 000000000000..0756a042a640
--- /dev/null
+++ b/databases/ruby-frontbase/pkg-plist
@@ -0,0 +1 @@
+%%RUBY_SITEARCHLIBDIR%%/frontbase.so