80 lines
2.2 KiB
Bash
80 lines
2.2 KiB
Bash
# Template file for 'mongodb'
|
|
pkgname=mongodb
|
|
version=3.4.9
|
|
revision=2
|
|
wrksrc="mongodb-src-r${version}"
|
|
hostmakedepends="scons"
|
|
makedepends="boost-devel pcre-devel snappy-devel libressl-devel libpcap-devel
|
|
gperftools libsasl-devel yaml-cpp-devel"
|
|
depends="cyrus-sasl-modules"
|
|
conf_files="/etc/mongodb/mongodb.conf"
|
|
system_accounts="mongodb"
|
|
mongodb_homedir="/var/lib/mongodb"
|
|
short_desc="High-performance, schema-free document-oriented database"
|
|
maintainer="Enno Boland <gottox@voidlinux.eu>"
|
|
homepage="http://www.mongodb.org"
|
|
license="AGPL-3"
|
|
distfiles="https://fastdl.mongodb.org/src/mongodb-src-r${version}.tar.gz"
|
|
checksum=2fd0f47a5f9175e71d3d381e81a1b6a2500c9c414dd6ae0940ad6194a0e85549
|
|
only_for_archs="aarch64 x86_64 aarch64-musl x86_64-musl"
|
|
|
|
make_dirs="
|
|
/var/lib/mongodb 0700 mongodb mongodb
|
|
/var/log/mongodb 0750 mongodb mongodb"
|
|
|
|
# ETOOHUGE
|
|
nodebug=1
|
|
|
|
case "${XBPS_TARGET_MACHINE}" in
|
|
aarch64-musl)
|
|
# error: conflicting types for 'wchar_t'
|
|
broken="https://build.voidlinux.eu/builders/aarch64-musl_builder/builds/2739/steps/shell_3/logs/stdio"
|
|
;;
|
|
x86_64*|aarch64*) makedepends+=" wiredtiger-devel";;
|
|
esac
|
|
|
|
do_configure() {
|
|
find . -name SConstruct -print0 | xargs -0 sed -i "s/-Werror/-Wno-error/g"
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
*-musl) # Disable strtouq(3)
|
|
sed -i src/third_party/wiredtiger/build_linux/wiredtiger_config.h \
|
|
-e "s;#define HAVE_STRTOUQ 1;#undef HAVE_STRTOUQ;"
|
|
esac
|
|
}
|
|
do_build() {
|
|
# Choose storage engine
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
x86_64*|aarch64*) _scons_args="--wiredtiger=on --use-system-wiredtiger";;
|
|
i686*|arm*) _scons_args="--wiredtiger=off --mmapv1=on";;
|
|
*) _scons_args="--wiredtiger=off";;
|
|
esac
|
|
scons core tools ${makejobs} \
|
|
CC=$CC \
|
|
CFLAGS="$CFLAGS" \
|
|
CXX=$CXX \
|
|
CXXFLAGS="$CXXFLAGS" \
|
|
LIBPATH="${XBPS_CROSS_BASE}/usr/lib" \
|
|
CPPPATH="${XBPS_CROSS_BASE}/usr/include" \
|
|
--prefix="/usr" \
|
|
--use-system-pcre \
|
|
--use-system-boost \
|
|
--use-system-snappy \
|
|
--use-system-zlib \
|
|
--use-system-yaml \
|
|
--use-sasl-client \
|
|
--ssl \
|
|
--nostrip \
|
|
--disable-warnings-as-errors \
|
|
--allocator=system \
|
|
${_scons_args}
|
|
# --use-system-intel_decimal128 \
|
|
}
|
|
do_install() {
|
|
for b in mongos mongod mongo mongoperf; do
|
|
vbin $b
|
|
done
|
|
|
|
vinstall ${FILESDIR}/mongodb.conf 644 etc/mongodb
|
|
|
|
vsv mongodb
|
|
}
|