sys-libs/ldb: Copy from gentoo

Still contains extra stuff we are going to drop.
This commit is contained in:
Krzesimir Nowak 2021-08-26 19:28:53 +02:00
parent 8a32322830
commit c99f0113cd
7 changed files with 431 additions and 0 deletions

View File

@ -0,0 +1,3 @@
DIST ldb-2.2.1.tar.gz 1676819 BLAKE2B 794575d5bd7d33dcd586cb5de6c392411795c467f472f517d5182a2559698a5489e703c8360baf2d0b1bff080c943a403a666d0ef7a9a180ae90052055966f40 SHA512 a2b1598869e3d9f17c5b82fc2b7289f1f08a7378a1d72609af5ed5cc91fb571ac67d3a8c22d64dad5dcc9fe32520baccd5cc37d5b4fc5f1b00a7064902296344
DIST ldb-2.3.0.tar.gz 1686378 BLAKE2B b31949e14a41f6fc99ef022e4072021d135037d835aeca80ee81a58ed20cab4f8cbd96e394f59460df11e2424e2e263d5fb01b9cebbfb4ca1bcc77162e93ed3f SHA512 7e389c0b4700a809893276d69216436ebd6d30e1f52407e4a08a1113cf14e151aed74300d8c36765c91c8f3195d8054b13a28cbdfcab031f88fd1d353e415348
DIST ldb-2.4.0.tar.gz 1689484 BLAKE2B 904d74900011ce3f63ad1c24fe88b1a090e835c68829ddfda5e8af2c0ab3674d7a8cd9a62b95c1f38f26578d0704556d3562e46e21a54cbb44a15b9d83676521 SHA512 6c500b723c081488bc0717b6a5b0e8966c5d8a751232f8856281a6fe4d358ae6b5878c8400a82fa666379066105fbb9259b2967313e73efabef0e1386095e2ee

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,118 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..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 ~s390 sparc x86"
IUSE="doc ldap +lmdb python test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( python )"
RESTRICT="!test? ( test )"
RDEPEND="
!elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] )
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.1[${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}"
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,118 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..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="
!elibc_FreeBSD? ( dev-libs/libbsd[${MULTILIB_USEDEP}] )
dev-libs/popt[${MULTILIB_USEDEP}]
>=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}]
>=sys-libs/talloc-2.3.1[${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}"
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,118 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..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="
!elibc_FreeBSD? ( 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}"
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,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://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>