summaryrefslogtreecommitdiff
path: root/dev-db
diff options
context:
space:
mode:
authorTomas Mozes <hydrapolic@gmail.com>2018-02-14 16:30:02 +0100
committerUltrabug <ultrabug@gentoo.org>2018-02-15 16:01:49 +0100
commit1309205004f9e99a0cf1c2d30eb9688925fdb698 (patch)
tree4d91099c78763c37c26fa3581ee5c049eb6d2188 /dev-db
parentdev-python/ebuildtester: Add v0.1.4 and v0.1.5 (diff)
downloadgentoo-1309205004f9e99a0cf1c2d30eb9688925fdb698.tar.gz
gentoo-1309205004f9e99a0cf1c2d30eb9688925fdb698.tar.bz2
gentoo-1309205004f9e99a0cf1c2d30eb9688925fdb698.zip
dev-db/mongodb: improve ebuild
Package-Manager: Portage-2.3.24, Repoman-2.3.6 Closes: https://github.com/gentoo/gentoo/pull/7184
Diffstat (limited to 'dev-db')
-rw-r--r--dev-db/mongodb/mongodb-3.4.13.ebuild102
1 files changed, 38 insertions, 64 deletions
diff --git a/dev-db/mongodb/mongodb-3.4.13.ebuild b/dev-db/mongodb/mongodb-3.4.13.ebuild
index f13cbc11f44..3869755fe9f 100644
--- a/dev-db/mongodb/mongodb-3.4.13.ebuild
+++ b/dev-db/mongodb/mongodb-3.4.13.ebuild
@@ -10,12 +10,12 @@ CHECKREQS_DISK_BUILD="2400M"
CHECKREQS_DISK_USR="512M"
CHECKREQS_MEMORY="1024M"
-inherit eutils flag-o-matic multilib multiprocessing pax-utils python-any-r1 scons-utils systemd toolchain-funcs user versionator check-reqs
+inherit check-reqs eutils flag-o-matic multilib multiprocessing pax-utils python-single-r1 scons-utils systemd toolchain-funcs user versionator
MY_P=${PN}-src-r${PV/_rc/-rc}
DESCRIPTION="A high-performance, open source, schema-free document-oriented database"
-HOMEPAGE="http://www.mongodb.org"
+HOMEPAGE="https://www.mongodb.com"
SRC_URI="https://fastdl.mongodb.org/src/${MY_P}.tar.gz"
LICENSE="AGPL-3 Apache-2.0"
@@ -36,16 +36,15 @@ RDEPEND=">=app-arch/snappy-1.1.3
libressl? ( dev-libs/libressl:0= )
)"
DEPEND="${RDEPEND}
- =dev-lang/python-2*
+ ${PYTHON_DEPS}
<dev-util/scons-3
- >=sys-devel/gcc-5.3.0:*
sys-libs/ncurses
sys-libs/readline
debug? ( dev-util/valgrind )
kerberos? ( dev-libs/cyrus-sasl[kerberos] )
test? (
- dev-python/pymongo
- dev-python/pyyaml
+ dev-python/pymongo[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
)"
PDEPEND="tools? ( >=app-admin/mongo-tools-${PV} )"
@@ -58,8 +57,8 @@ PATCHES=(
S=${WORKDIR}/${MY_P}
pkg_pretend() {
- if [[ ${REPLACING_VERSIONS} < 3.0 ]]; then
- ewarn "To upgrade from a version earlier than the 3.0-series, you must"
+ if [[ -n ${REPLACING_VERSIONS} ]] && [[ ${REPLACING_VERSIONS} < 3.2 ]]; then
+ ewarn "To upgrade from a version earlier than the 3.2-series, you must"
ewarn "successively upgrade major releases until you have upgraded"
ewarn "to 3.2-series. Then upgrade to 3.4 series."
fi
@@ -69,10 +68,20 @@ pkg_setup() {
enewgroup mongodb
enewuser mongodb -1 -1 /var/lib/${PN} mongodb
- # Maintainer notes
- #
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # remove bundled libs
+ rm -rv src/third_party/{boost-*,pcre-*,scons-*,snappy-*,yaml-cpp-*,zlib-*} || 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:
- # https://www.mongodb.org/about/contributors/tutorial/build-mongodb-from-source/
scons_opts=(
CC="$(tc-getCC)"
@@ -87,38 +96,32 @@ pkg_setup() {
--use-system-zlib
)
- if use debug; then
- scons_opts+=( --dbg=on )
- fi
-
- if use prefix; then
- scons_opts+=(
- --cpppath="${EPREFIX}/usr/include"
- --libpath="${EPREFIX}/usr/$(get_libdir)"
- )
- fi
-
- if use kerberos; then
- scons_opts+=( --use-sasl-client )
- fi
+ use debug && scons_opts+=( --dbg=on )
+ use kerberos && scons_opts+=( --use-sasl-client )
+ use ssl && scons_opts+=( --ssl )
- if use ssl; then
- scons_opts+=( --ssl )
- fi
-
- python-any-r1_pkg_setup
-}
-
-src_compile() {
# 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() {
+ # this one test fails
+ rm jstests/core/jsHeapLimit.js || die
+
+ "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
+}
+
src_install() {
escons "${scons_opts[@]}" --nostrip install --prefix="${ED}"/usr
@@ -157,37 +160,8 @@ pkg_preinst() {
fi
}
-# FEATURES="test -usersandbox" emerge dev-db/mongodb
-src_test() {
- # this one test fails
- rm jstests/core/jsHeapLimit.js || die
-
- "${EPYTHON}" ./buildscripts/resmoke.py --dbpathPrefix=test --suites core --jobs=$(makeopts_jobs) || die "Tests failed"
-}
-
pkg_postinst() {
- local v
- for v in ${REPLACING_VERSIONS}; do
- if ! version_is_at_least 3.0 ${v}; then
- ewarn "!! IMPORTANT !!"
- ewarn " "
- ewarn "${PN} configuration files have changed !"
- ewarn " "
- ewarn "Make sure you migrate from /etc/conf.d/${PN} to the new YAML standard in /etc/${PN}.conf"
- ewarn " http://docs.mongodb.org/manual/reference/configuration-options/"
- ewarn " "
- ewarn "Make sure you also follow the upgrading process :"
- ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/"
- ewarn " "
- ewarn "MongoDB 3.0 introduces the WiredTiger storage engine."
- ewarn "WiredTiger is incompatible with MMAPv1 and you need to dump/reload your data if you want to use it."
- ewarn "Once you have your data dumped, you need to set storage.engine: wiredTiger in /etc/${PN}.conf"
- ewarn " http://docs.mongodb.org/master/release-notes/3.0-upgrade/#change-storage-engine-to-wiredtiger"
- break
- fi
- done
-
ewarn "Make sure to read the release notes and follow the upgrade process:"
- ewarn " https://docs.mongodb.org/manual/release-notes/3.4/"
- ewarn " https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/"
+ ewarn " https://docs.mongodb.com/manual/release-notes/$(get_version_component_range 1-2)/#upgrade-procedures"
}