summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/ldb')
-rw-r--r--sys-libs/ldb/Manifest1
-rw-r--r--sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch40
-rw-r--r--sys-libs/ldb/ldb-1.5.2.ebuild105
3 files changed, 146 insertions, 0 deletions
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest
index 90df3b4186b3..ee746ab6d8a2 100644
--- a/sys-libs/ldb/Manifest
+++ b/sys-libs/ldb/Manifest
@@ -6,3 +6,4 @@ DIST ldb-1.3.6.tar.gz 1374574 BLAKE2B 654f35eb25aeb373540ead7cb10da66c92970ea6b1
DIST ldb-1.4.2.tar.gz 1427857 BLAKE2B 5a90b31b4760f0504197d3cefdb16f7d4099df660fe75c5d80907e39abde8abc6b87cdb117ee9213abf8287932c18782ab153d87bb609cb1f346231e6e00997c SHA512 f2b44cebd0f8c77926aa364d9ac4ea37da4a780b94e7f9fba7a55fef825e90e469a3230e56cd2b23ce4f6b528dda9041863e4af77bb0826a117e8317a0b79070
DIST ldb-1.4.3.tar.gz 1428730 BLAKE2B 1e0fec1aeb05ecd34b7dc88d85425b646ab28804245543256c575a44c1a321e873d74f623b1a003aec878a808d6bc967ff57e8115650f6089278d55d586c7e6a SHA512 081dbc23e810213fb60fdb07c7f3bf1ec8849d10483c5cdabb8add2568d4f80d03bd74d7be3fcf9bb853eaf25aa6bbb2d69cda3f55dda0270978b051da315cb2
DIST ldb-1.5.1.tar.gz 1432221 BLAKE2B 1837a74b33b5f527bdea0925de2908fc58bb6ca713bea89cefec9dc9809bf40d107352926ed34dabb333f37533e599b142a36989ffad862b0a89e786ab54c434 SHA512 b7815da51944d4e61617fafac0417e57baa59c9dd3dfa926d5ef9072a95351562930150c691a23b81526697bfba3ffe10a75ead406bf5ffdbfc511d1861f984b
+DIST ldb-1.5.2.tar.gz 1625665 BLAKE2B 612abb1e31f9fa5321824e40f627d8a498f871386cf51d83c03cae429c2895fc1747d551166ec64ae07751a3b9ddd1826b5cfe1ef7ee4b5460682e8ebb466a34 SHA512 5dda5935437a82356cb84593f5be0d22289a87da7460b24dbc0673e01614f0cc40859328c3a5da858f3f2dd173f2b214743ec709555bbfef09342045b37f3a6c
diff --git a/sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch b/sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch
new file mode 100644
index 000000000000..bdceeb3c4344
--- /dev/null
+++ b/sys-libs/ldb/files/ldb-1.5.2-optional_packages.patch
@@ -0,0 +1,40 @@
+--- ldb-1.5.2/wscript
++++ ldb-1.5.2/wscript
+@@ -33,6 +33,10 @@
+ opt.RECURSE('lib/tevent')
+ opt.RECURSE('lib/replace')
+ opt.load('python') # options for disabling pyc or pyo compilation
++ if opt.IN_LAUNCH_DIR():
++ opt.add_option('--disable-ldap',
++ help=("disable ldap support"),
++ action="store_true", dest='disable_ldap', default=False)
+
+ opt.add_option('--without-ldb-lmdb',
+ help='disable new LMDB backend for LDB',
+@@ -40,6 +44,10 @@
+
+
+ def configure(conf):
++ conf.env.standalone_ldb = conf.IN_LAUNCH_DIR()
++
++ conf.env.disable_ldap = getattr(Options.options, 'disable_ldap', False)
++
+ conf.RECURSE('lib/tdb')
+ conf.RECURSE('lib/tevent')
+
+@@ -157,9 +165,12 @@
+ if conf.env.standalone_ldb:
+ conf.CHECK_XSLTPROC_MANPAGES()
+
+- # we need this for the ldap backend
+- if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
+- conf.env.ENABLE_LDAP_BACKEND = True
++ if not conf.env.disable_ldap:
++ # we need this for the ldap backend
++ if conf.CHECK_FUNCS_IN('ber_flush ldap_open ldap_initialize', 'lber ldap', headers='lber.h ldap.h'):
++ conf.env.ENABLE_LDAP_BACKEND = True
++ else:
++ conf.env.ENABLE_LDAP_BACKEND = False
+
+ # we don't want any libraries or modules to rely on runtime
+ # resolution of symbols
diff --git a/sys-libs/ldb/ldb-1.5.2.ebuild b/sys-libs/ldb/ldb-1.5.2.ebuild
new file mode 100644
index 000000000000..b830ddd3c71e
--- /dev/null
+++ b/sys-libs/ldb/ldb-1.5.2.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+PYTHON_COMPAT=( python3_{4,5,6,7} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit python-single-r1 waf-utils multilib-minimal eutils
+
+DESCRIPTION="An LDAP-like embedded database"
+HOMEPAGE="https://ldb.samba.org"
+SRC_URI="https://www.samba.org/ftp/pub/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+IUSE="doc +ldap +lmdb +python"
+
+RDEPEND="
+ !elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] )
+ dev-libs/popt[${MULTILIB_USEDEP}]
+ >=dev-util/cmocka-1.1.1[${MULTILIB_USEDEP}]
+ >=sys-libs/talloc-2.1.15[python?,${MULTILIB_USEDEP}]
+ >=sys-libs/tdb-1.3.17[python?,${MULTILIB_USEDEP}]
+ >=sys-libs/tevent-0.9.38[python(+)?,${MULTILIB_USEDEP}]
+ ldap? ( net-nds/openldap )
+ lmdb? ( >=dev-db/lmdb-0.9.16[${MULTILIB_USEDEP}] )
+ python? ( ${PYTHON_DEPS} )
+"
+
+DEPEND="dev-libs/libxslt
+ doc? ( app-doc/doxygen )
+ virtual/pkgconfig
+ ${PYTHON_DEPS}
+ ${RDEPEND}
+"
+
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+WAF_BINARY="${S}/buildtools/bin/waf"
+
+MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h )
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.5.2-optional_packages.patch
+ "${FILESDIR}"/${PN}-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ multilib_copy_sources
+}
+
+multilib_src_configure() {
+ local myconf=(
+ $(usex ldap '' --disable-ldap)
+ $(usex lmdb '' --without-ldb-lmdb)
+ --disable-rpath
+ --disable-rpath-install --bundled-libraries=NONE
+ --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba
+ --builtin-libraries=NONE
+ )
+ if ! multilib_is_native_abi; then
+ myconf+=( --disable-python )
+ else
+ use python || myconf+=( --disable-python )
+ fi
+ waf-utils_src_configure "${myconf[@]}"
+}
+
+multilib_src_compile(){
+ waf-utils_src_compile
+ multilib_is_native_abi && use doc && doxygen Doxyfile
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ WAF_MAKE=1 \
+ PATH=buildtools/bin:../../../buildtools/bin:$PATH:"${BUILD_DIR}"/bin/shared/private/ \
+ LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"${BUILD_DIR}"/bin/shared/private/:"${BUILD_DIR}"/bin/shared \
+ waf test || die
+ fi
+}
+
+multilib_src_install() {
+ waf-utils_src_install
+
+ if multilib_is_native_abi && use doc; then
+ doman apidocs/man/man3/*.3
+ docinto html
+ dodoc -r apidocs/html/*
+ fi
+}
+
+pkg_postinst() {
+ if has_version sys-auth/sssd; then
+ ewarn "You have sssd installed. It is known to break after ldb upgrades,"
+ ewarn "so please try to rebuild it before reporting bugs."
+ ewarn "See https://bugs.gentoo.org/404281"
+ fi
+}