Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 12 Apr 2007 11:18:22 +0200 (CEST)
From:      Simun Mikecin <numisemis@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/111501: [NEW PORT] databases/ruby-oci8
Message-ID:  <20070412091822.9198026D167@mail.logos.hr>
Resent-Message-ID: <200704120940.l3C9e3Mb061881@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         111501
>Category:       ports
>Synopsis:       [NEW PORT] databases/ruby-oci8
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 12 09:40:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Simun Mikecin
>Release:        FreeBSD 6.2-RELEASE-p2 i386
>Organization:
>Environment:
System: FreeBSD plasma.logos.hr 6.2-RELEASE-p2 FreeBSD 6.2-RELEASE-p2 #0: Mon Mar  5 10:23:07 CET 2007 root@plasma.logos.hr:/usr/obj/usr/src.6.2/sys/PLASMA i386


	
>Description:
OCI8 is a ruby interface for Oracle using OCI8 API.
You can test it with something like:

ruby -r oci8 -e "OCI8.new('user', 'pass', 'oraname').exec('select sysdate from dual') do |r| puts r.join(','); end"

>How-To-Repeat:
	
>Fix:
# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	ruby-oci8
#	ruby-oci8/pkg-plist
#	ruby-oci8/pkg-descr
#	ruby-oci8/distinfo
#	ruby-oci8/Makefile
#	ruby-oci8/files
#	ruby-oci8/files/patch-ext_oci8_oraconf.rb
#
echo c - ruby-oci8
mkdir -p ruby-oci8 > /dev/null 2>&1
echo x - ruby-oci8/pkg-plist
sed 's/^X//' >ruby-oci8/pkg-plist << 'END-of-ruby-oci8/pkg-plist'
X%%RUBY_SITEARCHLIBDIR%%/oci8lib.so
X%%PORTDOCS%%%%RUBY_MODDOCDIR%%/ChangeLog
X%%PORTDOCS%%%%RUBY_MODDOCDIR%%/README
X%%PORTDOCS%%@dirrm %%RUBY_MODDOCDIR%%
END-of-ruby-oci8/pkg-plist
echo x - ruby-oci8/pkg-descr
sed 's/^X//' >ruby-oci8/pkg-descr << 'END-of-ruby-oci8/pkg-descr'
XRuby/OCI8 is a ruby interface for Oracle using OCI8 API.
END-of-ruby-oci8/pkg-descr
echo x - ruby-oci8/distinfo
sed 's/^X//' >ruby-oci8/distinfo << 'END-of-ruby-oci8/distinfo'
XMD5 (ruby/ruby-oci8-1.0.0-rc1.tar.gz) = 34fee64959f5c8317c9349050b1a79e8
XSHA256 (ruby/ruby-oci8-1.0.0-rc1.tar.gz) = 69012e2813d1d41d716c78de6bf44af8951838c16c6f670c962d30ebff9f3ad9
XSIZE (ruby/ruby-oci8-1.0.0-rc1.tar.gz) = 92989
END-of-ruby-oci8/distinfo
echo x - ruby-oci8/Makefile
sed 's/^X//' >ruby-oci8/Makefile << 'END-of-ruby-oci8/Makefile'
X# New ports collection makefile for:	ruby-oci8
X# Date created:		10 April 2007
X# Whom:			Simun Mikecin <numisemis at yahoo dot com>
X#
X# $FreeBSD: $
X#
X
XPORTNAME=	oci8
XDISTVERSION=	1.0.0rc1
XCATEGORIES=	databases ruby
XMASTER_SITES=	${MASTER_SITE_RUBYFORGE}
XMASTER_SITE_SUBDIR=ruby-oci8
XPKGNAMEPREFIX=	${RUBY_PKGNAMEPREFIX}
XDISTNAME=	ruby-${PORTNAME}-${DISTVERSION:S/rc/-rc/}
XDIST_SUBDIR=	ruby
X
XMAINTAINER=	numisemis@yahoo.com
XCOMMENT=	Ruby interface to Oracle OCI8
X
XUSE_RUBY=	yes
XUSE_RUBY_EXTCONF=	yes
XRUBY_EXTCONF_SUBDIRS=	ext/oci8
X
XBUILD_DEPENDS+= ${LOCALBASE}/oracle8-client/lib/libclntsh.a:${PORTSDIR}/databases/oracle8-client
X
XRUN_DEPENDS+=   ${BUILD_DEPENDS}
X
XCONFIGURE_ARGS= --with-instant-client="${LOCALBASE}/oracle8-client/lib"
XINSTALL_TARGET=	site-install
X
XDOCS_EN=	ChangeLog README
X
Xpost-install:
X.if !defined(NOPORTDOCS)
X	${MKDIR} ${RUBY_MODDOCDIR}
X.for f in ${DOCS_EN}
X	${INSTALL_DATA} ${WRKSRC}/${f} ${RUBY_MODDOCDIR}/
X.endfor
X.endif
X
X.include <bsd.port.mk>
END-of-ruby-oci8/Makefile
echo c - ruby-oci8/files
mkdir -p ruby-oci8/files > /dev/null 2>&1
echo x - ruby-oci8/files/patch-ext_oci8_oraconf.rb
sed 's/^X//' >ruby-oci8/files/patch-ext_oci8_oraconf.rb << 'END-of-ruby-oci8/files/patch-ext_oci8_oraconf.rb'
X--- ext/oci8/oraconf.rb.orig	Fri Jan 19 15:50:28 2007
X+++ ext/oci8/oraconf.rb	Thu Apr 12 10:58:36 2007
X@@ -197,6 +197,8 @@
X     when /darwin/
X       @@ld_envs = %w[DYLD_LIBRARY_PATH]
X       so_ext = 'dylib'
X+    when /freebsd/
X+      return "/usr/local/oracle8-client/lib"
X     end
X 
X     glob_name = "#{oci_basename}.#{so_ext}#{oci_glob_postfix}"
X@@ -720,7 +722,8 @@
X       @libs = get_libs("#{ic_dir}/sdk")
X       ld_path = nil
X     else
X-      @cflags = " -I#{inc_dir}"
X+      @cflags = ''
X+      @libs = ''
X       # set ld_path and so_ext
X       case RUBY_PLATFORM
X       when /aix/
X@@ -736,10 +739,16 @@
X       when /darwin/
X         ld_path = 'DYLD_LIBRARY_PATH'
X         so_ext = 'dylib'
X+      when /freebsd/
X+        so_ext = 'a'
X+        inc_dir = "#{ic_dir}/../rdbms/demo"
X+        @cflags = " -I#{ic_dir}/../rdbms/public"
X+        @libs = " -lcompat"
X       else
X         ld_path = 'LD_LIBRARY_PATH'
X         so_ext = 'so'
X       end
X+      @cflags += " -I#{inc_dir}"
X       # check Oracle client library.
X       unless File.exists?("#{lib_dir}/libclntsh.#{so_ext}")
X         files = Dir.glob("#{lib_dir}/libclntsh.#{so_ext}.*")
X@@ -761,7 +770,7 @@
X         end
X         raise 'failed'
X       end
X-      @libs = " -L#{lib_dir} -lclntsh "
X+      @libs += " -L#{lib_dir} -lclntsh "
X     end
X     unless File.exists?("#{inc_dir}/oci.h")
X           raise <<EOS
END-of-ruby-oci8/files/patch-ext_oci8_oraconf.rb
exit

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070412091822.9198026D167>