1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-17 08:01:36 +00:00

Add kyotocabinet, a straightforward implementation of DBM.

This commit is contained in:
Akinori MUSHA 2010-04-23 10:42:27 +00:00
parent a6198a9ca5
commit 5a6852eeb9
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=253078
7 changed files with 154 additions and 0 deletions

View File

@ -125,6 +125,7 @@
SUBDIR += ksqlanalyzer
SUBDIR += ksqlshell
SUBDIR += kumofs
SUBDIR += kyotocabinet
SUBDIR += libdbi
SUBDIR += libdbi-drivers
SUBDIR += libdrizzle

View File

@ -0,0 +1,50 @@
# New ports collection makefile for: kyotocabinet
# Date created: 22 April 2010
# Whom: Akinori MUSHA aka knu <knu@idaemons.org>
#
# $FreeBSD$
#
PORTNAME= kyotocabinet
PORTVERSION= 0.9.14
CATEGORIES= databases
MASTER_SITES= http://1978th.net/kyotocabinet/
MAINTAINER= knu@FreeBSD.org
COMMENT= A straightforward implementation of DBM
MAKE_JOBS_SAFE= yes
GNU_CONFIGURE= yes
USE_GMAKE= yes
USE_LDCONFIG= yes
MAKE_ARGS= PCDIR="${PREFIX}/libdata/pkgconfig"
.if !defined(NOPORTDOCS)
PORTDOCS= *
.endif
MAN1= kccachetest.1 \
kchashmgr.1 \
kchashtest.1 \
kclangctest.1 \
kcpolymgr.1 \
kcpolytest.1 \
kcprototest.1 \
kctreemgr.1 \
kctreetest.1 \
kcutilcodec.1 \
kcutiltest.1
check: build
cd ${WRKSRC}; ${MAKE} check
post-install:
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/kyotocabinet.idl ${DATADIR}/
.if !defined(NOPORTDOCS)
${MKDIR} ${DOCSDIR}
cd ${WRKSRC} && ${COPYTREE_SHARE} "COPYING ChangeLog THANKS doc" ${DOCSDIR}/
.endif
.include <bsd.port.mk>

View File

@ -0,0 +1,3 @@
MD5 (kyotocabinet-0.9.14.tar.gz) = e3ce3b8bcde8d28575b39ade3df5979e
SHA256 (kyotocabinet-0.9.14.tar.gz) = 09bf431a55499d4b1f36e675d1f7123a3a15c4238d172d20bdde3a7212226b3a
SIZE (kyotocabinet-0.9.14.tar.gz) = 626170

View File

@ -0,0 +1,28 @@
--- Makefile.in.orig 2010-04-15 16:06:41.000000000 +0900
+++ Makefile.in 2010-04-23 19:34:19.169814890 +0900
@@ -117,13 +117,13 @@
cp -Rf $(LIBRARYFILES) $(DESTDIR)$(LIBDIR)
mkdir -p $(DESTDIR)$(BINDIR)
cp -Rf $(COMMANDFILES) $(DESTDIR)$(BINDIR)
- mkdir -p $(DESTDIR)$(DATADIR)
- cp -Rf $(DOCUMENTFILES) $(DESTDIR)$(DATADIR)
+# mkdir -p $(DESTDIR)$(DATADIR)
+# cp -Rf $(DOCUMENTFILES) $(DESTDIR)$(DATADIR)
mkdir -p $(DESTDIR)$(MAN1DIR)
cd man && cp -Rf $(MAN1FILES) $(DESTDIR)$(MAN1DIR)
mkdir -p $(DESTDIR)$(PCDIR)
cp -Rf $(PCFILES) $(DESTDIR)$(PCDIR)
- [ "$$UID" == 0 ] && ldconfig || true
+# [ "$$UID" = 0 ] && ldconfig || true
@printf '\n'
@printf '#================================================================\n'
@printf '# Thanks for using Kyoto Cabinet.\n'
@@ -142,7 +142,7 @@
cd $(DESTDIR)$(MAN1DIR) && rm -f $(MAN1FILES)
rm -rf $(DESTDIR)$(DATADIR)
cd $(DESTDIR)$(PCDIR) && rm -f $(PCFILES)
- [ "$$UID" == 0 ] && ldconfig || true
+# [ "$$UID" = 0 ] && ldconfig || true
dist :

View File

@ -0,0 +1,17 @@
--- kccommon.h.orig 2010-04-21 10:21:05.000000000 +0900
+++ kccommon.h 2010-04-23 01:29:11.788967538 +0900
@@ -84,9 +84,14 @@
#else
+inline double log2(double num) {
+ return log(num) / M_LN2;
+}
+
namespace std {
using ::log2;
using ::modfl;
+using ::snprintf;
}
#endif

View File

@ -0,0 +1,23 @@
Kyoto Cabinet is a library of routines for managing a database. The
database is a simple data file containing records, each is a pair of a
key and a value. Every key and value is serial bytes with variable
length. Both binary data and character string can be used as a key and
a value. Each key must be unique within a database. There is neither
concept of data tables nor data types. Records are organized in hash
table or B+ tree.
Kyoto Cabinet runs very fast. For example, elapsed time to store one
million records is 0.9 seconds for hash database, and 1.1 seconds for
B+ tree database. Moreover, the size of database of Kyoto Cabinet is
very small. For example, overhead for a record is 16 bytes for hash
database, and 4 bytes for B+ tree database. Furthermore, scalability
of Kyoto Cabinet is great. The database size can be up to 8EB (9.22e18
bytes).
Kyoto Cabinet is written in the C++ language, and provided as API of
C++, C, and Ruby. Kyoto Cabinet is available on platforms which have
API conforming to C++03 with the TR1 library extensions. Kyoto Cabinet
is a free software licensed under the GNU General Public License.
Author: Mikio Hirabayashi <hirarin@gmail.com>
WWW: http://1978th.net/kyotocabinet/

View File

@ -0,0 +1,32 @@
bin/kccachetest
bin/kchashmgr
bin/kchashtest
bin/kclangctest
bin/kcpolymgr
bin/kcpolytest
bin/kcprototest
bin/kctreemgr
bin/kctreetest
bin/kcutilcodec
bin/kcutiltest
include/kccachedb.h
include/kccommon.h
include/kccompare.h
include/kccompress.h
include/kcdb.h
include/kcfile.h
include/kchashdb.h
include/kclangc.h
include/kcmap.h
include/kcpolydb.h
include/kcprotodb.h
include/kcthread.h
include/kctreedb.h
include/kcutil.h
lib/libkyotocabinet.a
lib/libkyotocabinet.so
lib/libkyotocabinet.so.2
lib/libkyotocabinet.so.2.17.0
libdata/pkgconfig/kyotocabinet.pc
%%DATADIR%%/kyotocabinet.idl
@dirrm %%DATADIR%%