From 87291f4e6d4f3f6bbc7e85684f8b6c5b93b9d8ae Mon Sep 17 00:00:00 2001 From: Ultrabug Date: Fri, 19 Aug 2016 10:59:16 +0200 Subject: dev-python/pymongo: ebuild cleanup and version bump Package-Manager: portage-2.2.27 --- dev-python/pymongo/Manifest | 5 +- dev-python/pymongo/pymongo-3.1.1.ebuild | 121 ++++++++++++++++++++++++++++++++ dev-python/pymongo/pymongo-3.1.ebuild | 121 -------------------------------- dev-python/pymongo/pymongo-3.2.1.ebuild | 121 -------------------------------- dev-python/pymongo/pymongo-3.2.ebuild | 121 -------------------------------- dev-python/pymongo/pymongo-3.3.0.ebuild | 121 ++++++++++++++++++++++++++++++++ 6 files changed, 244 insertions(+), 366 deletions(-) create mode 100644 dev-python/pymongo/pymongo-3.1.1.ebuild delete mode 100644 dev-python/pymongo/pymongo-3.1.ebuild delete mode 100644 dev-python/pymongo/pymongo-3.2.1.ebuild delete mode 100644 dev-python/pymongo/pymongo-3.2.ebuild create mode 100644 dev-python/pymongo/pymongo-3.3.0.ebuild (limited to 'dev-python') diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest index c6e916212919..0d76a850d346 100644 --- a/dev-python/pymongo/Manifest +++ b/dev-python/pymongo/Manifest @@ -3,7 +3,6 @@ DIST pymongo-2.7.2.tar.gz 381455 SHA256 8fb45e3edec006f4b11580fc579bec7781a8b320 DIST pymongo-2.8.1.tar.gz 399521 SHA256 300ea5762d059c07d1bb2578f35bd0e55bc31753951e2de3d6fe2ed54438e374 SHA512 8d02829eb8683572ffe8c1be5ee50a4c778e1a0b938820859be215b583e719d079183b1a26bc074fad7e31e8944756b82b146657ad528123514b59c725f6d7aa WHIRLPOOL b0c8c373771d3a4525ddf30db5903a6b1241aa1e160e688c215bef21395d598faa65f12e57ea8fe0f16d1c0eaa0abad02ebf3e0b9df2acb8e1c8e6ff9c20a214 DIST pymongo-2.9.3.tar.gz 433339 SHA256 1a3a75e4998a6b69d9f94c1dbac13116aee90a3f26d02f02fc0289f9e8b332c8 SHA512 7b0c46ef1ca27e8c4d99d00c764aa1ce7775503d5210513ca848215fe0be847871c6d62d14f365474606b4abfdb7d1967d3f393e545cdca8929f7fa6a497c32f WHIRLPOOL 84f6041211022326522f16e02313afbd4763f756a89d12e00714718113926ba32d3b384a22b474fe571a30b23ef49c9c1bf5f9faceb9f3d7293fd795475b5ffe DIST pymongo-3.0.3.tar.gz 419692 SHA256 3c6b2317f8031bc1e200fd1ea35f00a96f4569e3f3f220a5e66ab6227d96ccaf SHA512 7a20fdcae5b3f852bded19c95b36ef6a8141bce0179440a2c5966cbb9f18f3985b7b6b4584c5253c34d0f846d809d72ec0ae076c88472a3de6f090466e9132b4 WHIRLPOOL ae610909b610c7d116dd3aa7c04ab9ce357b25208b07c025924c53bb36183a6d344ecff214def6a01b929dc50d698464c8dd33b6eafd2d88d6666d8534858a38 -DIST pymongo-3.1.tar.gz 462030 SHA256 fe7033007100f825a67640e77abdafee28713f255da88fcfc8d6abad0bb34285 SHA512 886cfbffd4514741e92ad1c79e97ee443d5c9874c823b64c3c2f2566e3005d588d7dd4ae813c320c94f3e6e12b1dd8c7ad56f0e6d2ee419f0d66f4c38321c9ab WHIRLPOOL ec39a42738b751875b92ca8501ccc1711f8e474efef8cf2817525dc47e420e03b7a581d9e35e4f94f529e07a7d81499f7d6e9402c085d9e47861c8a691d1e37e -DIST pymongo-3.2.1.tar.gz 647879 SHA256 57a86ca602b0a4d2da1f9f3afa8c59fd8ca62d829f6d8f467eae0b7cb22ba88a SHA512 c4dc677c4df5cddde003d253692ba80d82443000c0841dc6a15420823ec1f98a3b1b8da2ee5ac9ca65fcbfd8144d886d555c32b68efc7737c19ed8412c12bcc7 WHIRLPOOL 6c7b92383245ef5c454cb19ad85e0160db9d0d3ebd9e4b9e5120178ceb5fcf89068f6e95cc52989a26fbd22e15ad6150d7db65bf5a63b040991e6d081a8a4c3c +DIST pymongo-3.1.1.tar.gz 462020 SHA256 98f550d27481cb841c0f5de023df644e7a3beb235b8a22a091e6dafd39c6a82a SHA512 8b11bff856736e997b50f22aec5ecb350c4407569ea4f5cdfdcdbf81250b2ddb4124d4ce1fc0bcf2392aae19fdfda5c15b2504c10141159218f257dc27dc77e5 WHIRLPOOL 03be4b4b5ff438f7a6a85a102964a1e23899521744d2b8d74b074d1a87defb429aa592b4335ed8eb8fe750340a59fc61f10e79286a096afa51c0d32dd8c73e64 DIST pymongo-3.2.2.tar.gz 504184 SHA256 f2018165823b341d83d398165d1c625e5db5cc779e7c44c107034407808463b6 SHA512 f1e8afd41cf8b1fafe777365e33baedfe7626e3ff311428bf59e2bf0a247aa03ced0d32f37bfb349ff2e54aa22a06f763d04787087add7222e0d8f68c5f73eae WHIRLPOOL a3f6b442316ca2fb6db54eb640f06b7d8fc3f4f8c1bd22cac167c58737c2daaadd055581a6372a443e91fff0829a6bb013a2fe602c92332d767a60257d11629b -DIST pymongo-3.2.tar.gz 473631 SHA256 f50a5380b45a83c5ea1e673ff19363d3cfd5850f7620536e51341d26eb2ae979 SHA512 e0962729bada4ee03cafebac4cd8a0da8abd2e1ef75672897b974e6752acbee247007c8bc5344a28b04b09bcd87c1cbef82e5e71e1b4fdd9074fc3bf56000d2c WHIRLPOOL b4e4ce729c0033071cb99436fd4d380e4818e4bd056c73aa1f2d8e6151ba03152db7426eeb7e9e8af94d6d7e7de63889201e0240cab3ec9b52e0690b3d1eea7c +DIST pymongo-3.3.0.tar.gz 494736 SHA256 3d45302fc2622fabf34356ba274c69df41285bac71bbd229f1587283b851b91e SHA512 c58189acf01d4fa6f455ee7773d281223a6a537ddb8229e2f18137c1915003da5420cd9eb82bed2b84e1cb16b9a2e831b673b4017987d6a4b154df508cac6738 WHIRLPOOL d58a9c52d579817316ff99a1c2efe29941f2f8f480f062160876b619a73f8741060164d843d4877796ac020a251b6e189509d313eab947831107549ad3643129 diff --git a/dev-python/pymongo/pymongo-3.1.1.ebuild b/dev-python/pymongo/pymongo-3.1.1.ebuild new file mode 100644 index 000000000000..de75b074f333 --- /dev/null +++ b/dev-python/pymongo/pymongo-3.1.1.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy ) + +inherit check-reqs distutils-r1 + +DESCRIPTION="Python driver for MongoDB" +HOMEPAGE="https://github.com/mongodb/mongo-python-driver https://pypi.python.org/pypi/pymongo" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc kerberos test" + +RDEPEND=" + kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + test? ( + dev-python/nose[${PYTHON_USEDEP}] + >=dev-db/mongodb-2.6.0 + ) +" +DISTUTILS_IN_SOURCE_BUILD=1 + +reqcheck() { + if use test; then + # During the tests, database size reaches 1.5G. + local CHECKREQS_DISK_BUILD=1536M + + check-reqs_${1} + fi +} + +pkg_pretend() { + reqcheck pkg_pretend +} + +pkg_setup() { + reqcheck pkg_setup +} + +python_compile_all() { + if use doc; then + mkdir html || die + sphinx-build doc html || die + fi +} + +python_test() { + # Yes, we need TCP/IP for that... + local DB_IP=127.0.0.1 + local DB_PORT=27000 + + export DB_IP DB_PORT + + local dbpath=${TMPDIR}/mongo.db + local logpath=${TMPDIR}/mongod.log + + # Now, the hard part: we need to find a free port for mongod. + # We're just trying to run it random port numbers and check the log + # for bind errors. It shall be noted that 'mongod --fork' does not + # return failure when it fails to bind. + + mkdir -p "${dbpath}" || die + while true; do + ebegin "Trying to start mongod on port ${DB_PORT}" + + LC_ALL=C \ + mongod --dbpath "${dbpath}" --smallfiles --nojournal \ + --bind_ip ${DB_IP} --port ${DB_PORT} \ + --unixSocketPrefix "${TMPDIR}" \ + --logpath "${logpath}" --fork \ + && sleep 2 + + # Now we need to check if the server actually started... + if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then + # yay! + eend 0 + break + elif grep -q 'Address already in use' "${logpath}"; then + # ay, someone took our port! + eend 1 + : $(( DB_PORT += 1 )) + continue + else + eend 1 + eerror "Unable to start mongod for tests. See the server log:" + eerror " ${logpath}" + die "Unable to start mongod for tests." + fi + done + + local failed + #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent + pushd "${BUILD_DIR}"/../ > /dev/null + if [[ "${EPYTHON}" == python3* ]]; then + 2to3 --no-diffs -w test + fi + DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1 + + mongod --dbpath "${dbpath}" --shutdown || die + + [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" + + rm -rf "${dbpath}" || die +} + +python_install_all() { + use doc && local HTML_DOCS=( html/. ) + + distutils-r1_python_install_all +} diff --git a/dev-python/pymongo/pymongo-3.1.ebuild b/dev-python/pymongo/pymongo-3.1.ebuild deleted file mode 100644 index de75b074f333..000000000000 --- a/dev-python/pymongo/pymongo-3.1.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy ) - -inherit check-reqs distutils-r1 - -DESCRIPTION="Python driver for MongoDB" -HOMEPAGE="https://github.com/mongodb/mongo-python-driver https://pypi.python.org/pypi/pymongo" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~hppa ~x86" -IUSE="doc kerberos test" - -RDEPEND=" - kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] ) -" -DEPEND=" - ${RDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) - test? ( - dev-python/nose[${PYTHON_USEDEP}] - >=dev-db/mongodb-2.6.0 - ) -" -DISTUTILS_IN_SOURCE_BUILD=1 - -reqcheck() { - if use test; then - # During the tests, database size reaches 1.5G. - local CHECKREQS_DISK_BUILD=1536M - - check-reqs_${1} - fi -} - -pkg_pretend() { - reqcheck pkg_pretend -} - -pkg_setup() { - reqcheck pkg_setup -} - -python_compile_all() { - if use doc; then - mkdir html || die - sphinx-build doc html || die - fi -} - -python_test() { - # Yes, we need TCP/IP for that... - local DB_IP=127.0.0.1 - local DB_PORT=27000 - - export DB_IP DB_PORT - - local dbpath=${TMPDIR}/mongo.db - local logpath=${TMPDIR}/mongod.log - - # Now, the hard part: we need to find a free port for mongod. - # We're just trying to run it random port numbers and check the log - # for bind errors. It shall be noted that 'mongod --fork' does not - # return failure when it fails to bind. - - mkdir -p "${dbpath}" || die - while true; do - ebegin "Trying to start mongod on port ${DB_PORT}" - - LC_ALL=C \ - mongod --dbpath "${dbpath}" --smallfiles --nojournal \ - --bind_ip ${DB_IP} --port ${DB_PORT} \ - --unixSocketPrefix "${TMPDIR}" \ - --logpath "${logpath}" --fork \ - && sleep 2 - - # Now we need to check if the server actually started... - if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then - # yay! - eend 0 - break - elif grep -q 'Address already in use' "${logpath}"; then - # ay, someone took our port! - eend 1 - : $(( DB_PORT += 1 )) - continue - else - eend 1 - eerror "Unable to start mongod for tests. See the server log:" - eerror " ${logpath}" - die "Unable to start mongod for tests." - fi - done - - local failed - #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent - pushd "${BUILD_DIR}"/../ > /dev/null - if [[ "${EPYTHON}" == python3* ]]; then - 2to3 --no-diffs -w test - fi - DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1 - - mongod --dbpath "${dbpath}" --shutdown || die - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} - -python_install_all() { - use doc && local HTML_DOCS=( html/. ) - - distutils-r1_python_install_all -} diff --git a/dev-python/pymongo/pymongo-3.2.1.ebuild b/dev-python/pymongo/pymongo-3.2.1.ebuild deleted file mode 100644 index 8fbd7cd7b6bc..000000000000 --- a/dev-python/pymongo/pymongo-3.2.1.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy ) - -inherit check-reqs distutils-r1 - -DESCRIPTION="Python driver for MongoDB" -HOMEPAGE="https://github.com/mongodb/mongo-python-driver https://pypi.python.org/pypi/pymongo" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~hppa ~x86" -IUSE="doc kerberos test" - -RDEPEND=" - kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] ) -" -DEPEND=" - ${RDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) - test? ( - dev-python/nose[${PYTHON_USEDEP}] - >=dev-db/mongodb-2.6.0 - ) -" -DISTUTILS_IN_SOURCE_BUILD=1 - -reqcheck() { - if use test; then - # During the tests, database size reaches 1.5G. - local CHECKREQS_DISK_BUILD=1536M - - check-reqs_${1} - fi -} - -pkg_pretend() { - reqcheck pkg_pretend -} - -pkg_setup() { - reqcheck pkg_setup -} - -python_compile_all() { - if use doc; then - mkdir html || die - sphinx-build doc html || die - fi -} - -python_test() { - # Yes, we need TCP/IP for that... - local DB_IP=127.0.0.1 - local DB_PORT=27000 - - export DB_IP DB_PORT - - local dbpath=${TMPDIR}/mongo.db - local logpath=${TMPDIR}/mongod.log - - # Now, the hard part: we need to find a free port for mongod. - # We're just trying to run it random port numbers and check the log - # for bind errors. It shall be noted that 'mongod --fork' does not - # return failure when it fails to bind. - - mkdir -p "${dbpath}" || die - while true; do - ebegin "Trying to start mongod on port ${DB_PORT}" - - LC_ALL=C \ - mongod --dbpath "${dbpath}" --smallfiles --nojournal \ - --bind_ip ${DB_IP} --port ${DB_PORT} \ - --unixSocketPrefix "${TMPDIR}" \ - --logpath "${logpath}" --fork \ - && sleep 2 - - # Now we need to check if the server actually started... - if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then - # yay! - eend 0 - break - elif grep -q 'Address already in use' "${logpath}"; then - # ay, someone took our port! - eend 1 - : $(( DB_PORT += 1 )) - continue - else - eend 1 - eerror "Unable to start mongod for tests. See the server log:" - eerror " ${logpath}" - die "Unable to start mongod for tests." - fi - done - - local failed - #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent - pushd "${BUILD_DIR}"/../ > /dev/null - if [[ "${EPYTHON}" == python3* ]]; then - 2to3 --no-diffs -w test - fi - DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1 - - mongod --dbpath "${dbpath}" --shutdown || die - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} - -python_install_all() { - use doc && local HTML_DOCS=( html/. ) - - distutils-r1_python_install_all -} diff --git a/dev-python/pymongo/pymongo-3.2.ebuild b/dev-python/pymongo/pymongo-3.2.ebuild deleted file mode 100644 index 8fbd7cd7b6bc..000000000000 --- a/dev-python/pymongo/pymongo-3.2.ebuild +++ /dev/null @@ -1,121 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy ) - -inherit check-reqs distutils-r1 - -DESCRIPTION="Python driver for MongoDB" -HOMEPAGE="https://github.com/mongodb/mongo-python-driver https://pypi.python.org/pypi/pymongo" -SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - -LICENSE="Apache-2.0" -SLOT="0" -KEYWORDS="~amd64 ~hppa ~x86" -IUSE="doc kerberos test" - -RDEPEND=" - kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] ) -" -DEPEND=" - ${RDEPEND} - dev-python/setuptools[${PYTHON_USEDEP}] - doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) - test? ( - dev-python/nose[${PYTHON_USEDEP}] - >=dev-db/mongodb-2.6.0 - ) -" -DISTUTILS_IN_SOURCE_BUILD=1 - -reqcheck() { - if use test; then - # During the tests, database size reaches 1.5G. - local CHECKREQS_DISK_BUILD=1536M - - check-reqs_${1} - fi -} - -pkg_pretend() { - reqcheck pkg_pretend -} - -pkg_setup() { - reqcheck pkg_setup -} - -python_compile_all() { - if use doc; then - mkdir html || die - sphinx-build doc html || die - fi -} - -python_test() { - # Yes, we need TCP/IP for that... - local DB_IP=127.0.0.1 - local DB_PORT=27000 - - export DB_IP DB_PORT - - local dbpath=${TMPDIR}/mongo.db - local logpath=${TMPDIR}/mongod.log - - # Now, the hard part: we need to find a free port for mongod. - # We're just trying to run it random port numbers and check the log - # for bind errors. It shall be noted that 'mongod --fork' does not - # return failure when it fails to bind. - - mkdir -p "${dbpath}" || die - while true; do - ebegin "Trying to start mongod on port ${DB_PORT}" - - LC_ALL=C \ - mongod --dbpath "${dbpath}" --smallfiles --nojournal \ - --bind_ip ${DB_IP} --port ${DB_PORT} \ - --unixSocketPrefix "${TMPDIR}" \ - --logpath "${logpath}" --fork \ - && sleep 2 - - # Now we need to check if the server actually started... - if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then - # yay! - eend 0 - break - elif grep -q 'Address already in use' "${logpath}"; then - # ay, someone took our port! - eend 1 - : $(( DB_PORT += 1 )) - continue - else - eend 1 - eerror "Unable to start mongod for tests. See the server log:" - eerror " ${logpath}" - die "Unable to start mongod for tests." - fi - done - - local failed - #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent - pushd "${BUILD_DIR}"/../ > /dev/null - if [[ "${EPYTHON}" == python3* ]]; then - 2to3 --no-diffs -w test - fi - DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1 - - mongod --dbpath "${dbpath}" --shutdown || die - - [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" - - rm -rf "${dbpath}" || die -} - -python_install_all() { - use doc && local HTML_DOCS=( html/. ) - - distutils-r1_python_install_all -} diff --git a/dev-python/pymongo/pymongo-3.3.0.ebuild b/dev-python/pymongo/pymongo-3.3.0.ebuild new file mode 100644 index 000000000000..8fbd7cd7b6bc --- /dev/null +++ b/dev-python/pymongo/pymongo-3.3.0.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +PYTHON_COMPAT=( python{2_7,3_3,3_4,3_5} pypy ) + +inherit check-reqs distutils-r1 + +DESCRIPTION="Python driver for MongoDB" +HOMEPAGE="https://github.com/mongodb/mongo-python-driver https://pypi.python.org/pypi/pymongo" +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~hppa ~x86" +IUSE="doc kerberos test" + +RDEPEND=" + kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] ) +" +DEPEND=" + ${RDEPEND} + dev-python/setuptools[${PYTHON_USEDEP}] + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] ) + test? ( + dev-python/nose[${PYTHON_USEDEP}] + >=dev-db/mongodb-2.6.0 + ) +" +DISTUTILS_IN_SOURCE_BUILD=1 + +reqcheck() { + if use test; then + # During the tests, database size reaches 1.5G. + local CHECKREQS_DISK_BUILD=1536M + + check-reqs_${1} + fi +} + +pkg_pretend() { + reqcheck pkg_pretend +} + +pkg_setup() { + reqcheck pkg_setup +} + +python_compile_all() { + if use doc; then + mkdir html || die + sphinx-build doc html || die + fi +} + +python_test() { + # Yes, we need TCP/IP for that... + local DB_IP=127.0.0.1 + local DB_PORT=27000 + + export DB_IP DB_PORT + + local dbpath=${TMPDIR}/mongo.db + local logpath=${TMPDIR}/mongod.log + + # Now, the hard part: we need to find a free port for mongod. + # We're just trying to run it random port numbers and check the log + # for bind errors. It shall be noted that 'mongod --fork' does not + # return failure when it fails to bind. + + mkdir -p "${dbpath}" || die + while true; do + ebegin "Trying to start mongod on port ${DB_PORT}" + + LC_ALL=C \ + mongod --dbpath "${dbpath}" --smallfiles --nojournal \ + --bind_ip ${DB_IP} --port ${DB_PORT} \ + --unixSocketPrefix "${TMPDIR}" \ + --logpath "${logpath}" --fork \ + && sleep 2 + + # Now we need to check if the server actually started... + if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then + # yay! + eend 0 + break + elif grep -q 'Address already in use' "${logpath}"; then + # ay, someone took our port! + eend 1 + : $(( DB_PORT += 1 )) + continue + else + eend 1 + eerror "Unable to start mongod for tests. See the server log:" + eerror " ${logpath}" + die "Unable to start mongod for tests." + fi + done + + local failed + #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent + pushd "${BUILD_DIR}"/../ > /dev/null + if [[ "${EPYTHON}" == python3* ]]; then + 2to3 --no-diffs -w test + fi + DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1 + + mongod --dbpath "${dbpath}" --shutdown || die + + [[ ${failed} ]] && die "Tests fail with ${EPYTHON}" + + rm -rf "${dbpath}" || die +} + +python_install_all() { + use doc && local HTML_DOCS=( html/. ) + + distutils-r1_python_install_all +} -- cgit v1.2.3-65-gdbad