forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Tomáš Mózes <[email protected]> Signed-off-by: Zac Medico <[email protected]>
- Loading branch information
1 parent
1c8aaef
commit f487b76
Showing
2 changed files
with
165 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
DIST mongodb-src-r3.4.16.tar.gz 40093657 BLAKE2B 7123444dbdd0b2ad3adfb3391e0177d33c1b6c6a4ea83027821c564faad047a736e52926bc15c58bef59c18282436e913fd3bc9963705e030da01356f83ea367 SHA512 e22eb1fe2a832fed8305200614988c5ecfd619cee44fe2263bffa151732c0e26584084e64065dbc65152be6e5c1767a538193770359bea92f3703c72239075db | ||
DIST mongodb-src-r3.6.10.tar.gz 40562421 BLAKE2B c4fbb9e9586350503df84b344e5c0e05176e681f50a0e96551f157c81c85b71e45c235f0788c1886aa5b6b79fa452afa1a6e8de4acfbfe4c4a0ae62379599f86 SHA512 e0833885a2b1fc14d99749304bd83931a9016039fa32826f9961653601975474f37003eb40fbe8cc5b09644ea447cdc59ccf63110b527d51d4c772cfff88804f | ||
DIST mongodb-src-r3.6.11.tar.gz 40581959 BLAKE2B 86244472ce8cff5180d8833a3415dd8a43fb5c76545034822989d5be90f45ed0ef1d43cb726be1e53241255491a7a516e6f90b1c1218ad10cf4ead4557311088 SHA512 e74af9f2f40ab0e2c20b135db3f0ce17825cfe5da912ff8edb2902226abb662a6cf87038ea57df73b06b4961ba71aa78fffd542153eb30c4ea2729d642b1091d | ||
DIST mongodb-src-r3.6.8.tar.gz 40428295 BLAKE2B cc02f73cfb49fb38ccabaad5a02610ce73fc41895ce944e48669e254bcbc70c8872a1bd7f8e04371fae4fcd9af2466fd8550367dd1d1da5cee50b86fc5023bf2 SHA512 c981f3269be3bafb59aa89d36c39a801fd7007b60db6c09b4616a559aaf8e50b34cabbdac2b59f23552c0a5112913fba468f7e2ed9a5f4daa3702dcffdf34999 | ||
DIST mongodb-src-r4.0.6.tar.gz 49511958 BLAKE2B c372bb858528cb825db4edf11db636ad71c63148b84838f64cefe886b37631482c1e22eb99dfc557c3f51706d1d2f61b893bfd301cdeb8772a2d85ad75f8f48c SHA512 72e04154cf221833522bb0c2cc99acc2a86d20e2dcbf1f8c6ff0a870edf7b2529a55b6821c664805c00c12a311ae374a276ef1e3ccea1ed84fb125bb8726906a |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,164 @@ | ||
# Copyright 1999-2019 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=7 | ||
|
||
PYTHON_COMPAT=( python2_7 ) | ||
|
||
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-single-r1 scons-utils systemd toolchain-funcs user | ||
|
||
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" | ||
IUSE="debug kerberos libressl lto mms-agent ssl test +tools" | ||
|
||
RDEPEND=">=app-arch/snappy-1.1.3 | ||
>=dev-cpp/yaml-cpp-0.5.3:= | ||
>=dev-libs/boost-1.60:=[threads(+)] | ||
>=dev-libs/libpcre-8.41[cxx] | ||
dev-libs/snowball-stemmer | ||
net-libs/libpcap | ||
>=sys-libs/zlib-1.2.8:= | ||
kerberos? ( dev-libs/cyrus-sasl[kerberos] ) | ||
mms-agent? ( app-admin/mms-agent ) | ||
ssl? ( | ||
!libressl? ( >=dev-libs/openssl-1.0.1g:0= ) | ||
libressl? ( dev-libs/libressl:0= ) | ||
)" | ||
DEPEND="${RDEPEND} | ||
${PYTHON_DEPS} | ||
dev-python/cheetah[${PYTHON_USEDEP}] | ||
dev-python/pyyaml[${PYTHON_USEDEP}] | ||
virtual/python-typing[${PYTHON_USEDEP}] | ||
sys-libs/ncurses:0= | ||
sys-libs/readline:0= | ||
debug? ( dev-util/valgrind ) | ||
test? ( | ||
dev-python/pymongo[${PYTHON_USEDEP}] | ||
)" | ||
PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )" | ||
|
||
PATCHES=( | ||
"${FILESDIR}/${PN}-3.4.7-no-boost-check.patch" | ||
"${FILESDIR}/${PN}-3.6.1-fix-scons.patch" | ||
"${FILESDIR}/${PN}-3.6.1-no-compass.patch" | ||
) | ||
|
||
S="${WORKDIR}/${MY_P}" | ||
|
||
pkg_pretend() { | ||
if [[ -n ${REPLACING_VERSIONS} ]]; then | ||
if ver_test "$REPLACING_VERSIONS" -lt 3.4; then | ||
ewarn "To upgrade from a version earlier than the 3.4-series, you must" | ||
ewarn "successively upgrade major releases until you have upgraded" | ||
ewarn "to 3.4-series. Then upgrade to 3.6 series." | ||
else | ||
ewarn "Be sure to set featureCompatibilityVersion to 3.4 before upgrading." | ||
fi | ||
fi | ||
} | ||
|
||
pkg_setup() { | ||
enewgroup mongodb | ||
enewuser mongodb -1 -1 /var/lib/${PN} mongodb | ||
|
||
python-single-r1_pkg_setup | ||
} | ||
|
||
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 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() { | ||
"${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed" | ||
} | ||
|
||
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_dounit "${FILESDIR}/${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" | ||
} |