diff options
| author | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
|---|---|---|
| committer | root <root@alpha.trunkmasters.com> | 2026-06-04 16:47:34 -0500 |
| commit | dda948891d3731927b821ce31f9d9a2d03ba20c5 (patch) | |
| tree | 99cd40be4cbb0606260da212cd81b8ab2db9da9b /sys-libs/ldb | |
| parent | a3ceca1b4c0d9bdb550dc23f06ffbb5a8e033bc7 (diff) | |
| download | baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.gz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.tar.xz baldeagleos-repo-dda948891d3731927b821ce31f9d9a2d03ba20c5.zip | |
Adding metadata
Diffstat (limited to 'sys-libs/ldb')
| -rw-r--r-- | sys-libs/ldb/Manifest | 1 | ||||
| -rw-r--r-- | sys-libs/ldb/files/ldb-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch | 17 | ||||
| -rw-r--r-- | sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch | 35 | ||||
| -rw-r--r-- | sys-libs/ldb/files/ldb-2.5.2-skip-waf-tevent-check.patch | 12 | ||||
| -rw-r--r-- | sys-libs/ldb/files/ldb-2.9.0-optional_packages.patch | 41 | ||||
| -rw-r--r-- | sys-libs/ldb/ldb-2.9.2.ebuild | 175 | ||||
| -rw-r--r-- | sys-libs/ldb/metadata.xml | 15 |
7 files changed, 296 insertions, 0 deletions
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest new file mode 100644 index 000000000000..9466b0a011ad --- /dev/null +++ b/sys-libs/ldb/Manifest @@ -0,0 +1 @@ +DIST ldb-2.9.2.tar.gz 1752608 BLAKE2B c5a1e2f8ade531986ff9405dbaaa12d564f48b1839fc288b531cbfc0c832cee0d4e7c1018512cc64404d979e0c8a79d31ecde0007966f965cc17e6e2086111e6 SHA512 05f66fc32b1d7a310d7cd5f4ea9aa45902411d8f0b7cd80b00fe27d8b942fd5f60fa97b86001fc2b45937a317a95d6a7279385557b87f70fdc28d6eb010be6a4 diff --git a/sys-libs/ldb/files/ldb-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch b/sys-libs/ldb/files/ldb-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch new file mode 100644 index 000000000000..c45b13feba99 --- /dev/null +++ b/sys-libs/ldb/files/ldb-1.1.31-fix_PKGCONFIGDIR-when-python-disabled.patch @@ -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', diff --git a/sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch b/sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch new file mode 100644 index 000000000000..70f34c5f1a58 --- /dev/null +++ b/sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch @@ -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 + diff --git a/sys-libs/ldb/files/ldb-2.5.2-skip-waf-tevent-check.patch b/sys-libs/ldb/files/ldb-2.5.2-skip-waf-tevent-check.patch new file mode 100644 index 000000000000..4578435064b0 --- /dev/null +++ b/sys-libs/ldb/files/ldb-2.5.2-skip-waf-tevent-check.patch @@ -0,0 +1,12 @@ +--- ldb-1.3.6/lib/tevent/wscript ++++ ldb-1.3.6/lib/tevent/wscript +@@ -34,8 +34,7 @@ + if conf.CHECK_BUNDLED_SYSTEM_PKG('tevent', minversion=VERSION, + onlyif='talloc', implied_deps='replace talloc'): + conf.define('USING_SYSTEM_TEVENT', 1) +- if not conf.env.disable_python and \ +- conf.CHECK_BUNDLED_SYSTEM_PYTHON('pytevent', 'tevent', minversion=VERSION): ++ if not conf.env.disable_python: + conf.define('USING_SYSTEM_PYTEVENT', 1) + + if conf.CHECK_FUNCS('epoll_create', headers='sys/epoll.h'): diff --git a/sys-libs/ldb/files/ldb-2.9.0-optional_packages.patch b/sys-libs/ldb/files/ldb-2.9.0-optional_packages.patch new file mode 100644 index 000000000000..791f49c8de6c --- /dev/null +++ b/sys-libs/ldb/files/ldb-2.9.0-optional_packages.patch @@ -0,0 +1,41 @@ +diff -ur ldb-2.9.0/wscript ldb-2.9.0.new/wscript +--- ldb-2.9.0/wscript 2024-01-29 10:20:28.452400700 -0600 ++++ ldb-2.9.0.new/wscript 2024-04-17 10:49:58.934921251 -0500 +@@ -34,6 +34,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', +@@ -41,6 +45,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') + +@@ -145,9 +153,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-2.9.2.ebuild b/sys-libs/ldb/ldb-2.9.2.ebuild new file mode 100644 index 000000000000..70bf48c961a7 --- /dev/null +++ b/sys-libs/ldb/ldb-2.9.2.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{13..14} ) +PYTHON_REQ_USE="threads(+)" +inherit python-single-r1 waf-utils multilib-minimal flag-o-matic + +DESCRIPTION="LDAP-like embedded database" +HOMEPAGE="https://ldb.samba.org" +SRC_URI="https://download.samba.org/pub/${PN}/${P}.tar.gz" + +LICENSE="LGPL-3" +SLOT="0/${PV}" +KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86" +IUSE="doc ldap +lmdb python test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + test? ( lmdb )" + +RESTRICT="!test? ( test )" + +TALLOC_VERSION="2.4.2" +TDB_VERSION="1.4.10" +TEVENT_VERSION="0.16.1" + +RDEPEND=" + dev-libs/libbsd[${MULTILIB_USEDEP}] + dev-libs/popt[${MULTILIB_USEDEP}] + >=sys-libs/talloc-${TALLOC_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tdb-${TDB_VERSION}[${MULTILIB_USEDEP}] + >=sys-libs/tevent-${TEVENT_VERSION}[${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 + test? ( >=dev-util/cmocka-1.1.3[${MULTILIB_USEDEP}] ) +" +BDEPEND="${PYTHON_DEPS} + dev-libs/libxslt + virtual/pkgconfig + doc? ( app-text/doxygen ) +" + +WAF_BINARY="${S}/buildtools/bin/waf" + +MULTILIB_WRAPPED_HEADERS=( /usr/include/pyldb.h ) + +PATCHES=( + "${FILESDIR}"/${PN}-2.9.0-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 + "${FILESDIR}"/${PN}-2.5.2-skip-waf-tevent-check.patch +) + +pkg_setup() { + # Package fails to build with distcc + export DISTCC_DISABLE=1 + export PYTHONHASHSEED=1 + + # waf requires a python interpreter + python-single-r1_pkg_setup +} + +check_samba_dep_versions() { + actual_talloc_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/talloc/wscript || die) + if [[ ${actual_talloc_version} != ${TALLOC_VERSION} ]] ; then + eerror "Source talloc version: ${TALLOC_VERSION}" + eerror "Ebuild talloc version: ${actual_talloc_version}" + die "Ebuild needs to fix TALLOC_VERSION!" + fi + + actual_tdb_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tdb/wscript || die) + if [[ ${actual_tdb_version} != ${TDB_VERSION} ]] ; then + eerror "Source tdb version: ${TDB_VERSION}" + eerror "Ebuild tdb version: ${actual_tdb_version}" + die "Ebuild needs to fix TDB_VERSION!" + fi + + actual_tevent_version=$(sed -En '/^VERSION =/{s/[^0-9.]//gp}' lib/tevent/wscript || die) + if [[ ${actual_tevent_version} != ${TEVENT_VERSION} ]] ; then + eerror "Source tevent version: ${TEVENT_VERSION}" + eerror "Ebuild tevent version: ${actual_tevent_version}" + die "Ebuild needs to fix TEVENT_VERSION!" + fi +} + +src_prepare() { + default + + check_samba_dep_versions + + if use test && ! use python ; then + # We want to be able to run tests w/o Python as it makes + # automated testing much easier (as USE=python isn't default-enabled). + truncate -s0 tests/python/{repack,index,api,crash}.py || die + fi + + multilib_copy_sources +} + +multilib_src_configure() { + # When specifying libs for samba build you must append NONE to the end to + # stop it automatically including things + local bundled_libs="NONE" + + # We "use" bundled cmocka when we're not running tests as we're + # not using it anyway. Means we avoid making users install it for + # no reason. bug #802531 + if ! use test; then + bundled_libs="cmocka,${bundled_libs}" + fi + + local myconf=( + $(usex ldap '' --disable-ldap) + $(usex lmdb '' --without-ldb-lmdb) + --disable-rpath + --disable-rpath-install + --with-modulesdir="${EPREFIX}"/usr/$(get_libdir)/samba + --bundled-libraries="${bundled_libs}" + --builtin-libraries=NONE + ) + + if ! use python || ! multilib_is_native_abi; then + myconf+=( --disable-python ) + fi + + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) # bug 915199 + + 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 + + # bug #726454 + use python && python_optimize +} + +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 +} diff --git a/sys-libs/ldb/metadata.xml b/sys-libs/ldb/metadata.xml new file mode 100644 index 000000000000..a3c15b81c246 --- /dev/null +++ b/sys-libs/ldb/metadata.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>samba@gentoo.org</email> + <name>Samba</name> + </maintainer> + <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> + <origin>baldeagleos-repo</origin> +</pkgmetadata> |
