summaryrefslogtreecommitdiff
path: root/dev-db/mongodb
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/mongodb')
-rw-r--r--dev-db/mongodb/Manifest7
-rw-r--r--dev-db/mongodb/files/mongodb.service-r112
-rw-r--r--dev-db/mongodb/mongodb-4.2.15-r2.ebuild176
-rw-r--r--dev-db/mongodb/mongodb-4.2.17-r1.ebuild177
-rw-r--r--dev-db/mongodb/mongodb-4.4.10-r1.ebuild178
-rw-r--r--dev-db/mongodb/mongodb-4.4.8-r2.ebuild177
-rw-r--r--dev-db/mongodb/mongodb-5.0.2-r2.ebuild182
-rw-r--r--dev-db/mongodb/mongodb-5.0.5-r1.ebuild182
8 files changed, 1091 insertions, 0 deletions
diff --git a/dev-db/mongodb/Manifest b/dev-db/mongodb/Manifest
index c4f78d4ff540..997f9cdb989f 100644
--- a/dev-db/mongodb/Manifest
+++ b/dev-db/mongodb/Manifest
@@ -14,6 +14,7 @@ AUX mongodb.confd-r3 473 BLAKE2B b9d812cfb424309e117cf5c43ba8ee7bd4dadac78d6ebd1
AUX mongodb.initd-r3 438 BLAKE2B 9d846579cc11145ff2fc8de47d32f8f1971a44633bd197cd46d622e084d9a6eed4b277105430f126af90dd55224b5c3ee8c0a286a42922fe68cdb0b6758b9338 SHA512 480514b3285c0239421cc7b6a485cb2b7d650e507befe5281ac7aaf2094dd0afbba457df8a8bc2af3f1815b2e268ed85f1634a07e00a9b2024f79ab5e60ad040
AUX mongodb.logrotate 205 BLAKE2B d47c211207e599d9b7f56dd9579d3a9eec577ad0efc07dd6980747b6aa59eec930b760f956dd6e180681c684e4507eb12cc88a985e506f77e0c3162ef7df4675 SHA512 8c089b1a11f494e4148fb4646265964c925bf937633a65e395ee1361d42facf837871dd493a9a2e0f480ae0e0829dbd3ed60794c5334e2716332e131fc5c2c51
AUX mongodb.service 220 BLAKE2B ea55bb2f08066d7399e9e66f981f86395f6a177faa198c66f93ea2965ea80d61c170336a4f49fc7f1f855d3abd5e7cf3862d58a2be4a7708c0582fb4ff80b255 SHA512 177251404b2e818ae2b546fe8b13cb76e348c99e85c7bef22a04b0f07b600fd515a309ede50214f4198594388a6d2b31f46e945b9dae84aabb4dfa13b1123bb9
+AUX mongodb.service-r1 239 BLAKE2B 4e2da934120da54034e2dd030cdd349e7fa9a22293f3d06ced3c0fa7e6b158303fa753b0bda8ff896139172f988224c6cdab98542445eff79fef122bdabd0db5 SHA512 3e268dddcdd4d78f6bb64167fb84ab3eb60b019058ecce44063d616ce6451fbf317316bb7630a5440792e9cd071674edad8e8093e07f9d07e823aca114cb1b81
AUX mongos.conf-r2 648 BLAKE2B 420bebfafc1ef4af4b90580077a803fe30f37d63eca6509e7381ca5fcf4e5bc31e136dfc72b653b4d942fdeda058f9fcecc3dcbec9c61e2c82ac3324b9fc0f44 SHA512 5aa8ced8d83572358e008c0df45dbe72a2e9c0003c9f49514d6b91bf9b75d4fb48b189ffe00d14e5675679943a05215a9873c5c9bde9ab1be4ed4813e75714e3
AUX mongos.confd-r3 470 BLAKE2B 9cf6f201d337430901d957a5a0811ff11ac2e81814aac2120c5018e6ec4c38b5ca22d19caea593834416c63609c69a8294227fb6b30200b41dfb29799cc5c1b4 SHA512 952fb9cf5d3eeea2006b101e23142e408c98d66d1f4f868f6ea5a4df6a6331ddcbcbdfb24f4b031c1a8c42652141a3684073b96dfc0b3fbd21dc6b5bcf0e36cb
AUX mongos.initd-r3 422 BLAKE2B 90872d0d8cdc5e33e3eebee848f58a2db0511d48b496ba9318117b74ad9265ead53a21b7d1790729a62d61839099bee315ace8ff3646c01e096a943c2251bf88 SHA512 bf5897614d59c6b4e72529b126408a62ea37d9e9368e5ff69c8fcf2bad3ec09065cff09467f82117a892c51090018706d2f38c03cb9a974a61a49bd9efa0f144
@@ -24,9 +25,15 @@ DIST mongodb-src-r4.4.8.tar.gz 50492854 BLAKE2B 4776b17e88104879ea69468ff277b07d
DIST mongodb-src-r5.0.2.tar.gz 54527477 BLAKE2B f71102f4c2711074498c288817ee06156cb030ee647541f6604582b918fb75239cc5a551c08b745b6296a2693d2a1ac28d94c1365b86bc508257b9d42142612a SHA512 179d57a0a12c5c23e54208c262edff6976f509324be8ad68d6761997dc702534f618dea1a24568fdb2d716359762e64da54e2d152a685447b4e0450996bf2154
DIST mongodb-src-r5.0.5.tar.gz 54862473 BLAKE2B aafa693da904177a11067603f3835e2ee69abcdb206c2d36983633baa6008b861efeb590880098557e224cd7d6ac8fb23e4e9c63724d76bf90422862c99cdfe9 SHA512 318e58285c8a88fc3a4467ba8c1e6487a2aec403db02c50dbdb53df9a6671b9ea2417c8ee8212b205d642327d0d4bdd76f4bc9543c47e53115dfb981ef73f63e
EBUILD mongodb-4.2.15-r1.ebuild 4815 BLAKE2B 06b240707fe453731b56711ee3959d76b528b5599edd537ac650bb71c1da360ad689fb2a7f5592ad5f6f30b5af5b3d4329e47d7f727206d57142294ab29aaf8b SHA512 463600e4cb4c84eedff6e6383d21faaadada38da2a022a96bf779bcecba8c4437992408908506df8652aab8bcc998bec0f31d9fe6573c036671cfefa6a219ffc
+EBUILD mongodb-4.2.15-r2.ebuild 4836 BLAKE2B 9dffca5172f407ffe3aaeaee5ad7978e67c40442319a88af05f12060d00d20ded121bc23d09a61e8b11c60954cee5aaca2f54c959af34a890bdeb90830d7f965 SHA512 1775dad9da751927f771602f822ef4e4a567751c36a8953b5907e0b6004d62aa96b47be62158a62db1d52c9f2f94efc1a40d8eabe01cab6c8f4c778892355392
+EBUILD mongodb-4.2.17-r1.ebuild 4856 BLAKE2B 56c64ee54d73015e192a1ece7ddba430cb3df561ee0d6c37b44fd1eea1a10a3f054a1290cf83db72ddbf72ae0e7c6d6f0874024009b7541ac83348de84b3fbc6 SHA512 4dc30db66f09c491f3eb0d264100b650479c197aa570f203be5839add856a29090c68ed1450698d8ab45b2ee82a6320e65e3de8e3ec182f9959295e58a2b9e7a
EBUILD mongodb-4.2.17.ebuild 4836 BLAKE2B 71bcfb8ac78f1365c9244a71ef98727f14db7bee16a0970b84258a9e377e4b07201cf9b08b5453a7425a5d33a370e2a78008e97ced1e4b8eba0b99be21f93a21 SHA512 b01cd77321dc8d463e2caebde228226ce56fc308dec12f60bc9f1573e1629742eb51443625b5208897e33350167c8e3cac7ac1c50d6dc1b5de582848b7c85254
+EBUILD mongodb-4.4.10-r1.ebuild 4908 BLAKE2B 1aed44d5508a6e97055fa521d49df042719f3386de4c3d470f868e84943624e7151a4c5bec4e70a3994fb9d0ec8072a9d448f999f838fb16360acee8e9a60570 SHA512 9e5a096ba176de62c2b95657b9f604ca78fc7e2199d9d54f023ca7ccb1ef682e02814f8de283cb7fb2a25e99cdcfc79032d638f761fc7a4e5c0352364febfe64
EBUILD mongodb-4.4.10.ebuild 4888 BLAKE2B 58287ee25140d53887ebd2f3574539ce2aad05d30758355da32c8dab3e187ebc5b47ccb87c112b0220eeb602ec23da5d9199441d88fe97f5217d0912d70e21bd SHA512 633272c0a5a0e38f59622b1074577b3d86284da9e1259c7855b0dfa7c901ad54563416636af2e86b8a0ec20c09961a757131819864c578335da9e364410ecdf4
EBUILD mongodb-4.4.8-r1.ebuild 4867 BLAKE2B 935521811a6017674225c22ac41e97f09aaa4c379540be612b1345b3694407c2a762cbfe13c9fd25fbd53e759087180eef8c9610823624e28718dc74b3cac0f7 SHA512 52b9de7f98d1ab7c8d5f2421f05091e8ae1cfd79e70366b0c6e67725d042abbad1a4bb2024401a1d7e00005cf2d1d68c700b456f0c641f6d02311268eafb402e
+EBUILD mongodb-4.4.8-r2.ebuild 4888 BLAKE2B be48e9580680452abe6f06385f888bdd703affde4b06ed5bf0fb3548b4ff7b4e4d49edff5845581565a155e8a32f43d2d0044f6b5224ffabb8e82c05eda0d290 SHA512 8f257ab184ebee0aeb0bdf2e73beb9dfaeae5b06c33fc534a8239391357a65b1e9e8233b2e1784b05d76d1776c52fc9e25d869d2b202a289bc0a7ca0e95f9866
EBUILD mongodb-5.0.2-r1.ebuild 4927 BLAKE2B cda52819b2615305ed018da514474ba39ebc222f1bff893f3139f7d018b87713d35e3d7c0b52f9a098e5eb02566d8da5bbd53e8b2292694844d8c3b352f316ec SHA512 d348c96ebe7e26ee6da5fd63e534b7c340eb31372d462138ee2137185473174bc1d1b65b1e502de7bf9386d49b08d9f9133c0545f9b916c17fccdee4e9b53ada
+EBUILD mongodb-5.0.2-r2.ebuild 4947 BLAKE2B 5d8eb8be56ff013b6d01a972832bb20c2825deeaa5b8f936cfdea428c04f580e45b16ce03bef47cb0c31cc9cf5cb854630d7752af0fc1c6fbd98256fe902e49c SHA512 793b82b03dba4927f300be7e6a1ac155a53f34a4edc5f876ac784e7705ff7fb12a26b3cc8a5a1d48cae5f0de5943d662f485f5ed02122c947da6c2924dbf9b03
+EBUILD mongodb-5.0.5-r1.ebuild 4923 BLAKE2B ac8a210477a4c629512cebfc1f54dbcca75b814ec5c9fc8af413d1532309fb09a94527291d06bc15b834764d2d2f57d6a29937f29d9db2608a0c8b59b8a0065c SHA512 c1d0787d5f3929356f536a99544726b0cb21ba31f8337ae3be69fda36741c110815720ea783ca020832c9ef92356149b50c5b1f4f65ea901ae94dfdc2789822b
EBUILD mongodb-5.0.5.ebuild 4903 BLAKE2B 5ecf62cf6ec42d5f373d678de9036511b32e1faefb068a3b02e9ee2f8bc10f8e5df856e485768ec308f6c2a00eb93bfc3c37e6e0f8319d327a626fdc7ec0aa42 SHA512 03a9c2c8985b51a9849fa4cc18d5d72928c9d81c0fe8f1de407eed4df987d12c5ebd777a883c7caf216f89a48e9011cbf551fd4627173d9be30a01d9a545dad0
MISC metadata.xml 919 BLAKE2B 59d8c500d1b14701caa3feef86c2377c3a2cb870bc218f8aaf993ddcf22f0b75e3b34715446900b6aaf03404387b67c5a23df3d47a64cc7b280a6bfc93f6de45 SHA512 af222eae62fc327ac2ff9f8bf2727ab8f1199a0aabb7fa9a1bd229bd817b9260fe6357ae0ca9d7184bcbc865e2a91195c84efecb430436a0bdb207910850cdda
diff --git a/dev-db/mongodb/files/mongodb.service-r1 b/dev-db/mongodb/files/mongodb.service-r1
new file mode 100644
index 000000000000..a9adb390bd19
--- /dev/null
+++ b/dev-db/mongodb/files/mongodb.service-r1
@@ -0,0 +1,12 @@
+[Unit]
+Description=High-performance, schema-free document-oriented database
+After=network.target
+
+[Service]
+User=mongodb
+ExecStart=/usr/bin/mongod --quiet --config /etc/mongodb.conf
+LimitNOFILE=65536
+
+
+[Install]
+WantedBy=multi-user.target
diff --git a/dev-db/mongodb/mongodb-4.2.15-r2.ebuild b/dev-db/mongodb/mongodb-4.2.15-r2.ebuild
new file mode 100644
index 000000000000..3edd0a731a40
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.2.15-r2.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..9} )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="debug kerberos lto ssl test +tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3:=
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+)]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd:=
+ dev-libs/snowball-stemmer:=
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ >=dev-libs/openssl-1.0.1g:0=
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
+ >=dev-util/scons-2.5.0[${PYTHON_USEDEP}]
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-4.2.15-no-compass.patch"
+ "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ if use test; then
+ has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
+ has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
+ fi
+
+ has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.0; then
+ ewarn "To upgrade from a version earlier than the 4.0-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.0-series. Then upgrade to 4.2 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ ewarn "Tests may hang with FEATURES=usersandbox"
+ "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-4.2.17-r1.ebuild b/dev-db/mongodb/mongodb-4.2.17-r1.ebuild
new file mode 100644
index 000000000000..874b0f131583
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.2.17-r1.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..10} )
+
+SCONS_MIN_VERSION="2.5.0"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="debug kerberos lto ssl test +tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3:=
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+)]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd:=
+ dev-libs/snowball-stemmer:=
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ >=dev-libs/openssl-1.0.1g:0=
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
+ >=dev-util/scons-2.5.0[${PYTHON_USEDEP}]
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-4.2.15-no-compass.patch"
+ "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ if use test; then
+ has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
+ has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
+ fi
+
+ has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.0; then
+ ewarn "To upgrade from a version earlier than the 4.0-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.0-series. Then upgrade to 4.2 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.0 before upgrading."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*,zstandard-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ escons "${scons_opts[@]}" core tools
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ ewarn "Tests may hang with FEATURES=usersandbox"
+ "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+ escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-4.4.10-r1.ebuild b/dev-db/mongodb/mongodb-4.4.10-r1.ebuild
new file mode 100644
index 000000000000..a110d8e1be17
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.4.10-r1.ebuild
@@ -0,0 +1,178 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+SCONS_MIN_VERSION="3.3.1"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 -riscv"
+IUSE="debug kerberos lto ssl test +tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3:=
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+),nls]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd:=
+ dev-libs/snowball-stemmer:=
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ >=dev-libs/openssl-1.0.1g:0=
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
+ >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-100 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.4.1-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.4.8-no-compass.patch"
+ "${FILESDIR}/${PN}-4.4.1-boost.patch"
+ "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ if use test; then
+ has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
+ has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
+ fi
+
+ has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.2; then
+ ewarn "To upgrade from a version earlier than the 4.2-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.2-series. Then upgrade to 4.4 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.2 before upgrading."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" escons "${scons_opts[@]}" --nostrip install-core
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ ewarn "Tests may hang with FEATURES=usersandbox"
+ "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+ dobin build/install/bin/{mongo,mongod,mongos}
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-4.4.8-r2.ebuild b/dev-db/mongodb/mongodb-4.4.8-r2.ebuild
new file mode 100644
index 000000000000..1e73ef98da40
--- /dev/null
+++ b/dev-db/mongodb/mongodb-4.4.8-r2.ebuild
@@ -0,0 +1,177 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..9} )
+
+SCONS_MIN_VERSION="3.3.1"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 -riscv"
+IUSE="debug kerberos lto ssl test +tools"
+RESTRICT="!test? ( test )"
+
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3:=
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+),nls]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd:=
+ dev-libs/snowball-stemmer:=
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ >=dev-libs/openssl-1.0.1g:0=
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ test? ( dev-python/pymongo[${PYTHON_USEDEP}] dev-python/requests[${PYTHON_USEDEP}] )
+ >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )"
+PDEPEND="tools? ( >=app-admin/mongo-tools-100 )"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.4.1-fix-scons.patch"
+ "${FILESDIR}/${PN}-4.4.8-no-compass.patch"
+ "${FILESDIR}/${PN}-4.4.1-boost.patch"
+ "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ if use test; then
+ has_version "dev-python/pymongo[${PYTHON_USEDEP}]" || return 1
+ has_version "dev-python/requests[${PYTHON_USEDEP}]" || return 1
+ fi
+
+ has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.2; then
+ ewarn "To upgrade from a version earlier than the 4.2-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.2-series. Then upgrade to 4.4 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.2 before upgrading."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" escons "${scons_opts[@]}" --nostrip install-core
+}
+
+# FEATURES="test -usersandbox" emerge dev-db/mongodb
+src_test() {
+ ewarn "Tests may hang with FEATURES=usersandbox"
+ "${EPYTHON}" ./buildscripts/resmoke.py run --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed with ${EPYTHON}"
+}
+
+src_install() {
+ dobin build/install/bin/{mongo,mongod,mongos}
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-5.0.2-r2.ebuild b/dev-db/mongodb/mongodb-5.0.2-r2.ebuild
new file mode 100644
index 000000000000..f80a7d9aa426
--- /dev/null
+++ b/dev-db/mongodb/mongodb-5.0.2-r2.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..9} )
+
+SCONS_MIN_VERSION="3.3.1"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 -riscv"
+CPU_FLAGS="cpu_flags_x86_avx"
+IUSE="debug kerberos lto mongosh ssl +tools ${CPU_FLAGS}"
+
+# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
+# resmoke needs python packages not yet present in Gentoo
+RESTRICT="test"
+
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3:=
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+),nls]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd:=
+ dev-libs/snowball-stemmer:=
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ >=dev-libs/openssl-1.0.1g:0=
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )"
+PDEPEND="
+ mongosh? ( app-admin/mongosh-bin )
+ tools? ( >=app-admin/mongo-tools-100 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.4.1-boost.patch"
+ "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-5.0.2-fix-scons.patch"
+ "${FILESDIR}/${PN}-5.0.2-no-compass.patch"
+ "${FILESDIR}/${PN}-5.0.2-skip-no-exceptions.patch"
+ "${FILESDIR}/${PN}-5.0.2-skip-reqs-check.patch"
+ "${FILESDIR}/${PN}-5.0.2-glibc-2.34.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ # Bug 809692
+ if use amd64 && ! use cpu_flags_x86_avx; then
+ eerror "MongoDB 5.0 requires use of the AVX instruction set"
+ eerror "https://docs.mongodb.com/v5.0/administration/production-notes/"
+ die "MongoDB requires AVX"
+ fi
+
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.4; then
+ ewarn "To upgrade from a version earlier than the 4.4-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.4-series. Then upgrade to 5.0 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.4 before upgrading."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost,pcre-*,snappy-*,yaml-cpp,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --jobs="$(makeopts_jobs)"
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" ./buildscripts/scons.py "${scons_opts[@]}" install-core || die
+}
+
+src_install() {
+ dobin build/install/bin/{mongo,mongod,mongos}
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}
diff --git a/dev-db/mongodb/mongodb-5.0.5-r1.ebuild b/dev-db/mongodb/mongodb-5.0.5-r1.ebuild
new file mode 100644
index 000000000000..7cdc397e6121
--- /dev/null
+++ b/dev-db/mongodb/mongodb-5.0.5-r1.ebuild
@@ -0,0 +1,182 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{8..10} )
+
+SCONS_MIN_VERSION="3.3.1"
+CHECKREQS_DISK_BUILD="2400M"
+CHECKREQS_DISK_USR="512M"
+CHECKREQS_MEMORY="1024M"
+
+inherit check-reqs flag-o-matic multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs
+
+MY_P=${PN}-src-r${PV/_rc/-rc}
+
+DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
+HOMEPAGE="https://www.mongodb.com"
+SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
+
+LICENSE="Apache-2.0 SSPL-1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 -riscv"
+CPU_FLAGS="cpu_flags_x86_avx"
+IUSE="debug kerberos lto mongosh ssl +tools ${CPU_FLAGS}"
+
+# https://github.com/mongodb/mongo/wiki/Test-The-Mongodb-Server
+# resmoke needs python packages not yet present in Gentoo
+RESTRICT="test"
+
+RDEPEND="acct-group/mongodb
+ acct-user/mongodb
+ >=app-arch/snappy-1.1.3:=
+ >=dev-cpp/yaml-cpp-0.6.2:=
+ >=dev-libs/boost-1.70:=[threads(+),nls]
+ >=dev-libs/libpcre-8.42[cxx]
+ app-arch/zstd:=
+ dev-libs/snowball-stemmer:=
+ net-libs/libpcap
+ >=sys-libs/zlib-1.2.11:=
+ kerberos? ( dev-libs/cyrus-sasl[kerberos] )
+ ssl? (
+ >=dev-libs/openssl-1.0.1g:0=
+ )"
+DEPEND="${RDEPEND}
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep '
+ >=dev-util/scons-3.1.1[${PYTHON_USEDEP}]
+ dev-python/cheetah3[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ sys-libs/ncurses:0=
+ sys-libs/readline:0=
+ debug? ( dev-util/valgrind )"
+PDEPEND="
+ mongosh? ( app-admin/mongosh-bin )
+ tools? ( >=app-admin/mongo-tools-100 )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.4.1-boost.patch"
+ "${FILESDIR}/${PN}-4.4.1-gcc11.patch"
+ "${FILESDIR}/${PN}-5.0.2-fix-scons.patch"
+ "${FILESDIR}/${PN}-5.0.2-no-compass.patch"
+ "${FILESDIR}/${PN}-5.0.2-skip-no-exceptions.patch"
+ "${FILESDIR}/${PN}-5.0.2-skip-reqs-check.patch"
+)
+
+S="${WORKDIR}/${MY_P}"
+
+python_check_deps() {
+ has_version ">=dev-util/scons-2.5.0[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/cheetah3[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/psutil[${PYTHON_USEDEP}]" &&
+ has_version "dev-python/pyyaml[${PYTHON_USEDEP}]"
+}
+
+pkg_pretend() {
+ # Bug 809692
+ if use amd64 && ! use cpu_flags_x86_avx; then
+ eerror "MongoDB 5.0 requires use of the AVX instruction set"
+ eerror "https://docs.mongodb.com/v5.0/administration/production-notes/"
+ die "MongoDB requires AVX"
+ fi
+
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ if ver_test "$REPLACING_VERSIONS" -lt 4.4; then
+ ewarn "To upgrade from a version earlier than the 4.4-series, you must"
+ ewarn "successively upgrade major releases until you have upgraded"
+ ewarn "to 4.4-series. Then upgrade to 5.0 series."
+ else
+ ewarn "Be sure to set featureCompatibilityVersion to 4.4 before upgrading."
+ fi
+ fi
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -r src/third_party/{boost,pcre-*,snappy-*,yaml-cpp,zlib-*} || die
+
+ # remove compass
+ rm -r src/mongo/installer/compass || die
+}
+
+src_configure() {
+ # https://github.com/mongodb/mongo/wiki/Build-Mongodb-From-Source
+ # --use-system-icu fails tests
+ # --use-system-tcmalloc is strongly NOT recommended:
+ scons_opts=(
+ AR="$(tc-getAR)"
+ CC="$(tc-getCC)"
+ CXX="$(tc-getCXX)"
+
+ --disable-warnings-as-errors
+ --jobs="$(makeopts_jobs)"
+ --use-system-boost
+ --use-system-pcre
+ --use-system-snappy
+ --use-system-stemmer
+ --use-system-yaml
+ --use-system-zlib
+ --use-system-zstd
+ )
+
+ use arm64 && scons_opts+=( --use-hardware-crc32=off ) # Bug 701300
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use lto && scons_opts+=( --lto=on )
+ use ssl && scons_opts+=( --ssl )
+
+ # respect mongoDB upstream's basic recommendations
+ # see bug #536688 and #526114
+ if ! use debug; then
+ filter-flags '-m*'
+ filter-flags '-O?'
+ fi
+
+ default
+}
+
+src_compile() {
+ PREFIX="${EPREFIX}/usr" ./buildscripts/scons.py "${scons_opts[@]}" install-core || die
+}
+
+src_install() {
+ dobin build/install/bin/{mongo,mongod,mongos}
+
+ doman debian/mongo*.1
+ dodoc README docs/building.md
+
+ newinitd "${FILESDIR}/${PN}.initd-r3" ${PN}
+ newconfd "${FILESDIR}/${PN}.confd-r3" ${PN}
+ newinitd "${FILESDIR}/mongos.initd-r3" mongos
+ newconfd "${FILESDIR}/mongos.confd-r3" mongos
+
+ insinto /etc
+ newins "${FILESDIR}/${PN}.conf-r3" ${PN}.conf
+ newins "${FILESDIR}/mongos.conf-r2" mongos.conf
+
+ systemd_newunit "${FILESDIR}/${PN}.service-r1" "${PN}.service"
+
+ insinto /etc/logrotate.d/
+ newins "${FILESDIR}/${PN}.logrotate" ${PN}
+
+ # see bug #526114
+ pax-mark emr "${ED}"/usr/bin/{mongo,mongod,mongos}
+
+ local x
+ for x in /var/{lib,log}/${PN}; do
+ diropts -m0750 -o mongodb -g mongodb
+ keepdir "${x}"
+ done
+}
+
+pkg_postinst() {
+ ewarn "Make sure to read the release notes and follow the upgrade process:"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(ver_cut 1-2)/#upgrade-procedures"
+}