sys-libs/ldb: Add from Gentoo

It's from Gentoo commit c548fea1c296cd1360408e93ed7109bde13605db.
This commit is contained in:
Krzesimir Nowak 2022-05-11 14:15:49 +02:00
parent e7e42a04da
commit 43fae4e854
10 changed files with 716 additions and 0 deletions

View File

@ -0,0 +1,5 @@
DIST ldb-2.3.2.tar.gz 1718583 BLAKE2B 48b9fb77e414af0f9fffe0cda9cf49971d79ed8b66213b01b73f53a61969e03f9e6426a04a33ff70da906c814470d8fa356902a68aa1169d969cc597e8c234d7 SHA512 be324e8f20db50529634548451dbc5f95f26a701e124bfb40ae2b0a5069de78b7c5c1a66222097209ea24ef6077373d996e67c00257a5a05198f1b81bf0ed53e
DIST ldb-2.3.3.tar.gz 1719542 BLAKE2B 2a5cfe3ddac2054d167c2857e0cd92e0f88d2c196f9285c029b2a525d781025a956a296bd6d793b65f848188cf7adf70f99542999061a85be473b3fc3b2856f1 SHA512 ffb50208fe971afd544a431b79905ec8fce67d78d20c3fcfb8345a56f3b278fb664bc48079d7239a8ca5b70aae8b32076b6007cb63e080cd536e9fe458efeccd
DIST ldb-2.4.1.tar.gz 1719769 BLAKE2B 868d3dcc51bd8272d99f2335ed1af2e37506b6a175254f1aca37f758488ba0997e37419a7d8c81def77698128307df97de26d4807ac78c34088f7a623f8d9e68 SHA512 14ab5397d28c369142b2ccf55a2ab4e678a3fe6e018541cfce46241f8226400bc169360bbef254fae4410a6e15024ae986f02298d3d324e3d3a8b88801bf76d7
DIST ldb-2.4.2.tar.gz 1720169 BLAKE2B d144218bf62dde57560df8b8a641e9f58bee001fdfa7b1527d9eb9a1a55e428662db81912173cbcdb9f993c0b316faab7d758a4878beeff1daadd487e9aa44a9 SHA512 77705ad284eed9105c9aba0459d2e48cd66ca19b657a55f7513e10281dd2e96540d24d1c8df53adc84109a918900687dc75b635cda05c4e788424ed71b5ff989
DIST ldb-2.5.0.tar.gz 1722847 BLAKE2B 880a5a516b0b423854f8a3f9c54da89e4640f8462ccc54a7b147c70c3a9eb073dc9e914d1906ab914a9ddd9b9aa0e7d177ef3ecb4c0b506f5417db931b017849 SHA512 f16a235f1409e06266c51735ac645cf2708d31dd731ee7b95d6778498b115f4252b0a528952e620767d1616a4e1e7c5f2cdc69f3fa32d79288cf14da2f52a010

View File

@ -0,0 +1,17 @@
--- a/wscript 2017-07-05 15:35:52.178964698 -0400
+++ b/wscript 2017-07-05 15:49:20.137977649 -0400
@@ -208,6 +208,14 @@
ldb_headers = ('include/ldb.h include/ldb_errors.h '
'include/ldb_module.h include/ldb_handlers.h')
+ # we're not currently linking against the ldap libs, but ldb.pc.in
+ # has @LDAP_LIBS@
+ bld.env.LDAP_LIBS = ''
+
+ if not 'PACKAGE_VERSION' in bld.env:
+ bld.env.PACKAGE_VERSION = VERSION
+ bld.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig'
+
bld.SAMBA_LIBRARY('ldb',
COMMON_SRC + ' ' + LDB_MAP_SRC,
deps='tevent LIBLDB_MAIN replace',

View File

@ -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

View File

@ -0,0 +1,35 @@
From 38f5e8e09a7ae641b3669068b10c6bd966e46632 Mon Sep 17 00:00:00 2001
From: Mathieu Parent <math.parent@gmail.com>
Date: Thu, 4 Nov 2021 22:46:15 +0100
Subject: [PATCH] Skip failing tests (on 32-bit architectures)
See https://bugzilla.samba.org/show_bug.cgi?id=14558#c17
---
tests/python/api.py | 4 ++++++
1 file changed, 4 insertions(+)
diff --git a/tests/python/api.py b/tests/python/api.py
index 8d154aa..e1de40c 100755
--- a/tests/python/api.py
+++ b/tests/python/api.py
@@ -44,6 +44,8 @@ class NoContextTests(TestCase):
self.assertEqual("19700101000000.0Z", ldb.timestring(0))
self.assertEqual("20071119191012.0Z", ldb.timestring(1195499412))
+ self.skipTest('Test failing on 32-bit')
+
self.assertEqual("00000101000000.0Z", ldb.timestring(-62167219200))
self.assertEqual("99991231235959.0Z", ldb.timestring(253402300799))
@@ -62,6 +64,8 @@ class NoContextTests(TestCase):
self.assertEqual(0, ldb.string_to_time("19700101000000.0Z"))
self.assertEqual(1195499412, ldb.string_to_time("20071119191012.0Z"))
+ self.skipTest('Test failing on 32-bit')
+
self.assertEqual(-62167219200, ldb.string_to_time("00000101000000.0Z"))
self.assertEqual(253402300799, ldb.string_to_time("99991231235959.0Z"))
--
2.30.2

View File

@ -0,0 +1,120 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
PYTHON_REQ_USE="threads(+)"
inherit python-single-r1 waf-utils multilib-minimal
DESCRIPTION="LDAP-like embedded database"
HOMEPAGE="https://ldb.samba.org"
SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libbsd[${MULTILIB_USEDEP}]
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.2[${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.4.3[${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.10.2[${MULTILIB_USEDEP}]
ldap? ( net-nds/openldap:= )
lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
python? (
${PYTHON_DEPS}
sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
)
"
DEPEND="${RDEPEND}
virtual/libcrypt
"
BDEPEND="${PYTHON_DEPS}
dev-libs/libxslt
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
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() {
# Package fails to build with distcc
export DISTCC_DISABLE=1
# waf requires a python interpreter
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
use python && python_optimize #726454
}
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
}

View File

@ -0,0 +1,120 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..9} )
PYTHON_REQ_USE="threads(+)"
inherit python-single-r1 waf-utils multilib-minimal
DESCRIPTION="LDAP-like embedded database"
HOMEPAGE="https://ldb.samba.org"
SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libbsd[${MULTILIB_USEDEP}]
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.2[${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.4.3[${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.10.2[${MULTILIB_USEDEP}]
ldap? ( net-nds/openldap:= )
lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
python? (
${PYTHON_DEPS}
sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
)
"
DEPEND="${RDEPEND}
virtual/libcrypt
"
BDEPEND="${PYTHON_DEPS}
dev-libs/libxslt
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
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() {
# Package fails to build with distcc
export DISTCC_DISABLE=1
# waf requires a python interpreter
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
use python && python_optimize #726454
}
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
}

View File

@ -0,0 +1,120 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="threads(+)"
inherit python-single-r1 waf-utils multilib-minimal
DESCRIPTION="LDAP-like embedded database"
HOMEPAGE="https://ldb.samba.org"
SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libbsd[${MULTILIB_USEDEP}]
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.4.4[${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}]
ldap? ( net-nds/openldap:= )
lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
python? (
${PYTHON_DEPS}
sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
)
"
DEPEND="${RDEPEND}
virtual/libcrypt
"
BDEPEND="${PYTHON_DEPS}
dev-libs/libxslt
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
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() {
# Package fails to build with distcc
export DISTCC_DISABLE=1
# waf requires a python interpreter
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
use python && python_optimize #726454
}
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
}

View File

@ -0,0 +1,121 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="threads(+)"
inherit python-single-r1 waf-utils multilib-minimal
DESCRIPTION="LDAP-like embedded database"
HOMEPAGE="https://ldb.samba.org"
SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libbsd[${MULTILIB_USEDEP}]
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.4.4[${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}]
ldap? ( net-nds/openldap:= )
lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
python? (
${PYTHON_DEPS}
sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
)
"
DEPEND="${RDEPEND}
virtual/libcrypt
"
BDEPEND="${PYTHON_DEPS}
dev-libs/libxslt
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
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
"${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch
)
pkg_setup() {
# Package fails to build with distcc
export DISTCC_DISABLE=1
# waf requires a python interpreter
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
use python && python_optimize #726454
}
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
}

View File

@ -0,0 +1,121 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{8..10} )
PYTHON_REQ_USE="threads(+)"
inherit python-single-r1 waf-utils multilib-minimal
DESCRIPTION="LDAP-like embedded database"
HOMEPAGE="https://ldb.samba.org"
SRC_URI="https://samba.org/ftp/pub/${PN}/${P}.tar.gz"
LICENSE="LGPL-3"
SLOT="0/${PV}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/libbsd[${MULTILIB_USEDEP}]
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.3[${MULTILIB_USEDEP}]
>=sys-libs/tdb-1.4.5[${MULTILIB_USEDEP}]
>=sys-libs/tevent-0.11.0[${MULTILIB_USEDEP}]
ldap? ( net-nds/openldap:= )
lmdb? ( >=dev-db/lmdb-0.9.16:=[${MULTILIB_USEDEP}] )
python? (
${PYTHON_DEPS}
sys-libs/talloc[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tdb[python,${PYTHON_SINGLE_USEDEP}]
sys-libs/tevent[python,${PYTHON_SINGLE_USEDEP}]
)
"
DEPEND="${RDEPEND}
virtual/libcrypt
"
BDEPEND="${PYTHON_DEPS}
dev-libs/libxslt
virtual/pkgconfig
doc? ( app-doc/doxygen )
"
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
"${FILESDIR}"/${PN}-2.4.2-skip-32bit-time_t-tests.patch
)
pkg_setup() {
# Package fails to build with distcc
export DISTCC_DISABLE=1
# waf requires a python interpreter
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
use python && python_optimize #726454
}
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
}

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>samba@gentoo.org</email>
<name>Samba</name>
</maintainer>
<upstream>
<remote-id type="cpe">cpe:/a:samba:samba</remote-id>
</upstream>
<use>
<flag name="doc">Builds documentation</flag>
<flag name="ldap">Enable LDAP support</flag>
<flag name="lmdb">Enable LMDB backend</flag>
<flag name="python">Enable Python support</flag>
</use>
</pkgmetadata>