summaryrefslogtreecommitdiff
path: root/databases/ruby-tokyotyrant
diff options
context:
space:
mode:
authorobache <obache>2008-10-26 11:43:50 +0000
committerobache <obache>2008-10-26 11:43:50 +0000
commit9e40bffff8e937d44dc88081c9e9a17eafe224eb (patch)
treed9dc27fb6099f6b26295b8af7beff2ead340e77b /databases/ruby-tokyotyrant
parent6faebfe377ef558193df0cc2e11f59e41fa30a44 (diff)
downloadpkgsrc-9e40bffff8e937d44dc88081c9e9a17eafe224eb.tar.gz
Import ruby-tokyotyrant-1.0 as databases/ruby-tokyotyrant.
This module implements the pure Ruby client which connects to the server of Tokyo Tyrant and speaks its original binary protocol. Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet. Though the DBM has high performance, you might bother in case that multiple processes share the same database, or remote processes access the database. Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo Cabinet. It is composed of the server process managing a database and its access library for client applications. The server can embed Lua, a lightweight script language so that you can define arbitrary operations of the database. The server features high concurrency due to thread-pool modeled implementation and the epoll/kqueue mechanism of the modern Linux/*BSD kernel. The server and its clients communicate with each other by simple binary protocol on TCP/IP. Protocols compatible with memcached and HTTP/1.1 are also supported so that almost all principal platforms and programming languages can use Tokyo Tyrant. High availability and high integrity are also featured due to such mechanisms as hot backup, update logging, and replication.
Diffstat (limited to 'databases/ruby-tokyotyrant')
-rw-r--r--databases/ruby-tokyotyrant/DESCR18
-rw-r--r--databases/ruby-tokyotyrant/Makefile34
-rw-r--r--databases/ruby-tokyotyrant/PLIST3
-rw-r--r--databases/ruby-tokyotyrant/distinfo6
-rw-r--r--databases/ruby-tokyotyrant/patches/patch-aa18
5 files changed, 79 insertions, 0 deletions
diff --git a/databases/ruby-tokyotyrant/DESCR b/databases/ruby-tokyotyrant/DESCR
new file mode 100644
index 00000000000..4aaa568a0cc
--- /dev/null
+++ b/databases/ruby-tokyotyrant/DESCR
@@ -0,0 +1,18 @@
+This module implements the pure Ruby client which connects to the server of
+Tokyo Tyrant and speaks its original binary protocol.
+
+Tokyo Tyrant is a package of network interface to the DBM called Tokyo Cabinet.
+Though the DBM has high performance, you might bother in case that multiple
+processes share the same database, or remote processes access the database.
+Thus, Tokyo Tyrant is provided for concurrent and remote connections to Tokyo
+Cabinet. It is composed of the server process managing a database and its access
+library for client applications. The server can embed Lua, a lightweight script
+language so that you can define arbitrary operations of the database.
+
+The server features high concurrency due to thread-pool modeled implementation
+and the epoll/kqueue mechanism of the modern Linux/*BSD kernel. The server and
+its clients communicate with each other by simple binary protocol on TCP/IP.
+Protocols compatible with memcached and HTTP/1.1 are also supported so that
+almost all principal platforms and programming languages can use Tokyo Tyrant.
+High availability and high integrity are also featured due to such mechanisms as
+hot backup, update logging, and replication.
diff --git a/databases/ruby-tokyotyrant/Makefile b/databases/ruby-tokyotyrant/Makefile
new file mode 100644
index 00000000000..600b1cca23d
--- /dev/null
+++ b/databases/ruby-tokyotyrant/Makefile
@@ -0,0 +1,34 @@
+# $NetBSD: Makefile,v 1.1.1.1 2008/10/26 11:43:50 obache Exp $
+#
+
+DISTNAME= tokyotyrant-ruby-1.0
+PKGNAME= ${RUBY_PKGPREFIX}-${DISTNAME:S/-ruby-/-/}
+CATEGORIES= databases ruby
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=tokyocabinet/}
+
+MAINTAINER= obache@NetBSD.org
+HOMEPAGE= http://tokyocabinet.sourceforge.net/tyrantrubydoc/
+COMMENT= Pure Ruby Interface of Tokyo Tyrant
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+USE_LANGUAGES= # none
+USE_TOOLS+= pax
+NO_BUILD= yes
+USE_RUBY_INSTALL= yes
+
+REPLACE_RUBY= tcrtest.rb
+
+DOCDIR= share/tokytyrant/doc/ruby
+RUBY_DYNAMIC_DIRS= ${DOCDIR}
+
+do-test:
+ ${RUN} cd ${WRKSRC}; ${SETENV} ${TEST_ENV} ${RUBY} test.rb
+
+post-install:
+ ${INSTALL_DATA_DIR} ${DESTDIR}/${PREFIX}/${DOCDIR}
+ cd ${WRKSRC}/doc && pax -rwpe . ${DESTDIR}${PREFIX}/${DOCDIR}
+ ${RUBY_GENERATE_PLIST}
+
+.include "../../lang/ruby/modules.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/databases/ruby-tokyotyrant/PLIST b/databases/ruby-tokyotyrant/PLIST
new file mode 100644
index 00000000000..98cc2a127e1
--- /dev/null
+++ b/databases/ruby-tokyotyrant/PLIST
@@ -0,0 +1,3 @@
+@comment $NetBSD: PLIST,v 1.1.1.1 2008/10/26 11:43:50 obache Exp $
+bin/tcrtest.rb
+${RUBY_VENDORLIB}/tokyotyrant.rb
diff --git a/databases/ruby-tokyotyrant/distinfo b/databases/ruby-tokyotyrant/distinfo
new file mode 100644
index 00000000000..edb6d54d71e
--- /dev/null
+++ b/databases/ruby-tokyotyrant/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1.1.1 2008/10/26 11:43:50 obache Exp $
+
+SHA1 (tokyotyrant-ruby-1.0.tar.gz) = 7922ed5240f949a2310901ac1bb307689f528051
+RMD160 (tokyotyrant-ruby-1.0.tar.gz) = 8f9af33ceea41a4a8037e783bab635a1d1443d62
+Size (tokyotyrant-ruby-1.0.tar.gz) = 33953 bytes
+SHA1 (patch-aa) = afcc9638de5c103bd30948450dc10a6c8b208a86
diff --git a/databases/ruby-tokyotyrant/patches/patch-aa b/databases/ruby-tokyotyrant/patches/patch-aa
new file mode 100644
index 00000000000..3cb74733cdc
--- /dev/null
+++ b/databases/ruby-tokyotyrant/patches/patch-aa
@@ -0,0 +1,18 @@
+$NetBSD: patch-aa,v 1.1.1.1 2008/10/26 11:43:50 obache Exp $
+
+--- install.rb.orig 2008-10-26 08:13:27.000000000 +0000
++++ install.rb
+@@ -1,10 +1,13 @@
+ require 'rbconfig'
++require 'ftools'
+
+ sitelibdir = Config::CONFIG.fetch("sitelibdir")
+ bindir = Config::CONFIG.fetch("bindir")
+
+ def copy(src, dest, mode)
+ p dest
++ dest = File.join(ENV['DESTDIR'], dest)
++ File::makedirs(File.dirname(dest))
+ open(src, "rb") do |infile|
+ open(dest, "wb") do |outfile|
+ while buf = infile.read(8192)