diff options
Diffstat (limited to 'dev-python/python-ldap')
-rw-r--r-- | dev-python/python-ldap/Manifest | 6 | ||||
-rw-r--r-- | dev-python/python-ldap/metadata.xml | 3 | ||||
-rw-r--r-- | dev-python/python-ldap/python-ldap-3.1.0.ebuild | 95 | ||||
-rw-r--r-- | dev-python/python-ldap/python-ldap-9999.ebuild | 97 |
4 files changed, 157 insertions, 44 deletions
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest index 68776fd64195..4b6d8cc108d3 100644 --- a/dev-python/python-ldap/Manifest +++ b/dev-python/python-ldap/Manifest @@ -1,6 +1,8 @@ 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 EBUILD python-ldap-2.4.19-r1.ebuild 2449 BLAKE2B e437b242e5305d3c29607d43f19fa757636bc317aac8e84c890b4c270d7596bc6996690afd0313e6e58629168821993ac58db3714bd54c5c8ba04be425491e30 SHA512 55c4ac061238dbe84adf20306ce43a67f88095d3c74fd3ab8c0c0ffe8a556b31c8f530b2806aa0f031accff334f68e8333ce213fbc2de7749389de2d27622615 EBUILD python-ldap-2.4.32.ebuild 2237 BLAKE2B 3e1c72a5d80eea98345d60800c20403ff2802011b3a5309766aab9b569ae88400d3432641f39ba0a33cb1fa51353e646c155f7789f0cfc782e57bdb74c4e2114 SHA512 3af8086172a8fb7664ea098a7b3e5e12196a37bc79ef55e209044bef44fde61c776a7e7252dde7e010972a8ad2706b5ad7b5576d0733b62b1d12a8d31fffaa40 -EBUILD python-ldap-9999.ebuild 2264 BLAKE2B 608284ece2bff6c0f4b4311a0450ec2e8107988e6c6c9847509e072963b05695e56a6aff98507d851d33a76211fa750f8a7042051498aef2a4413474c8839732 SHA512 cc11952ea88e2a793dc23365bd856778451483667a82718754ba074a33e4b3f53cc08cb410d2db12dfc8393fddc5316cc8f3a400e6ffc4ac18f06fa3ac1fd61a -MISC metadata.xml 476 BLAKE2B 65962ecbfbae9b1be40f4f54abf4796fbe4691205aec3cf76b4a178a1d0ba435ed10e02c6c8fb031a8ff10242b9e2ab8000b76cb5b96cef783d23bffc729bc0a SHA512 29197789f521afefd0755dd02489c1ebb1dca85aa3f4b15522d64848189fc59b5c639ccd237f8d35c565147368a9d24bc079283373760c301cc1982e61d4d5e4 +EBUILD python-ldap-3.1.0.ebuild 2266 BLAKE2B 274cf8adc7b776bb11fa254510540a37a36e9b6f219fbdcdc699be3fb0cda4e8b3255a9e5c49b489a90e73a16c5ef7602d8331a8b33ed406058f899e4b7bfba7 SHA512 5a936098e8772ba7cafa88f818348190b088f4ad92780cd2b2ec518ed3471faf4aabe560ee90ac1eae15e99159607e83c3aace8faa3f2db74e604ec05b469be7 +EBUILD python-ldap-9999.ebuild 2266 BLAKE2B 274cf8adc7b776bb11fa254510540a37a36e9b6f219fbdcdc699be3fb0cda4e8b3255a9e5c49b489a90e73a16c5ef7602d8331a8b33ed406058f899e4b7bfba7 SHA512 5a936098e8772ba7cafa88f818348190b088f4ad92780cd2b2ec518ed3471faf4aabe560ee90ac1eae15e99159607e83c3aace8faa3f2db74e604ec05b469be7 +MISC metadata.xml 552 BLAKE2B 48eaba17dbf8ee407801e6f4950874227ba39d4a3339021095d1c75383573a57489f932c06b7a494b257f437b776c2558bd18616bf410749d37b245edff0447f SHA512 baf67ec7b506fbb2b2ca508c51a559c8c177836af54f57187d9dd88bd3754e1e6ea626be779579fb125eecd8d07c267c7bfacfc1b587805079ac71bd22959605 diff --git a/dev-python/python-ldap/metadata.xml b/dev-python/python-ldap/metadata.xml index 68178bf72255..1a5aee08dfb4 100644 --- a/dev-python/python-ldap/metadata.xml +++ b/dev-python/python-ldap/metadata.xml @@ -4,7 +4,6 @@ <maintainer type="person"> <email>xmw@gentoo.org</email> <name>Michael Weber</name> - <description>Upstream of the python3 port</description> </maintainer> <maintainer type="project"> <email>python@gentoo.org</email> @@ -12,5 +11,7 @@ </maintainer> <upstream> <remote-id type="pypi">python-ldap</remote-id> + <remote-id type="github">python-ldap/python-ldap</remote-id> + <bugs-to>https://github.com/python-ldap/python-ldap/issues</bugs-to> </upstream> </pkgmetadata> 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 +} diff --git a/dev-python/python-ldap/python-ldap-9999.ebuild b/dev-python/python-ldap/python-ldap-9999.ebuild index ee6ebf08e0ea..6fda62951210 100644 --- a/dev-python/python-ldap/python-ldap-9999.ebuild +++ b/dev-python/python-ldap/python-ldap-9999.ebuild @@ -1,9 +1,9 @@ # Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -EAPI=6 +EAPI=7 -PYTHON_COMPAT=( python2_7 pypy ) +PYTHON_COMPAT=( pypy{,3} python{2_7,3_{4,5,6}} ) inherit distutils-r1 @@ -11,7 +11,7 @@ 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/xmw/python-ldap.git" + 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" @@ -20,61 +20,76 @@ fi LICENSE="PSF-2" SLOT="0" -IUSE="doc examples sasl ssl" - -# If you need support for openldap-2.3.x, please use python-ldap-2.3.9. -# python team: Please do not remove python-ldap-2.3.9 from the tree. -RDEPEND=">=net-nds/openldap-2.4 - dev-python/pyasn1[${PYTHON_USEDEP}] - sasl? ( >=dev-libs/cyrus-sasl-2.1 )" -DEPEND="${RDEPEND} +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}] - dev-python/pyasn1-modules[${PYTHON_USEDEP}] + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + sasl? ( >=dev-libs/cyrus-sasl-2.1 ) + test? ( + ${RDEPEND} + dev-python/pytest[${PYTHON_USEDEP}] ) " -RDEPEND+=" !dev-python/pyldap" python_prepare_all() { - sed -e "s:^library_dirs =.*:library_dirs = /usr/$(get_libdir) /usr/$(get_libdir)/sasl2:" \ - -e "s:^include_dirs =.*:include_dirs = ${EPREFIX}/usr/include ${EPREFIX}/usr/include/sasl:" \ - -i setup.cfg || die "error fixing setup.cfg" - - local mylibs="ldap" - if use sasl; then - use ssl && mylibs="ldap_r" - mylibs="${mylibs} sasl2" - else - sed -e 's/HAVE_SASL//g' -i setup.cfg || die + # 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 - use ssl && mylibs="${mylibs} ssl crypto" - use elibc_glibc && mylibs="${mylibs} resolv" - sed -e "s:^libs = .*:libs = lber ${mylibs}:" \ - -i setup.cfg || die "error setting up libs in setup.cfg" - - # set test expected to fail to expectedFailure - sed -e "s:^ def test_bad_urls: @unittest.expectedFailure\n def test_bad_urls:" \ - -i Tests/t_ldapurl.py || die + 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() { - use doc && emake -C Doc html + if use doc; then + sphinx-build Doc Doc/_build/html || die + HTML_DOCS=( Doc/_build/html/. ) + fi } python_test() { - # XXX: the tests supposedly can start local slapd - # but it requires some manual config, it seems. - - "${PYTHON}" Tests/t_ldapurl.py || die "Tests fail with ${EPYTHON}" + # 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() { - use examples && local EXAMPLES=( Demo/. ) - use doc && local HTML_DOCS=( Doc/.build/html/. ) - + if use examples; then + docinto examples + dodoc -r Demo/. + docompress -x /usr/share/doc/${PF}/examples + fi distutils-r1_python_install_all } |