mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-python/python-ldap: added openldap 2.6 support
Bug: https://bugs.gentoo.org/835637 Signed-off-by: Dennis Lamm <expeditioneer@gentoo.org> Package-Manager: Portage-3.0.30, Repoman-3.0.3 Closes: https://github.com/gentoo/gentoo/pull/24721 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
From 536a7671151e3070481736e5d6159987df920d8b Mon Sep 17 00:00:00 2001
|
||||
From: Simon Pichugin <spichugi@redhat.com>
|
||||
Date: Wed, 9 Feb 2022 16:06:14 -0800
|
||||
Subject: [PATCH] Always use 'ldap' library
|
||||
|
||||
---
|
||||
setup.py | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/setup.py b/setup.py
|
||||
index 119b571..851223e 100644
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -37,6 +37,8 @@ if cfg.has_section('_ldap'):
|
||||
for name in dir(LDAP_CLASS):
|
||||
if cfg.has_option('_ldap', name):
|
||||
setattr(LDAP_CLASS, name, cfg.get('_ldap', name).split())
|
||||
+#-- Overwrite it as 'ldap' is the always correct library we have in Fedora 34+
|
||||
+LDAP_CLASS.libs = ['ldap', 'lber']
|
||||
|
||||
for i in range(len(LDAP_CLASS.defines)):
|
||||
LDAP_CLASS.defines[i]=((LDAP_CLASS.defines[i],None))
|
||||
@@ -132,7 +134,7 @@ setup(
|
||||
extra_objects = LDAP_CLASS.extra_objects,
|
||||
runtime_library_dirs = (not sys.platform.startswith("win"))*LDAP_CLASS.library_dirs,
|
||||
define_macros = LDAP_CLASS.defines + \
|
||||
- ('ldap_r' in LDAP_CLASS.libs or 'oldap_r' in LDAP_CLASS.libs)*[('HAVE_LIBLDAP_R',None)] + \
|
||||
+ ('ldap' in LDAP_CLASS.libs or 'oldap' in LDAP_CLASS.libs)*[('HAVE_LIBLDAP_R',None)] + \
|
||||
('sasl' in LDAP_CLASS.libs or 'sasl2' in LDAP_CLASS.libs or 'libsasl' in LDAP_CLASS.libs)*[('HAVE_SASL',None)] + \
|
||||
('ssl' in LDAP_CLASS.libs and 'crypto' in LDAP_CLASS.libs)*[('HAVE_TLS',None)] + \
|
||||
[
|
||||
--
|
||||
2.31.1
|
||||
97
dev-python/python-ldap/python-ldap-3.4.0-r1.ebuild
Normal file
97
dev-python/python-ldap/python-ldap-3.4.0-r1.ebuild
Normal file
@@ -0,0 +1,97 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
DISTUTILS_USE_PEP517=setuptools
|
||||
PYTHON_COMPAT=( pypy3 python3_{8..10} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Various LDAP-related Python modules"
|
||||
HOMEPAGE="
|
||||
https://www.python-ldap.org/en/latest/
|
||||
https://pypi.org/project/python-ldap/
|
||||
https://github.com/python-ldap/python-ldap"
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
EGIT_REPO_URI="https://github.com/python-ldap/python-ldap.git"
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-solaris"
|
||||
fi
|
||||
|
||||
LICENSE="MIT PSF-2"
|
||||
SLOT="0"
|
||||
IUSE="examples sasl ssl"
|
||||
|
||||
# < dep on openldap for bug #835637, ldap_r is gone
|
||||
RDEPEND="
|
||||
>=dev-python/pyasn1-0.3.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/pyasn1-modules-0.1.5[${PYTHON_USEDEP}]
|
||||
>=net-nds/openldap-2.6:=[sasl?,ssl?]
|
||||
"
|
||||
# We do not link against cyrus-sasl but we use some
|
||||
# of its headers during the build.
|
||||
DEPEND="
|
||||
>=net-nds/openldap-2.6:=[sasl?,ssl?]
|
||||
sasl? ( >=dev-libs/cyrus-sasl-2.1 )
|
||||
"
|
||||
|
||||
distutils_enable_tests pytest
|
||||
distutils_enable_sphinx Doc
|
||||
|
||||
# Commit with this Patch from Fedora Rawhide
|
||||
# https://src.fedoraproject.org/rpms/python-ldap/c/a237d9b212bd1581e07f4f1a8f54c26a7190843c?branch=rawhide
|
||||
# Workaround till this PR is merged upstream
|
||||
# https://github.com/python-ldap/python-ldap/pull/458
|
||||
PATCHES=( "${FILESDIR}"/${P}-openldap-2.6.patch )
|
||||
|
||||
python_prepare_all() {
|
||||
# The live ebuild won't compile if setuptools_scm < 1.16.2 is installed
|
||||
# https://github.com/pypa/setuptools_scm/issues/228
|
||||
if [[ ${PV} == *9999* ]]; then
|
||||
rm -r .git || die
|
||||
fi
|
||||
|
||||
if ! use sasl; then
|
||||
sed -i 's/HAVE_SASL//g' setup.cfg || die
|
||||
fi
|
||||
if ! use ssl; then
|
||||
sed -i 's/HAVE_TLS//g' setup.cfg || die
|
||||
fi
|
||||
|
||||
distutils-r1_python_prepare_all
|
||||
}
|
||||
|
||||
python_test() {
|
||||
# Run all tests which don't require slapd
|
||||
local EPYTEST_IGNORE=(
|
||||
t_bind.py
|
||||
t_cext.py
|
||||
t_edit.py
|
||||
t_ldapobject.py
|
||||
t_ldap_options.py
|
||||
t_ldap_sasl.py
|
||||
t_ldap_schema_subentry.py
|
||||
t_ldap_syncrepl.py
|
||||
t_slapdobject.py
|
||||
)
|
||||
pushd Tests >/dev/null || die
|
||||
epytest
|
||||
popd > /dev/null || die
|
||||
}
|
||||
|
||||
python_install() {
|
||||
distutils-r1_python_install
|
||||
python_optimize
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
if use examples; then
|
||||
docinto examples
|
||||
dodoc -r Demo/.
|
||||
docompress -x /usr/share/doc/${PF}/examples
|
||||
fi
|
||||
distutils-r1_python_install_all
|
||||
}
|
||||
Reference in New Issue
Block a user