mongodb3: NetBSD/aarch64 build fix

This commit is contained in:
tnn 2021-04-09 14:30:09 +00:00
parent 0ebc5d10d5
commit e92338e4d5
4 changed files with 23 additions and 14 deletions

View file

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.15 2021/01/01 08:24:38 ryoon Exp $
# $NetBSD: Makefile,v 1.16 2021/04/09 14:30:09 tnn Exp $
# This package is intentionally old to avoid:
# Server Side Public License
@ -106,6 +106,8 @@ CONF_FILES+= share/examples/mongodb/mongod.conf \
# Copy system specific files for NetBSD and DragonFly
post-extract:
${CHMOD} -R g-w ${WRKSRC}
${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/aarch64/linux \
${WRKSRC}/src/third_party/mozjs-45/platform/aarch64/netbsd
${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/freebsd \
${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/dragonfly
${CP} -R ${WRKSRC}/src/third_party/mozjs-45/platform/x86_64/openbsd \

View file

@ -1,4 +1,4 @@
$NetBSD: distinfo,v 1.9 2020/03/31 14:34:41 gdt Exp $
$NetBSD: distinfo,v 1.10 2021/04/09 14:30:09 tnn Exp $
SHA1 (mongodb-src-r3.4.24.tar.gz) = 86909b211998f0cbc8104df774aecb3d00a01763
RMD160 (mongodb-src-r3.4.24.tar.gz) = f7e4bfe1e2bd046f1a6c0f2695762076ffee5ae5
@ -26,5 +26,5 @@ SHA1 (patch-src_third__party_asio-master_asio_include_asio_detail_impl_kqueue__r
SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_build_js-confdefs.h) = c2ad1041b5c1ff9fac9085d2a8963781f51873a8
SHA1 (patch-src_third__party_mozjs-38_platform_x86__64_netbsd_include_js-config.h) = 7ddbb4e3bf4126a1be2195acc82ff859e8130a01
SHA1 (patch-src_third__party_s2_base_port.h) = 892ce91b5aaa432f34e1e7c169b7fd6eea2a3e94
SHA1 (patch-src_third__party_wiredtiger_SConscript) = 71fd2326a4e95fec674326225bce5ccf5793aa5a
SHA1 (patch-src_third__party_wiredtiger_SConscript) = f135c502c11a1d33da3a5e4c61db00dba85c27c4
SHA1 (patch-src_third__party_wiredtiger_src_os__posix_os__fs.c) = 6da1014613231a0e56dd3449bd5d61014340575a

View file

@ -1,9 +1,13 @@
# $NetBSD: options.mk,v 1.2 2019/07/09 07:28:30 adam Exp $
# $NetBSD: options.mk,v 1.3 2021/04/09 14:30:09 tnn Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.mongodb
PKG_SUPPORTED_OPTIONS= ssl wiredtiger
PKG_SUPPORTED_OPTIONS= ssl
.if ${MACHINE_ARCH} == "x86_64"
# The prospect of using databases/wiredtiger is unclear yet;
# MongoDB doesn't provide guarantees for non-bundled WiredTiger:
# https://groups.google.com/forum/#!msg/mongodb-dev/31FQSo4KVCI/Fx-WtJ9fzU4J
.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "aarch64"
PKG_SUPPORTED_OPTIONS+= wiredtiger
PKG_SUGGESTED_OPTIONS+= wiredtiger
.endif
@ -14,13 +18,7 @@ PKG_SUGGESTED_OPTIONS+= wiredtiger
SCONS_ARGS+= --ssl
.endif
# The prospect of using databases/wiredtiger is unclear yet;
# MongoDB doesn't provide guarantees for non-bundled WiredTiger:
# https://groups.google.com/forum/#!msg/mongodb-dev/31FQSo4KVCI/Fx-WtJ9fzU4J
.if !empty(PKG_OPTIONS:Mwiredtiger)
. if ${MACHINE_ARCH} != "x86_64"
PKG_FAIL_REASON+= "WiredTiger is not supported on 32-bit platforms"
. endif
SCONS_ARGS+= --wiredtiger=on
.else
SCONS_ARGS+= --wiredtiger=off

View file

@ -1,8 +1,8 @@
$NetBSD: patch-src_third__party_wiredtiger_SConscript,v 1.1 2019/06/28 16:30:56 gdt Exp $
$NetBSD: patch-src_third__party_wiredtiger_SConscript,v 1.2 2021/04/09 14:30:09 tnn Exp $
* Add NetBSD case.
--- src/third_party/wiredtiger/SConscript.orig 2017-04-20 21:43:42.000000000 +0000
--- src/third_party/wiredtiger/SConscript.orig 2020-01-08 16:30:41.000000000 +0000
+++ src/third_party/wiredtiger/SConscript
@@ -62,8 +62,12 @@ elif env.TargetOSIs('solaris'):
# For an explanation of __EXTENSIONS__,
@ -26,3 +26,12 @@ $NetBSD: patch-src_third__party_wiredtiger_SConscript,v 1.1 2019/06/28 16:30:56
Exit(1)
wiredtiger_includes = """
@@ -169,7 +173,7 @@ if useSnappy:
# If not available at runtime, we fall back to software in some cases.
#
# On zSeries we may disable because SLES 11 kernel doe not support the instructions.
-if not (env['TARGET_ARCH'] == 's390x' and get_option("use-s390x-crc32") == "off"):
+if not (env['TARGET_ARCH'] == 's390x' and get_option("use-s390x-crc32") == "off") and not (env.TargetOSIs('netbsd') and env['TARGET_ARCH'] == 'aarch64'):
env.Append(CPPDEFINES=["HAVE_CRC32_HARDWARE"])
wtlib = env.Library(