summaryrefslogtreecommitdiff
path: root/databases
diff options
context:
space:
mode:
authoradam <adam@pkgsrc.org>2019-03-20 19:06:17 +0000
committeradam <adam@pkgsrc.org>2019-03-20 19:06:17 +0000
commit86549c782763a84999378b2337c9d82d9448c10a (patch)
treef58f5b995cda11a9815450e1654d3148cf88a96a /databases
parent305726cb13d8ed91fe976c3631beb32b278bc0c1 (diff)
downloadpkgsrc-86549c782763a84999378b2337c9d82d9448c10a.tar.gz
ldb: added version 1.5.4
ldb is a LDAP-like embedded database. It is not at all LDAP standards compliant, so if you want a standards compliant database then please see the excellent OpenLDAP project. What ldb does is provide a fast database with an LDAP-like API designed to be used within an application. In some ways it can be seen as a intermediate solution between key-value pair databases and a real LDAP database. ldb is the database engine used in Samba4. Features: * The main features that separate ldb from other solutions are: * Safe multi-reader, multi-writer, using byte range locking * LDAP-like API * fast operation * choice of local tdb or remote LDAP backends * integration with talloc * schema-less operation, for trivial setup * modules for extensions (such as schema support) * easy setup of indexes and attribute properties * LDIF for import/export * ldbedit tool for database (via LDIF) editing (reminiscent of 'vipw')
Diffstat (limited to 'databases')
-rw-r--r--databases/Makefile3
-rw-r--r--databases/ldb/DESCR22
-rw-r--r--databases/ldb/Makefile70
-rw-r--r--databases/ldb/PLIST45
-rw-r--r--databases/ldb/buildlink3.mk18
-rw-r--r--databases/ldb/distinfo8
-rw-r--r--databases/ldb/patches/patch-buildtools_wafsamba_samba__conftests.py19
-rw-r--r--databases/ldb/patches/patch-buildtools_wafsamba_samba__install.py15
8 files changed, 199 insertions, 1 deletions
diff --git a/databases/Makefile b/databases/Makefile
index f8afe0d02bc..232b038743b 100644
--- a/databases/Makefile
+++ b/databases/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.576 2019/03/17 12:55:13 tm Exp $
+# $NetBSD: Makefile,v 1.577 2019/03/20 19:06:17 adam Exp $
COMMENT= Databases
@@ -62,6 +62,7 @@ SUBDIR+= jdbc-postgresql94
SUBDIR+= kyotocabinet
SUBDIR+= lbdb
SUBDIR+= ldapvi
+SUBDIR+= ldb
SUBDIR+= leveldb
SUBDIR+= libcassandra
SUBDIR+= libdbh2
diff --git a/databases/ldb/DESCR b/databases/ldb/DESCR
new file mode 100644
index 00000000000..1c9f085ba50
--- /dev/null
+++ b/databases/ldb/DESCR
@@ -0,0 +1,22 @@
+ldb is a LDAP-like embedded database. It is not at all LDAP standards
+compliant, so if you want a standards compliant database then please see the
+excellent OpenLDAP project.
+
+What ldb does is provide a fast database with an LDAP-like API designed to be
+used within an application. In some ways it can be seen as a intermediate
+solution between key-value pair databases and a real LDAP database.
+
+ldb is the database engine used in Samba4.
+
+Features:
+* The main features that separate ldb from other solutions are:
+* Safe multi-reader, multi-writer, using byte range locking
+* LDAP-like API
+* fast operation
+* choice of local tdb or remote LDAP backends
+* integration with talloc
+* schema-less operation, for trivial setup
+* modules for extensions (such as schema support)
+* easy setup of indexes and attribute properties
+* LDIF for import/export
+* ldbedit tool for database (via LDIF) editing (reminiscent of 'vipw')
diff --git a/databases/ldb/Makefile b/databases/ldb/Makefile
new file mode 100644
index 00000000000..04f3d46936f
--- /dev/null
+++ b/databases/ldb/Makefile
@@ -0,0 +1,70 @@
+# $NetBSD: Makefile,v 1.1 2019/03/20 19:06:56 adam Exp $
+
+# Before updating, make sure net/samba4 supports the newer version.
+DISTNAME= ldb-1.5.4
+CATEGORIES= databases
+MASTER_SITES= http://www.samba.org/ftp/ldb/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://ldb.samba.org/
+COMMENT= LDAP-like embedded database
+LICENSE= gnu-gpl-v3
+
+BUILD_DEPENDS+= libxslt-[0-9]*:../../textproc/libxslt
+BUILD_DEPENDS+= docbook-xsl-[0-9]*:../../textproc/docbook-xsl
+
+USE_TOOLS+= gmake
+HAS_CONFIGURE= yes
+CONFIG_SHELL= ${PYTHONBIN}
+CONFIGURE_SCRIPT= ${WRKSRC}/buildtools/bin/waf
+CONFIGURE_ARGS+= configure
+CONFIGURE_ARGS+= --mandir=${PREFIX}/${PKGMANDIR}
+CONFIGURE_ARGS+= --abi-check-disable
+CONFIGURE_ARGS+= --disable-symbol-versions
+CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
+.if defined(MAKE_JOBS) && !empty(MAKE_JOBS) && !(defined(MAKE_JOBS_SAFE) && !empty(MAKE_JOBS_SAFE:M[nN][oO]))
+CONFIGURE_ARGS+= --jobs=${MAKE_JOBS}
+.else
+CONFIGURE_ARGS+= --jobs=1
+.endif
+TEST_TARGET= test
+
+USE_GCC_RUNTIME= yes
+
+PY_PATCHPLIST= yes
+REPLACE_PYTHON+= buildtools/bin/waf
+MAKE_FLAGS+= WAF_BINARY=${PYTHONBIN}\ ${WRKSRC}/buildtools/bin/waf
+
+.include "../../mk/bsd.prefs.mk"
+
+.if ${SHLIB_TYPE} == "dylib"
+PLIST_SUBST+= SOEXT=dylib
+.else
+PLIST_SUBST+= SOEXT=so
+.endif
+
+SUBST_CLASSES+= docbook
+SUBST_MESSAGE.docbook= Fixing docbook URLs.
+SUBST_FILES.docbook+= buildtools/wafsamba/samba_conftests.py
+SUBST_FILES.docbook+= buildtools/wafsamba/wafsamba.py
+SUBST_STAGE.docbook= pre-configure
+SUBST_SED.docbook+= -e 's,http://docbook.sourceforge.net/release/xsl/current,${PREFIX}/share/xsl/docbook,g'
+
+PLIST_VARS+= 64bit
+.if !empty(LP64PLATFORMS:@.PLAT.@${MACHINE_PLATFORM:M${.PLAT.}}@) || \
+ (defined(ABI) && ${ABI} == "64")
+PLIST.64bit= yes
+.include "../../databases/lmdb/buildlink3.mk"
+.else
+CONFIGURE_ARGS+= --without-ldb-lmdb
+.endif
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../databases/tdb/buildlink3.mk"
+.include "../../devel/cmocka/buildlink3.mk"
+.include "../../devel/popt/buildlink3.mk"
+.include "../../devel/talloc/buildlink3.mk"
+.include "../../devel/tevent/buildlink3.mk"
+.include "../../lang/python/application.mk"
+.include "../../lang/python/extension.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/databases/ldb/PLIST b/databases/ldb/PLIST
new file mode 100644
index 00000000000..efdb97542ee
--- /dev/null
+++ b/databases/ldb/PLIST
@@ -0,0 +1,45 @@
+@comment $NetBSD: PLIST,v 1.1 2019/03/20 19:06:56 adam Exp $
+bin/ldbadd
+bin/ldbdel
+bin/ldbedit
+bin/ldbmodify
+bin/ldbrename
+bin/ldbsearch
+include/ldb.h
+include/ldb_errors.h
+include/ldb_handlers.h
+include/ldb_module.h
+include/ldb_version.h
+include/pyldb.h
+lib/ldb/libldb-cmdline.so
+lib/ldb/libldb-key-value.so
+${PLIST.64bit}lib/ldb/libldb-mdb-int.so
+lib/ldb/libldb-tdb-err-map.so
+lib/ldb/libldb-tdb-int.so
+lib/libldb.so
+lib/libldb.so.${PKGVERSION}
+lib/libldb.so.1
+lib/libpyldb-util.so
+lib/libpyldb-util.so.${PKGVERSION}
+lib/libpyldb-util.so.1
+lib/pkgconfig/ldb.pc
+lib/pkgconfig/pyldb-util.pc
+${PYSITELIB}/_ldb_text.py
+${PYSITELIB}/ldb.so
+man/man1/ldbadd.1
+man/man1/ldbdel.1
+man/man1/ldbedit.1
+man/man1/ldbmodify.1
+man/man1/ldbrename.1
+man/man1/ldbsearch.1
+man/man3/ldb.3
+modules/ldb/asq.${SOEXT}
+modules/ldb/ldap.${SOEXT}
+modules/ldb/ldb.${SOEXT}
+${PLIST.64bit}modules/ldb/mdb.${SOEXT}
+modules/ldb/paged_searches.${SOEXT}
+modules/ldb/rdn_name.${SOEXT}
+modules/ldb/sample.${SOEXT}
+modules/ldb/server_sort.${SOEXT}
+modules/ldb/skel.${SOEXT}
+modules/ldb/tdb.${SOEXT}
diff --git a/databases/ldb/buildlink3.mk b/databases/ldb/buildlink3.mk
new file mode 100644
index 00000000000..dc70e2a2e73
--- /dev/null
+++ b/databases/ldb/buildlink3.mk
@@ -0,0 +1,18 @@
+# $NetBSD: buildlink3.mk,v 1.1 2019/03/20 19:06:56 adam Exp $
+
+BUILDLINK_TREE+= ldb
+
+.if !defined(LDB_BUILDLINK3_MK)
+LDB_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.ldb+= ldb>=1.5.4
+BUILDLINK_PKGSRCDIR.ldb?= ../../databases/ldb
+
+.include "../../converters/libiconv/buildlink3.mk"
+.include "../../databases/tdb/buildlink3.mk"
+.include "../../devel/popt/buildlink3.mk"
+.include "../../devel/talloc/buildlink3.mk"
+.include "../../devel/tevent/buildlink3.mk"
+.endif # LDB_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -ldb
diff --git a/databases/ldb/distinfo b/databases/ldb/distinfo
new file mode 100644
index 00000000000..f1e68a260cd
--- /dev/null
+++ b/databases/ldb/distinfo
@@ -0,0 +1,8 @@
+$NetBSD: distinfo,v 1.1 2019/03/20 19:06:56 adam Exp $
+
+SHA1 (ldb-1.5.4.tar.gz) = 870e4112053ae350f5de27b00aa8703d3e7dc34d
+RMD160 (ldb-1.5.4.tar.gz) = d2bbb808990f7dc80a4d0d1278756f13a4526f85
+SHA512 (ldb-1.5.4.tar.gz) = fc323e4283671c14d6dd4feb7e9ca943a63a166688077dbf3591f9d957cf821f9e739869842e15ca1ec4fd3764123d5afc6f4954b1af437bd1ec54df58366a22
+Size (ldb-1.5.4.tar.gz) = 1629123 bytes
+SHA1 (patch-buildtools_wafsamba_samba__conftests.py) = 4d2727e1ca3d65c26200bf699b93b5bf3198bfd0
+SHA1 (patch-buildtools_wafsamba_samba__install.py) = d801340617da325e3bb70a90350e45cc8e383c2d
diff --git a/databases/ldb/patches/patch-buildtools_wafsamba_samba__conftests.py b/databases/ldb/patches/patch-buildtools_wafsamba_samba__conftests.py
new file mode 100644
index 00000000000..fec622e1f2c
--- /dev/null
+++ b/databases/ldb/patches/patch-buildtools_wafsamba_samba__conftests.py
@@ -0,0 +1,19 @@
+$NetBSD: patch-buildtools_wafsamba_samba__conftests.py,v 1.1 2019/03/20 19:06:17 adam Exp $
+
+Ensure defines are strings to avoid assertion failure, some
+returned values are unicode.
+
+--- buildtools/wafsamba/samba_conftests.py.orig 2019-02-26 15:12:23.000000000 +0000
++++ buildtools/wafsamba/samba_conftests.py
+@@ -97,9 +97,9 @@ def CHECK_LARGEFILE(conf, define='HAVE_L
+ if flag[:2] == "-D":
+ flag_split = flag[2:].split('=')
+ if len(flag_split) == 1:
+- conf.DEFINE(flag_split[0], '1')
++ conf.DEFINE(str(flag_split[0]), '1')
+ else:
+- conf.DEFINE(flag_split[0], flag_split[1])
++ conf.DEFINE(str(flag_split[0]), str(flag_split[1]))
+
+ if conf.CHECK_CODE('return !(sizeof(off_t) >= 8)',
+ define,
diff --git a/databases/ldb/patches/patch-buildtools_wafsamba_samba__install.py b/databases/ldb/patches/patch-buildtools_wafsamba_samba__install.py
new file mode 100644
index 00000000000..91702aaa25b
--- /dev/null
+++ b/databases/ldb/patches/patch-buildtools_wafsamba_samba__install.py
@@ -0,0 +1,15 @@
+$NetBSD: patch-buildtools_wafsamba_samba__install.py,v 1.1 2019/03/20 19:06:17 adam Exp $
+
+Apply correct install_name on Darwin.
+
+--- buildtools/wafsamba/samba_install.py.orig 2019-01-14 22:24:44.000000000 +0000
++++ buildtools/wafsamba/samba_install.py
+@@ -151,6 +151,8 @@ def install_library(self):
+ bld.symlink_as(os.path.join(install_path, install_link), os.path.basename(install_name))
+ if dev_link:
+ bld.symlink_as(os.path.join(install_path, dev_link), os.path.basename(install_name))
++ if getattr(self, 'samba_type', None) != 'PYTHON' and self.env.MACOSX_DEPLOYMENT_TARGET:
++ self.env.append_value('LINKFLAGS', ['-install_name', os.path.join(install_path, install_name)])
+ finally:
+ bld.all_envs['default'] = default_env
+