You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.1 KiB
92 lines
2.1 KiB
# Copyright 1999-2020 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
PYTHON_COMPAT=( pypy3 python3_{7..9} )
|
|
|
|
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="PSF-2"
|
|
SLOT="0"
|
|
IUSE="examples sasl ssl"
|
|
|
|
# We do not need OpenSSL, it is never directly used:
|
|
# https://github.com/python-ldap/python-ldap/issues/224
|
|
RDEPEND="
|
|
!dev-python/pyldap
|
|
>=dev-python/pyasn1-0.3.7[${PYTHON_USEDEP}]
|
|
>=dev-python/pyasn1-modules-0.1.5[${PYTHON_USEDEP}]
|
|
>net-nds/openldap-2.4.11:=[sasl?,ssl?]
|
|
"
|
|
# We do not link against cyrus-sasl but we use some
|
|
# of its headers during the build.
|
|
BDEPEND="
|
|
>net-nds/openldap-2.4.11:=[sasl?,ssl?]
|
|
sasl? ( >=dev-libs/cyrus-sasl-2.1 )
|
|
"
|
|
|
|
distutils_enable_tests pytest
|
|
distutils_enable_sphinx Doc
|
|
|
|
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 ignored_tests=(
|
|
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
|
|
pytest -vv ${ignored_tests[@]/#/--ignore } \
|
|
|| die "tests failed with ${EPYTHON}"
|
|
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
|
|
}
|