diff options
author | Louis Sautier <sbraz@gentoo.org> | 2018-06-19 13:52:08 +0200 |
---|---|---|
committer | Louis Sautier <sbraz@gentoo.org> | 2018-06-20 23:45:07 +0200 |
commit | c80f79641aac26152dd51eb909156d0ad8868237 (patch) | |
tree | 2f58cc53674db9cd75275bdd8b497a8be8564974 /dev-python/python-ldap | |
parent | sys-kernel/gentoo-sources: Linux patch 4.14.51 (diff) | |
download | gentoo-c80f79641aac26152dd51eb909156d0ad8868237.tar.gz gentoo-c80f79641aac26152dd51eb909156d0ad8868237.tar.bz2 gentoo-c80f79641aac26152dd51eb909156d0ad8868237.zip |
dev-python/python-ldap: bump to 3.1.0, add Python 3, doc
* Do not override the value of libs because we do not actually link with
them: https://github.com/python-ldap/python-ldap/issues/224
This also means libldap_r is now used by default (it was only selected with
USE="sasl ssl").
* Remove outdated messages related to openldap-2.3.x and python-ldap-2.3.9.
* Fix dependencies, add slot operator to openldap.
* Run all the tests which do not require slapd.
* Bump to EAPI 7.
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Diffstat (limited to 'dev-python/python-ldap')
-rw-r--r-- | dev-python/python-ldap/Manifest | 1 | ||||
-rw-r--r-- | dev-python/python-ldap/python-ldap-3.1.0.ebuild | 95 |
2 files changed, 96 insertions, 0 deletions
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest index a097cbc503aa..ce83ee46c207 100644 --- a/dev-python/python-ldap/Manifest +++ b/dev-python/python-ldap/Manifest @@ -1,2 +1,3 @@ DIST python-ldap-2.4.19.tar.gz 138503 BLAKE2B 54e088743ccd3fff00f66d8208122b9ebcc154b788d3511f170a3deaf9cfdc5ba813ef05e4a40f42079d2bc60cf871ffae8618cc2e41b3632e79243bbd43cc74 SHA512 bfa8b87449f03d70d78bf890d1190ef5a153e1b84db97ca4b40465bfba9faedace2a69f4ae1279ef6323c01255f52993cf0e4374bc32d9660a5286dfc7c17b85 DIST python-ldap-2.4.32.tar.gz 126025 BLAKE2B 2e16942680cc037c1251f500855c10de8d63194d400059f20449d541854c2ddc8863cfff5f84716818d0b37f331336a53e4b158e9ba55edc4becb6612d999ed3 SHA512 35a526330852ee87acd240cd285881afe498612fcedbffe93c6e41fb082300cd8b351d9100dc2b3049c658ed062d69cea90f28f9db51a80d94816ce249bbd028 +DIST python-ldap-3.1.0.tar.gz 366019 BLAKE2B 19e95ee096f40cc195257f82ccb5f882cc521561b14e77469be91e013d6b566102c6b426463e68353a3140fc96ebc622deed94929a3aa81cc14cb072440efe44 SHA512 71948cbae1c9a47f9e68fb8c6d65d91a2992261dd9aa535a0453f5733be1c2a25be1dda3c84abc6bdebab92150c89cc8caa757454331a0303de4fa46788b414a diff --git a/dev-python/python-ldap/python-ldap-3.1.0.ebuild b/dev-python/python-ldap/python-ldap-3.1.0.ebuild new file mode 100644 index 000000000000..6fda62951210 --- /dev/null +++ b/dev-python/python-ldap/python-ldap-3.1.0.ebuild @@ -0,0 +1,95 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( pypy{,3} python{2_7,3_{4,5,6}} ) + +inherit distutils-r1 + +DESCRIPTION="Various LDAP-related Python modules" +HOMEPAGE="https://www.python-ldap.org/en/latest/ + https://pypi.org/project/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 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-solaris" +fi + +LICENSE="PSF-2" +SLOT="0" +IUSE="doc examples sasl ssl test" + +# 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. +DEPEND=" + >net-nds/openldap-2.4.11:=[sasl?,ssl?] + dev-python/setuptools[${PYTHON_USEDEP}] + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + sasl? ( >=dev-libs/cyrus-sasl-2.1 ) + test? ( + ${RDEPEND} + dev-python/pytest[${PYTHON_USEDEP}] + ) +" + +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_compile_all() { + if use doc; then + sphinx-build Doc Doc/_build/html || die + HTML_DOCS=( Doc/_build/html/. ) + fi +} + +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 + ) + cd Tests || die + py.test ${ignored_tests[@]/#/--ignore } \ + || die "tests failed with ${EPYTHON}" +} + +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 +} |