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-db/mongodb/
Date: Sun, 09 Feb 2020 16:31:06
Message-Id: 1581265857.533d689a45bd8a1c1ed8b545c611a18cdc96cdcc.ultrabug@gentoo
1 commit: 533d689a45bd8a1c1ed8b545c611a18cdc96cdcc
2 Author: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
3 AuthorDate: Sun Feb 9 16:30:18 2020 +0000
4 Commit: Alexys Jacob <ultrabug <AT> gentoo <DOT> org>
5 CommitDate: Sun Feb 9 16:30:57 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=533d689a
7
8 dev-db/mongodb: version bump
9
10 Package-Manager: Portage-2.3.81, Repoman-2.3.20
11 Signed-off-by: Alexys Jacob <ultrabug <AT> gentoo.org>
12
13 dev-db/mongodb/Manifest | 3 +
14 dev-db/mongodb/mongodb-3.6.17.ebuild | 162 ++++++++++++++++++++++++++++++++++
15 dev-db/mongodb/mongodb-4.0.16.ebuild | 162 ++++++++++++++++++++++++++++++++++
16 dev-db/mongodb/mongodb-4.2.3.ebuild | 164 +++++++++++++++++++++++++++++++++++
17 4 files changed, 491 insertions(+)
18
19 diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
20 index fab53f85351..fc2f7104f2b 100644
21 --- a/dev-db/mongodb/Manifest
22 +++ b/dev-db/mongodb/Manifest
23 @@ -1,8 +1,11 @@
24 DIST mongodb-src-r3.6.13.tar.gz 40853787 BLAKE2B de9621de4f570d569df5cfe026ea5da24641c97f1ac9f3e58a0706b1d0bd74757390a075c95c6d3acd12f3c5c7bcbeb9302ac997248c54a5b7910b582debdc82 SHA512 eb84fb22ff871b5ec620d6fc29a6a66072211656e914630ad0f53e4fcad55aa40a76a0e68e68bdbe8ef061bea09ce6ad6aea5d8d865ea8a8fdca0ed829555fcd
25 DIST mongodb-src-r3.6.14.tar.gz 40895581 BLAKE2B 3cfe2aedd11a67a01ddee9eba36d99bad5fe8c7891e953cbdae9200427638e1acc1555c8d39df0217a48a95428838d573c90381698361f954d9aab860449cfcd SHA512 2bdc0ee86625724f64b7af2962b19b13cefb21d58d45c7b22fe2e01bd021f2427236c279c89785ede7c6986742127160b032294fbb652c55ce42f8d941a18cfe
26 DIST mongodb-src-r3.6.16.tar.gz 40927975 BLAKE2B bcd129d43eea24da3afe69c887bcd22116e0eb7e1f3f274fb8f51260625d17607b0d1eb31fb23a4f97c88e2c86b3d7a880cb05b0e77385d115cf9486d66f1249 SHA512 eb00f3a612942ad5f947583e92fca5b877b40d75132fa5a97989d81dd55925f5a112400eec8a43b2043bb0236b3228a670a888c41a374b0a60e8a3c26076b1e8
27 +DIST mongodb-src-r3.6.17.tar.gz 40932592 BLAKE2B 94bbb943fd929318a2b32344cb4574243ad234d1cd14ffef864d7fd2d60841866fd5a1966eae8f14266a9648deb62b7b55386d41338b515d5e6849e980143d42 SHA512 b4d9e9bfc7ff886532641058c99da29420d1aa472cb4cf2b254e0fd0af5ecc72ac8bf28dcd55ab738b799b00132ffacddd154dea37ccfbf459c7cc603c2582e0
28 DIST mongodb-src-r4.0.12.tar.gz 49937644 BLAKE2B 81044a6d68be6420d30fb2d7386ff29871a696cad94ce5977c1aba60c2ce80e18ccb86492c1947a359ef124332ea82ac3cb0fb73a68f51904a008fdf911aa055 SHA512 802eaf57d56c5e8e217344f10104a201acb6f5abef0065fc1bb8e6ceef13fe489b7ae46ed0d55b5bad50fe3579860b1c1471d224b51b0f15f968278cb5f6a47a
29 DIST mongodb-src-r4.0.13.tar.gz 50006727 BLAKE2B bf47bd32cf50c24084091a1baa811690c50586352307deb80876bb1bad539e90de77f85fc591960d6ae871e0a6f22d5d2f05bb340218784b642e3529d0c64bb6 SHA512 2a74ac8648cde6d9b5aa33da195b22eca926ef5ff85d4140e0a1ba978e3d13d410f4d7d7e102e35f994ef3b848333a4ef4bacfec9e2ac1b1288cbee885875ef7
30 DIST mongodb-src-r4.0.14.tar.gz 50088053 BLAKE2B af7dc930dd7a469c06cf26201e3329967a664585b9964732c57ed283f323d4dc7fde3ea62ad4f1e8ca763360aeb614c2f77f98867031083d83808acd19e97539 SHA512 3d5d73a816a00887a8851e2e79919b2646f6cc34fd9b8acb255a52e2e71407a4728a80a81112bdbe0a92ba9f71e856ac7a2229741273e8485806cda2cb018d8d
31 +DIST mongodb-src-r4.0.16.tar.gz 50091501 BLAKE2B a383f9fef8e5b2ceda9646dfc4f4f46bc3bee66be45e94a846b1a7ce859826273812d4ce11aa96d1766071bf5fb422771bf2176350145deae99e64e59c164e38 SHA512 90458dea29a4c9a3078e1f13ffd2163911bf5a5f42884553ad9b3c2a2fafea2f73e506640c78f55f27bc16551582ad22244437356b89786fef383ce4b24bb617
32 DIST mongodb-src-r4.2.1.tar.gz 60922510 BLAKE2B b06141cf0a8d256fc24e64c7115093009f42a97c74d270997ad4a70fb040199db05c5083cf1639283cc253264fbeb975d7efe3a41227d75146d7aa2e2fb9fa12 SHA512 6057f68ebeb2d5f74e70639fcc08aecfb112d386e3d016e18dfb2413319abf46249a0f5ffcfb74be9264a2ef34f45dd96f9774d86b1ec7e7213276f1c84f3106
33 DIST mongodb-src-r4.2.2.tar.gz 60991680 BLAKE2B afd31a60929ebfe9c02abee92fd4814c178b03e4e88e10069003fd3e1813481e9cc967e8b4d15b87b0fe703df7fa42a70f60db33cf84ecbf1decfd6657e28ba1 SHA512 30f1e20fbe45ca136869f3fd7e54f1cd65d1544c0693b9945a0036a50257cfc12915a17bf79267500496b5acf3cfa24f406114ea7180b7abee89cd62de5eec80
34 +DIST mongodb-src-r4.2.3.tar.gz 61565615 BLAKE2B 695310a497e57f1c735f175f5b321c93cda376ec734bb08d4cabbd562a865b327f529560220be9c22f571cc70af333a77f0116f04c7f7e3a40f275ab53ab1bf9 SHA512 60e9091cfab4a189a937dfa7ce232eb6ead2ca192c916579f4fb5da2040aa340ae9de0ea8c7a4ccb0edcfdbdf6e666144657f171c3f23c0a62bccf27cd351c69
35
36 diff --git a/dev-db/mongodb/mongodb-3.6.17.ebuild b/dev-db/mongodb/mongodb-3.6.17.ebuild
37 new file mode 100644
38 index 00000000000..8b60f64d9f5
39 --- /dev/null
40 +++ b/dev-db/mongodb/mongodb-3.6.17.ebuild
41 @@ -0,0 +1,162 @@
42 +# Copyright 1999-2020 Gentoo Authors
43 +# Distributed under the terms of the GNU General Public License v2
44 +
45 +EAPI=7
46 +
47 +PYTHON_COMPAT=( python2_7 )
48 +
49 +SCONS_MIN_VERSION="2.5.0"
50 +CHECKREQS_DISK_BUILD="2400M"
51 +CHECKREQS_DISK_USR="512M"
52 +CHECKREQS_MEMORY="1024M"
53 +
54 +inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
55 +
56 +MY_P=${PN}-src-r${PV/_rc/-rc}
57 +
58 +DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
59 +HOMEPAGE="https://www.mongodb.com"
60 +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
61 +
62 +LICENSE="Apache-2.0 SSPL-1"
63 +SLOT="0"
64 +KEYWORDS="~amd64"
65 +IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
66 +RESTRICT="!test? ( test )"
67 +
68 +RDEPEND="acct-group/mongodb
69 + acct-user/mongodb
70 + >=app-arch/snappy-1.1.3
71 + >=dev-cpp/yaml-cpp-0.5.3:=
72 + >=dev-libs/boost-1.60:=[threads(+)]
73 + >=dev-libs/libpcre-8.41[cxx]
74 + dev-libs/snowball-stemmer
75 + net-libs/libpcap
76 + >=sys-libs/zlib-1.2.8:=
77 + kerberos? ( dev-libs/cyrus-sasl[kerberos] )
78 + mms-agent? ( app-admin/mms-agent )
79 + ssl? (
80 + !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
81 + libressl? ( dev-libs/libressl:0= )
82 + )"
83 +DEPEND="${RDEPEND}
84 + ${PYTHON_DEPS}
85 + $(python_gen_any_dep '
86 + dev-python/cheetah[${PYTHON_USEDEP}]
87 + dev-python/pyyaml[${PYTHON_USEDEP}]
88 + virtual/python-typing[${PYTHON_USEDEP}]
89 + ')
90 + sys-libs/ncurses:0=
91 + sys-libs/readline:0=
92 + debug? ( dev-util/valgrind )
93 + test? (
94 + $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
95 + )"
96 +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
97 +
98 +PATCHES=(
99 + "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
100 + "${FILESDIR}/${PN}-3.6.1-no-compass.patch"
101 + "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch"
102 +)
103 +
104 +S="${WORKDIR}/${MY_P}"
105 +
106 +pkg_pretend() {
107 + if [[ -n ${REPLACING_VERSIONS} ]]; then
108 + if ver_test "$REPLACING_VERSIONS" -lt 3.4; then
109 + ewarn "To upgrade from a version earlier than the 3.4-series, you must"
110 + ewarn "successively upgrade major releases until you have upgraded"
111 + ewarn "to 3.4-series. Then upgrade to 3.6 series."
112 + else
113 + ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading."
114 + fi
115 + fi
116 +}
117 +
118 +src_prepare() {
119 + default
120 +
121 + # remove bundled libs
122 + rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
123 +
124 + # remove compass
125 + rm -r src/mongo/installer/compass || die
126 +}
127 +
128 +src_configure() {
129 + # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
130 + # --use-system-icu fails tests
131 + # --use-system-tcmalloc is strongly NOT recommended:
132 + scons_opts=(
133 + CC="$(tc-getCC)"
134 + CXX="$(tc-getCXX)"
135 +
136 + --disable-warnings-as-errors
137 + --use-system-boost
138 + --use-system-pcre
139 + --use-system-snappy
140 + --use-system-stemmer
141 + --use-system-yaml
142 + --use-system-zlib
143 + )
144 +
145 + use debug && scons_opts+=( --dbg=on )
146 + use kerberos && scons_opts+=( --use-sasl-client )
147 + use lto && scons_opts+=( --lto=on )
148 + use ssl && scons_opts+=( --ssl )
149 +
150 + # respect mongoDB upstream's basic recommendations
151 + # see bug #536688 and #526114
152 + if ! use debug; then
153 + filter-flags '-m*'
154 + filter-flags '-O?'
155 + fi
156 +
157 + default
158 +}
159 +
160 +src_compile() {
161 + escons "${scons_opts[@]}" core tools
162 +}
163 +
164 +# FEATURES="test -usersandbox" emerge dev-db/mongodb
165 +src_test() {
166 + "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
167 +}
168 +
169 +src_install() {
170 + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
171 +
172 + doman debian/mongo*.1
173 + dodoc README docs/building.md
174 +
175 + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
176 + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
177 + newinitd "${FILESDIR}/mongos.initd-r3" mongos
178 + newconfd "${FILESDIR}/mongos.confd-r3" mongos
179 +
180 + insinto /etc
181 + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
182 + newins "${FILESDIR}/mongos.conf-r2" mongos.conf
183 +
184 + systemd_dounit "${FILESDIR}/${PN}.service"
185 +
186 + insinto /etc/logrotate.d/
187 + newins "${FILESDIR}/${PN}.logrotate" ${PN}
188 +
189 + # see bug #526114
190 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
191 +
192 + local x
193 + for x in /var/{lib,log}/${PN}; do
194 + diropts -m0750 -o mongodb -g mongodb
195 + keepdir "${x}"
196 + done
197 +}
198 +
199 +pkg_postinst() {
200 + ewarn "Make sure to read the release notes and follow the upgrade process:"
201 + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
202 + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
203 +}
204
205 diff --git a/dev-db/mongodb/mongodb-4.0.16.ebuild b/dev-db/mongodb/mongodb-4.0.16.ebuild
206 new file mode 100644
207 index 00000000000..7542115d20f
208 --- /dev/null
209 +++ b/dev-db/mongodb/mongodb-4.0.16.ebuild
210 @@ -0,0 +1,162 @@
211 +# Copyright 1999-2020 Gentoo Authors
212 +# Distributed under the terms of the GNU General Public License v2
213 +
214 +EAPI=7
215 +
216 +PYTHON_COMPAT=( python2_7 )
217 +
218 +SCONS_MIN_VERSION="2.5.0"
219 +CHECKREQS_DISK_BUILD="2400M"
220 +CHECKREQS_DISK_USR="512M"
221 +CHECKREQS_MEMORY="1024M"
222 +
223 +inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
224 +
225 +MY_P=${PN}-src-r${PV/_rc/-rc}
226 +
227 +DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
228 +HOMEPAGE="https://www.mongodb.com"
229 +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
230 +
231 +LICENSE="Apache-2.0 SSPL-1"
232 +SLOT="0"
233 +KEYWORDS="~amd64"
234 +IUSE="debug kerberos libressl lto mms-agent ssl test +tools"
235 +RESTRICT="!test? ( test )"
236 +
237 +RDEPEND="acct-group/mongodb
238 + acct-user/mongodb
239 + >=app-arch/snappy-1.1.3
240 + >=dev-cpp/yaml-cpp-0.5.3:=
241 + >=dev-libs/boost-1.60:=[threads(+)]
242 + >=dev-libs/libpcre-8.41[cxx]
243 + dev-libs/snowball-stemmer
244 + net-libs/libpcap
245 + >=sys-libs/zlib-1.2.11:=
246 + kerberos? ( dev-libs/cyrus-sasl[kerberos] )
247 + mms-agent? ( app-admin/mms-agent )
248 + ssl? (
249 + !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
250 + libressl? ( dev-libs/libressl:0= )
251 + )"
252 +DEPEND="${RDEPEND}
253 + ${PYTHON_DEPS}
254 + $(python_gen_any_dep '
255 + dev-python/cheetah[${PYTHON_USEDEP}]
256 + dev-python/pyyaml[${PYTHON_USEDEP}]
257 + virtual/python-typing[${PYTHON_USEDEP}]
258 + ')
259 + sys-libs/ncurses:0=
260 + sys-libs/readline:0=
261 + debug? ( dev-util/valgrind )
262 + test? (
263 + $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
264 + )"
265 +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
266 +
267 +PATCHES=(
268 + "${FILESDIR}/${PN}-3.6.1-fix-scons.patch"
269 + "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
270 + "${FILESDIR}/${PN}-4.0.12-boost-1.71-cxxabi-include.patch"
271 +)
272 +
273 +S="${WORKDIR}/${MY_P}"
274 +
275 +pkg_pretend() {
276 + if [[ -n ${REPLACING_VERSIONS} ]]; then
277 + if ver_test "$REPLACING_VERSIONS" -lt 3.6; then
278 + ewarn "To upgrade from a version earlier than the 3.6-series, you must"
279 + ewarn "successively upgrade major releases until you have upgraded"
280 + ewarn "to 3.6-series. Then upgrade to 4.0 series."
281 + else
282 + ewarn "Be sure to set featureCompatibilityVersion to 3.6 before upgrading."
283 + fi
284 + fi
285 +}
286 +
287 +src_prepare() {
288 + default
289 +
290 + # remove bundled libs
291 + rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
292 +
293 + # remove compass
294 + rm -r src/mongo/installer/compass || die
295 +}
296 +
297 +src_configure() {
298 + # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
299 + # --use-system-icu fails tests
300 + # --use-system-tcmalloc is strongly NOT recommended:
301 + scons_opts=(
302 + CC="$(tc-getCC)"
303 + CXX="$(tc-getCXX)"
304 +
305 + --disable-warnings-as-errors
306 + --use-system-boost
307 + --use-system-pcre
308 + --use-system-snappy
309 + --use-system-stemmer
310 + --use-system-yaml
311 + --use-system-zlib
312 + )
313 +
314 + use debug && scons_opts+=( --dbg=on )
315 + use kerberos && scons_opts+=( --use-sasl-client )
316 + use lto && scons_opts+=( --lto=on )
317 + use ssl && scons_opts+=( --ssl )
318 +
319 + # respect mongoDB upstream's basic recommendations
320 + # see bug #536688 and #526114
321 + if ! use debug; then
322 + filter-flags '-m*'
323 + filter-flags '-O?'
324 + fi
325 +
326 + default
327 +}
328 +
329 +src_compile() {
330 + escons "${scons_opts[@]}" core tools
331 +}
332 +
333 +# FEATURES="test -usersandbox" emerge dev-db/mongodb
334 +src_test() {
335 + "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
336 +}
337 +
338 +src_install() {
339 + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
340 +
341 + doman debian/mongo*.1
342 + dodoc README docs/building.md
343 +
344 + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
345 + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
346 + newinitd "${FILESDIR}/mongos.initd-r3" mongos
347 + newconfd "${FILESDIR}/mongos.confd-r3" mongos
348 +
349 + insinto /etc
350 + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
351 + newins "${FILESDIR}/mongos.conf-r2" mongos.conf
352 +
353 + systemd_dounit "${FILESDIR}/${PN}.service"
354 +
355 + insinto /etc/logrotate.d/
356 + newins "${FILESDIR}/${PN}.logrotate" ${PN}
357 +
358 + # see bug #526114
359 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
360 +
361 + local x
362 + for x in /var/{lib,log}/${PN}; do
363 + diropts -m0750 -o mongodb -g mongodb
364 + keepdir "${x}"
365 + done
366 +}
367 +
368 +pkg_postinst() {
369 + ewarn "Make sure to read the release notes and follow the upgrade process:"
370 + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
371 + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
372 +}
373
374 diff --git a/dev-db/mongodb/mongodb-4.2.3.ebuild b/dev-db/mongodb/mongodb-4.2.3.ebuild
375 new file mode 100644
376 index 00000000000..d566c1d609b
377 --- /dev/null
378 +++ b/dev-db/mongodb/mongodb-4.2.3.ebuild
379 @@ -0,0 +1,164 @@
380 +# Copyright 1999-2020 Gentoo Authors
381 +# Distributed under the terms of the GNU General Public License v2
382 +
383 +EAPI=7
384 +
385 +PYTHON_COMPAT=( python3_{6,7} )
386 +
387 +SCONS_MIN_VERSION="2.5.0"
388 +CHECKREQS_DISK_BUILD="2400M"
389 +CHECKREQS_DISK_USR="512M"
390 +CHECKREQS_MEMORY="1024M"
391 +
392 +inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
393 +
394 +MY_P=${PN}-src-r${PV/_rc/-rc}
395 +
396 +DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
397 +HOMEPAGE="https://www.mongodb.com"
398 +SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
399 +
400 +LICENSE="Apache-2.0 SSPL-1"
401 +SLOT="0"
402 +KEYWORDS="~amd64"
403 +IUSE="debug kerberos libressl lto ssl test +tools"
404 +RESTRICT="!test? ( test )"
405 +
406 +RDEPEND="acct-group/mongodb
407 + acct-user/mongodb
408 + >=app-arch/snappy-1.1.3
409 + >=dev-cpp/yaml-cpp-0.6.2:=
410 + >=dev-libs/boost-1.70:=[threads(+)]
411 + >=dev-libs/libpcre-8.42[cxx]
412 + app-arch/zstd
413 + dev-libs/snowball-stemmer
414 + net-libs/libpcap
415 + >=sys-libs/zlib-1.2.11:=
416 + kerberos? ( dev-libs/cyrus-sasl[kerberos] )
417 + ssl? (
418 + !libressl? ( >=dev-libs/openssl-1.0.1g:0= )
419 + libressl? ( dev-libs/libressl:0= )
420 + )"
421 +DEPEND="${RDEPEND}
422 + ${PYTHON_DEPS}
423 + $(python_gen_any_dep '
424 + dev-python/cheetah3[${PYTHON_USEDEP}]
425 + dev-python/psutil[${PYTHON_USEDEP}]
426 + dev-python/pyyaml[${PYTHON_USEDEP}]
427 + virtual/python-typing[${PYTHON_USEDEP}]
428 + ')
429 + sys-libs/ncurses:0=
430 + sys-libs/readline:0=
431 + debug? ( dev-util/valgrind )
432 + test? (
433 + $(python_gen_any_dep 'dev-python/pymongo[${PYTHON_USEDEP}]')
434 + )"
435 +PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
436 +
437 +PATCHES=(
438 + "${FILESDIR}/${PN}-4.2.0-fix-scons.patch"
439 + "${FILESDIR}/${PN}-4.0.0-no-compass.patch"
440 +)
441 +
442 +S="${WORKDIR}/${MY_P}"
443 +
444 +pkg_pretend() {
445 + if [[ -n ${REPLACING_VERSIONS} ]]; then
446 + if ver_test "$REPLACING_VERSIONS" -lt 4.0; then
447 + ewarn "To upgrade from a version earlier than the 4.0-series, you must"
448 + ewarn "successively upgrade major releases until you have upgraded"
449 + ewarn "to 4.0-series. Then upgrade to 4.2 series."
450 + else
451 + ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading."
452 + fi
453 + fi
454 +}
455 +
456 +src_prepare() {
457 + default
458 +
459 + # remove bundled libs
460 + rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die
461 +
462 + # remove compass
463 + rm -r src/mongo/installer/compass || die
464 +}
465 +
466 +src_configure() {
467 + # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
468 + # --use-system-icu fails tests
469 + # --use-system-tcmalloc is strongly NOT recommended:
470 + scons_opts=(
471 + CC="$(tc-getCC)"
472 + CXX="$(tc-getCXX)"
473 +
474 + --disable-warnings-as-errors
475 + --use-system-boost
476 + --use-system-pcre
477 + --use-system-snappy
478 + --use-system-stemmer
479 + --use-system-yaml
480 + --use-system-zlib
481 + --use-system-zstd
482 + )
483 +
484 + use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
485 + use debug && scons_opts+=( --dbg=on )
486 + use kerberos && scons_opts+=( --use-sasl-client )
487 + use lto && scons_opts+=( --lto=on )
488 + use ssl && scons_opts+=( --ssl )
489 +
490 + # respect mongoDB upstream's basic recommendations
491 + # see bug #536688 and #526114
492 + if ! use debug; then
493 + filter-flags '-m*'
494 + filter-flags '-O?'
495 + fi
496 +
497 + default
498 +}
499 +
500 +src_compile() {
501 + escons "${scons_opts[@]}" core tools
502 +}
503 +
504 +# FEATURES="test -usersandbox" emerge dev-db/mongodb
505 +src_test() {
506 + "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
507 +}
508 +
509 +src_install() {
510 + escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
511 +
512 + doman debian/mongo*.1
513 + dodoc README docs/building.md
514 +
515 + newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
516 + newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
517 + newinitd "${FILESDIR}/mongos.initd-r3" mongos
518 + newconfd "${FILESDIR}/mongos.confd-r3" mongos
519 +
520 + insinto /etc
521 + newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
522 + newins "${FILESDIR}/mongos.conf-r2" mongos.conf
523 +
524 + systemd_dounit "${FILESDIR}/${PN}.service"
525 +
526 + insinto /etc/logrotate.d/
527 + newins "${FILESDIR}/${PN}.logrotate" ${PN}
528 +
529 + # see bug #526114
530 + pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
531 +
532 + local x
533 + for x in /var/{lib,log}/${PN}; do
534 + diropts -m0750 -o mongodb -g mongodb
535 + keepdir "${x}"
536 + done
537 +}
538 +
539 +pkg_postinst() {
540 + ewarn "Make sure to read the release notes and follow the upgrade process:"
541 + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
542 + ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
543 +}