Gentoo Archives: gentoo-commits

From: Alexys Jacob <ultrabug@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/pymongo/
Date: Tue, 26 Nov 2019 12:42:56
Message-Id: 1574772136.c413b946b0d2c5a347d5a4d810a5ab7ddeb20656.ultrabug@gentoo
1 commit: c413b946b0d2c5a347d5a4d810a5ab7ddeb20656
2 Author: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
3 AuthorDate: Tue Nov 26 12:41:25 2019 +0000
4 Commit: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
5 CommitDate: Tue Nov 26 12:42:16 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c413b946
7
8 dev-python/pymongo: version bump
9
10 Package-Manager: Portage-2.3.79, Repoman-2.3.18
11 Signed-off-by: Alexys Jacob <ultrabug <AT> gentoo.org>
12
13 dev-python/pymongo/Manifest | 1 +
14 dev-python/pymongo/pymongo-3.9.0.ebuild | 119 ++++++++++++++++++++++++++++++++
15 2 files changed, 120 insertions(+)
16
17 diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
18 index deaf685626d..6bc5bf11254 100644
19 --- a/dev-python/pymongo/Manifest
20 +++ b/dev-python/pymongo/Manifest
21 @@ -2,3 +2,4 @@ DIST pymongo-3.4.0.tar.gz 583303 BLAKE2B 2031b52731db8c5def167b2aceb4e1d064f0ff2
22 DIST pymongo-3.5.1.tar.gz 1332463 BLAKE2B d581409a4b6cdede3e126e31747d34ed0e238919163ed442477ae51765ebdd1ebfb53fc94f7f1f53161c2019bf9db46640730aa54f19af6af25a37c95372308d SHA512 67526bcc27233b85226d7ef6aacce6dfb848efc88730fb8207c3b610f3943ac813f6c2842b7e514d733a65a2b7ea4f255574732e42372551b1b333e3437fd82f
23 DIST pymongo-3.7.1.tar.gz 723014 BLAKE2B fd0be64f01006405f30e8d96e5edc0d565a8b67ec057a27b6143b4dd0592e2302efea65b6e3d4898d12e196b1efe01787aa608d8564573a83bfd193c703ba0c4 SHA512 34f7448c90a0741d1c80e5924d53e70d5c4bf74d140ea50cef1a519e11b7429dc8551ddb868ec4c02351da6619924ae0d4f7bfc12ef4fa9635c81e2f69aea30f
24 DIST pymongo-3.7.2.tar.gz 628611 BLAKE2B 4eac5f11c8cd9a1bf8e0553a1fc3ec8f0a4bec0fd6b04dd75fe85da7315baa0e81a3c2b2aa4eba351aa4206aae974bce263f0630ac8828d8a982c4902cf7f518 SHA512 4d1dfe03d94f381f27cfb5c8dd4f75ecbab90567fdc4dd594b880031e68825eda6285c8b261a4c9d76fb7ccc92c91e27ae2f696525f7732b1f0084794042a33d
25 +DIST pymongo-3.9.0.tar.gz 701117 BLAKE2B c13b53f06fa1788f65de46b6a05474355e312a1cdd7798610b300c1a7bb9964d32243da52a4dad61d5b50e736c717f5549f61b28c06e1024505bdd3ec04ab99a SHA512 3ac8831ffd82c27bfbf8429a38fe26aed177ba68b89d0ddf043adfde326b8c01eea9be449bb985421f42677fab4dd5ab44e1c1c9eeb3aff41d792c660fe23e0b
26
27 diff --git a/dev-python/pymongo/pymongo-3.9.0.ebuild b/dev-python/pymongo/pymongo-3.9.0.ebuild
28 new file mode 100644
29 index 00000000000..6128d0c11ad
30 --- /dev/null
31 +++ b/dev-python/pymongo/pymongo-3.9.0.ebuild
32 @@ -0,0 +1,119 @@
33 +# Copyright 1999-2019 Gentoo Authors
34 +# Distributed under the terms of the GNU General Public License v2
35 +
36 +EAPI=7
37 +PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy )
38 +
39 +inherit check-reqs distutils-r1
40 +
41 +DESCRIPTION="Python driver for MongoDB"
42 +HOMEPAGE="https://github.com/mongodb/mongo-python-driver https://pypi.org/project/pymongo/"
43 +SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
44 +
45 +LICENSE="Apache-2.0"
46 +SLOT="0"
47 +KEYWORDS="~amd64 ~arm64 ~hppa ~x86"
48 +IUSE="doc kerberos test"
49 +
50 +RDEPEND="
51 + kerberos? ( dev-python/pykerberos[${PYTHON_USEDEP}] )
52 +"
53 +DEPEND="
54 + ${RDEPEND}
55 + dev-python/setuptools[${PYTHON_USEDEP}]
56 + doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
57 + test? (
58 + dev-python/nose[${PYTHON_USEDEP}]
59 + >=dev-db/mongodb-2.6.0
60 + )
61 +"
62 +DISTUTILS_IN_SOURCE_BUILD=1
63 +
64 +reqcheck() {
65 + if use test; then
66 + # During the tests, database size reaches 1.5G.
67 + local CHECKREQS_DISK_BUILD=1536M
68 +
69 + check-reqs_${1}
70 + fi
71 +}
72 +
73 +pkg_pretend() {
74 + reqcheck pkg_pretend
75 +}
76 +
77 +pkg_setup() {
78 + reqcheck pkg_setup
79 +}
80 +
81 +python_compile_all() {
82 + if use doc; then
83 + mkdir html || die
84 + sphinx-build doc html || die
85 + fi
86 +}
87 +
88 +python_test() {
89 + # Yes, we need TCP/IP for that...
90 + local DB_IP=127.0.0.1
91 + local DB_PORT=27000
92 +
93 + export DB_IP DB_PORT
94 +
95 + local dbpath=${TMPDIR}/mongo.db
96 + local logpath=${TMPDIR}/mongod.log
97 +
98 + # Now, the hard part: we need to find a free port for mongod.
99 + # We're just trying to run it random port numbers and check the log
100 + # for bind errors. It shall be noted that 'mongod --fork' does not
101 + # return failure when it fails to bind.
102 +
103 + mkdir -p "${dbpath}" || die
104 + while true; do
105 + ebegin "Trying to start mongod on port ${DB_PORT}"
106 +
107 + LC_ALL=C \
108 + mongod --dbpath "${dbpath}" --nojournal \
109 + --bind_ip ${DB_IP} --port ${DB_PORT} \
110 + --unixSocketPrefix "${TMPDIR}" \
111 + --logpath "${logpath}" --fork \
112 + && sleep 2
113 +
114 + # Now we need to check if the server actually started...
115 + if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
116 + # yay!
117 + eend 0
118 + break
119 + elif grep -q 'Address already in use' "${logpath}"; then
120 + # ay, someone took our port!
121 + eend 1
122 + : $(( DB_PORT += 1 ))
123 + continue
124 + else
125 + eend 1
126 + eerror "Unable to start mongod for tests. See the server log:"
127 + eerror " ${logpath}"
128 + die "Unable to start mongod for tests."
129 + fi
130 + done
131 +
132 + local failed
133 + #https://jira.mongodb.org/browse/PYTHON-521, py2.[6-7] has intermittent failure with gevent
134 + pushd "${BUILD_DIR}"/../ > /dev/null
135 + if [[ "${EPYTHON}" == python3* ]]; then
136 + 2to3 --no-diffs -w test
137 + fi
138 + DB_PORT2=$(( DB_PORT + 1 )) DB_PORT3=$(( DB_PORT + 2 )) esetup.py test || failed=1
139 +
140 + mongod --dbpath "${dbpath}" --shutdown || die
141 +
142 + [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
143 +
144 + rm -rf "${dbpath}" || die
145 +}
146 +
147 +python_install_all() {
148 + use doc && local HTML_DOCS=( html/. )
149 +
150 + distutils-r1_python_install_all
151 +}