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