summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-libs/ldb')
-rw-r--r--sys-libs/ldb/Manifest6
-rw-r--r--sys-libs/ldb/files/cmocka-config_h.patch23
-rw-r--r--sys-libs/ldb/files/ldb-2.4.2-skip-32bit-time_t-tests.patch35
-rw-r--r--sys-libs/ldb/files/ldb-2.5.2-skip-waf-tevent-check.patch12
-rw-r--r--sys-libs/ldb/files/ldb-2.9.0-optional_packages.patch41
-rw-r--r--sys-libs/ldb/ldb-2.2.1-r1.ebuild118
-rw-r--r--sys-libs/ldb/ldb-2.3.0-r1.ebuild118
-rw-r--r--sys-libs/ldb/ldb-2.4.0-r1.ebuild118
-rw-r--r--sys-libs/ldb/ldb-2.7.2.ebuild174
-rw-r--r--sys-libs/ldb/ldb-2.8.0.ebuild174
-rw-r--r--sys-libs/ldb/ldb-2.9.0.ebuild173
-rw-r--r--sys-libs/ldb/metadata.xml5
12 files changed, 636 insertions, 361 deletions
diff --git a/sys-libs/ldb/Manifest b/sys-libs/ldb/Manifest
index cf1e2cac4fc8..f559b14024d9 100644
--- a/sys-libs/ldb/Manifest
+++ b/sys-libs/ldb/Manifest
@@ -1,3 +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
+DIST ldb-2.7.2.tar.gz 1737849 BLAKE2B 0aa70d8a4827448e41874db97130f18d17683c800b8f03f9940b4852e24fd6092052f6e70aae845c587939b9be16c80d7a920f6b874a746f923c4513b73d2afc SHA512 beb2cd83a8f128713e0b43ec6e80d0f87ab0883c6c8f0cefbbf5bf49e29dfa327b245b78467d1906917cb5f3f11e01cb76cc6bcca58a47c5deac4f05c2e9dfbd
+DIST ldb-2.8.0.tar.gz 1747616 BLAKE2B 19fd4cc0893ca36e7aa65eb605b050e3faeb7add6c00a2dfd8415334c58b7dc644ffaad41c24fe358b39292aaa581e3231e6b8161b03c073e903cdae16050ac5 SHA512 b6f289af3137e02a8e3ee0588bc300d1756b8980558e0b3a3a9eee4449100ccd42ed873187dbdb334e7e7834a8bff8478cd4f20588d4ca834d9ea14c0ee2c2f9
+DIST ldb-2.9.0.tar.gz 1757213 BLAKE2B 6d24ced193a64e723da65f26a055b97e5c5645b0ce17263073db997e9310509c788e7739136b70d099d171d1d0cbbe43bb43ea50746d876d74a1be06fa2fc36f SHA512 b5cfbbcb2c35d6830bf1a7c85e1d4363728ae474504441add54c4c8569316b26aedbf6fb9f561ec4f187eb5a847ac76af07396e38d00e6f7632b63e02d7b64a1
diff --git a/sys-libs/ldb/files/cmocka-config_h.patch b/sys-libs/ldb/files/cmocka-config_h.patch
new file mode 100644
index 000000000000..124928450cd6
--- /dev/null
+++ b/sys-libs/ldb/files/cmocka-config_h.patch
@@ -0,0 +1,23 @@
+--- ./third_party/cmocka/cmocka.h.orig 2024-03-26 10:23:03.378410042 +0100
++++ ./third_party/cmocka/cmocka.h 2024-03-26 10:24:51.526922405 +0100
+@@ -14,6 +14,11 @@
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
++
++#ifdef HAVE_CONFIG_H
++#include "config.h"
++#endif
++
+ #ifndef CMOCKA_H_
+ #define CMOCKA_H_
+
+@@ -111,7 +114,7 @@
+ ((LargestIntegralType)(value))
+
+ /* Smallest integral type capable of holding a pointer. */
+-#if !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED)
++#if !defined(HAVE_UINTPTR_T) && !defined(_UINTPTR_T) && !defined(_UINTPTR_T_DEFINED) && !defined(__DEFINED_uintptr_t)
+ # if defined(_WIN32)
+ /* WIN32 is an ILP32 platform */
+ typedef unsigned int uintptr_t;
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.2.1-r1.ebuild b/sys-libs/ldb/ldb-2.2.1-r1.ebuild
deleted file mode 100644
index 197d720205bb..000000000000
--- a/sys-libs/ldb/ldb-2.2.1-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# 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
-}
diff --git a/sys-libs/ldb/ldb-2.3.0-r1.ebuild b/sys-libs/ldb/ldb-2.3.0-r1.ebuild
deleted file mode 100644
index 83741f724f5b..000000000000
--- a/sys-libs/ldb/ldb-2.3.0-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# 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
-}
diff --git a/sys-libs/ldb/ldb-2.4.0-r1.ebuild b/sys-libs/ldb/ldb-2.4.0-r1.ebuild
deleted file mode 100644
index e27020898909..000000000000
--- a/sys-libs/ldb/ldb-2.4.0-r1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# 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
-}
diff --git a/sys-libs/ldb/ldb-2.7.2.ebuild b/sys-libs/ldb/ldb-2.7.2.ebuild
new file mode 100644
index 000000000000..215b17a2db26
--- /dev/null
+++ b/sys-libs/ldb/ldb-2.7.2.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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 ~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.0"
+TDB_VERSION="1.4.8"
+TEVENT_VERSION="0.14.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}-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
+ "${FILESDIR}"/${PN}-2.5.2-skip-waf-tevent-check.patch
+ "${FILESDIR}"/cmocka-config_h.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
+
+ 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/ldb-2.8.0.ebuild b/sys-libs/ldb/ldb-2.8.0.ebuild
new file mode 100644
index 000000000000..21fab2e956dd
--- /dev/null
+++ b/sys-libs/ldb/ldb-2.8.0.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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 ~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.1"
+TDB_VERSION="1.4.9"
+TEVENT_VERSION="0.15.0"
+
+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}-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
+ "${FILESDIR}"/${PN}-2.5.2-skip-waf-tevent-check.patch
+ "${FILESDIR}"/cmocka-config_h.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
+
+ 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/ldb-2.9.0.ebuild b/sys-libs/ldb/ldb-2.9.0.ebuild
new file mode 100644
index 000000000000..c1161904910d
--- /dev/null
+++ b/sys-libs/ldb/ldb-2.9.0.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+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 ~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
+
+ 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
index 597078477105..02e87ace94c2 100644
--- a/sys-libs/ldb/metadata.xml
+++ b/sys-libs/ldb/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!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>