summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authorwiz <wiz>2017-03-14 13:12:28 +0000
committerwiz <wiz>2017-03-14 13:12:28 +0000
commit1ce7eb27d027fb15a0acedc3b8dd486eba5b1cc4 (patch)
tree8b87e0e4b1cb8b687564a9b532861f2aef77a2f7 /databases
parente294b5e45486b17841aa6e3b74017885b68f7bc6 (diff)
downloadpkgsrc-1ce7eb27d027fb15a0acedc3b8dd486eba5b1cc4.tar.gz
Import leveldb-1.20 as databases/leveldb.
Packaged for wip by Mike M. Volokhov and myself. LevelDB is a fast key-value storage library written at Google that provides an ordered mapping from string keys to string values.
Diffstat (limited to 'databases')
-rw-r--r--databases/leveldb/DESCR2
-rw-r--r--databases/leveldb/Makefile51
-rw-r--r--databases/leveldb/PLIST28
-rw-r--r--databases/leveldb/buildlink3.mk12
-rw-r--r--databases/leveldb/distinfo7
-rw-r--r--databases/leveldb/options.mk13
-rw-r--r--databases/leveldb/patches/patch-aa21
7 files changed, 134 insertions, 0 deletions
diff --git a/databases/leveldb/DESCR b/databases/leveldb/DESCR
new file mode 100644
index 00000000000..845283f59ef
--- /dev/null
+++ b/databases/leveldb/DESCR
@@ -0,0 +1,2 @@
+LevelDB is a fast key-value storage library written at Google that
+provides an ordered mapping from string keys to string values.
diff --git a/databases/leveldb/Makefile b/databases/leveldb/Makefile
new file mode 100644
index 00000000000..caf7413a59f
--- /dev/null
+++ b/databases/leveldb/Makefile
@@ -0,0 +1,51 @@
+# $NetBSD: Makefile,v 1.1 2017/03/14 13:12:28 wiz Exp $
+
+DISTNAME= leveldb-1.20
+CATEGORIES= databases
+MASTER_SITES= ${MASTER_SITE_GITHUB:=google/}
+GITHUB_TAG= v${PKGVERSION_NOREV}
+
+MAINTAINER= mishka@NetBSD.org
+HOMEPAGE= https://github.com/google/leveldb
+COMMENT= Fast and lightweight key/value database library by Google
+LICENSE= modified-bsd
+
+USE_LANGUAGES+= c c++
+USE_TOOLS+= gmake pax
+
+INSTALLATION_DIRS+= bin include/leveldb lib share/doc/leveldb
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${OPSYS} == "Darwin"
+SS= dylib
+.else
+SS= so
+.endif
+
+MAJOR= ${PKGVERSION_NOREV:R}
+MINOR= ${PKGVERSION_NOREV:E}
+
+# N.B.: leveldb Darwin support follows popular Unix .so naming convention
+SS.M= ${SS}.${MAJOR}
+SS.M.N= ${SS}.${MAJOR}.${MINOR}
+
+PLIST_SUBST+= SS=${SS:Q} SS.M=${SS.M:Q} SS.M.N=${SS.M.N:Q}
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/out-static/leveldbutil ${DESTDIR}${PREFIX}/bin
+ ${INSTALL_PROGRAM} ${WRKSRC}/out-static/db_bench \
+ ${DESTDIR}${PREFIX}/bin/leveldb_bench
+
+ ${INSTALL_LIB} ${WRKSRC}/out-static/libleveldb.a ${DESTDIR}${PREFIX}/lib
+ ${INSTALL_LIB} ${WRKSRC}/out-shared/libleveldb.${SS.M.N} ${DESTDIR}${PREFIX}/lib
+ ${LN} -s libleveldb.${SS.M.N} ${DESTDIR}${PREFIX}/lib/libleveldb.${SS.M}
+ ${LN} -s libleveldb.${SS.M} ${DESTDIR}${PREFIX}/lib/libleveldb.${SS}
+
+ ${INSTALL_DATA} ${WRKSRC}/include/leveldb/* \
+ ${DESTDIR}${PREFIX}/include/leveldb
+
+ cd ${WRKSRC}/doc && ${PAX} -rw . ${DESTDIR}${PREFIX}/share/doc/leveldb
+
+.include "options.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/databases/leveldb/PLIST b/databases/leveldb/PLIST
new file mode 100644
index 00000000000..bd6ad7f0c28
--- /dev/null
+++ b/databases/leveldb/PLIST
@@ -0,0 +1,28 @@
+@comment $NetBSD: PLIST,v 1.1 2017/03/14 13:12:28 wiz Exp $
+bin/leveldb_bench
+bin/leveldbutil
+include/leveldb/c.h
+include/leveldb/cache.h
+include/leveldb/comparator.h
+include/leveldb/db.h
+include/leveldb/dumpfile.h
+include/leveldb/env.h
+include/leveldb/filter_policy.h
+include/leveldb/iterator.h
+include/leveldb/options.h
+include/leveldb/slice.h
+include/leveldb/status.h
+include/leveldb/table.h
+include/leveldb/table_builder.h
+include/leveldb/write_batch.h
+lib/libleveldb.a
+lib/libleveldb.${SS}
+lib/libleveldb.${SS.M}
+lib/libleveldb.${SS.M.N}
+share/doc/leveldb/bench/db_bench_sqlite3.cc
+share/doc/leveldb/bench/db_bench_tree_db.cc
+share/doc/leveldb/benchmark.html
+share/doc/leveldb/impl.md
+share/doc/leveldb/index.md
+share/doc/leveldb/log_format.md
+share/doc/leveldb/table_format.md
diff --git a/databases/leveldb/buildlink3.mk b/databases/leveldb/buildlink3.mk
new file mode 100644
index 00000000000..65cd9540967
--- /dev/null
+++ b/databases/leveldb/buildlink3.mk
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.1 2017/03/14 13:12:28 wiz Exp $
+
+BUILDLINK_TREE+= leveldb
+
+.if !defined(LEVELDB_BUILDLINK3_MK)
+LEVELDB_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.leveldb+= leveldb>=1.5
+BUILDLINK_PKGSRCDIR.leveldb?= ../../databases/leveldb
+.endif # LEVELDB_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -leveldb
diff --git a/databases/leveldb/distinfo b/databases/leveldb/distinfo
new file mode 100644
index 00000000000..94106212460
--- /dev/null
+++ b/databases/leveldb/distinfo
@@ -0,0 +1,7 @@
+$NetBSD: distinfo,v 1.1 2017/03/14 13:12:28 wiz Exp $
+
+SHA1 (leveldb-1.20.tar.gz) = df11440c30deed5987263730180225db98de9f57
+RMD160 (leveldb-1.20.tar.gz) = 9cc7db3d8c80e11659bafe02e3efe7a03f98369d
+SHA512 (leveldb-1.20.tar.gz) = c59258f2f58ce2d5680e9ab3da4ab0923d91cd4648dcf63cdaa26cdde92bf45e094544539ad11d8e09a4a4813435286143ed0e86c21c6c31a0596903ed4744d2
+Size (leveldb-1.20.tar.gz) = 223141 bytes
+SHA1 (patch-aa) = 66a727ab380538bf01f4d472cdad0eeccddff544
diff --git a/databases/leveldb/options.mk b/databases/leveldb/options.mk
new file mode 100644
index 00000000000..843cefc8a0e
--- /dev/null
+++ b/databases/leveldb/options.mk
@@ -0,0 +1,13 @@
+# $NetBSD: options.mk,v 1.1 2017/03/14 13:12:28 wiz Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.leveldb
+PKG_SUPPORTED_OPTIONS= snappy
+PKG_SUGGESTED_OPTIONS= snappy
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= snappy
+
+.if !empty(PKG_OPTIONS:Msnappy)
+.include "../../devel/snappy/buildlink3.mk"
+.endif
diff --git a/databases/leveldb/patches/patch-aa b/databases/leveldb/patches/patch-aa
new file mode 100644
index 00000000000..47772970440
--- /dev/null
+++ b/databases/leveldb/patches/patch-aa
@@ -0,0 +1,21 @@
+$NetBSD: patch-aa,v 1.1 2017/03/14 13:12:28 wiz Exp $
+
+Try to be platform agnostic during endianness detection.
+https://code.google.com/p/leveldb/issues/detail?id=137
+
+--- port/port_posix.h.orig 2012-12-27 18:32:31.000000000 +0000
++++ port/port_posix.h
+@@ -7,6 +7,13 @@
+ #ifndef STORAGE_LEVELDB_PORT_PORT_POSIX_H_
+ #define STORAGE_LEVELDB_PORT_PORT_POSIX_H_
+
++#ifndef __BYTE_ORDER
++#define __BYTE_ORDER _BYTE_ORDER
++#endif
++#ifndef __LITTLE_ENDIAN
++#define __LITTLE_ENDIAN _LITTLE_ENDIAN
++#endif
++
+ #undef PLATFORM_IS_LITTLE_ENDIAN
+ #if defined(OS_MACOSX)
+ #include <machine/endian.h>