diff options
author | adam <adam@pkgsrc.org> | 2019-03-20 19:06:17 +0000 |
---|---|---|
committer | adam <adam@pkgsrc.org> | 2019-03-20 19:06:17 +0000 |
commit | 86549c782763a84999378b2337c9d82d9448c10a (patch) | |
tree | f58f5b995cda11a9815450e1654d3148cf88a96a /databases | |
parent | 305726cb13d8ed91fe976c3631beb32b278bc0c1 (diff) | |
download | pkgsrc-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/Makefile | 3 | ||||
-rw-r--r-- | databases/ldb/DESCR | 22 | ||||
-rw-r--r-- | databases/ldb/Makefile | 70 | ||||
-rw-r--r-- | databases/ldb/PLIST | 45 | ||||
-rw-r--r-- | databases/ldb/buildlink3.mk | 18 | ||||
-rw-r--r-- | databases/ldb/distinfo | 8 | ||||
-rw-r--r-- | databases/ldb/patches/patch-buildtools_wafsamba_samba__conftests.py | 19 | ||||
-rw-r--r-- | databases/ldb/patches/patch-buildtools_wafsamba_samba__install.py | 15 |
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 + |