From patchwork Sun Dec 13 12:40:38 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergio Prado X-Patchwork-Id: 556178 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ozlabs.org (Postfix) with ESMTP id 90A911402D9 for ; Sun, 13 Dec 2015 23:41:16 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=e-labworks-com.20150623.gappssmtp.com header.i=@e-labworks-com.20150623.gappssmtp.com header.b=qz5z8Rg8; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 4A13BA61B2; Sun, 13 Dec 2015 12:41:15 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NwIApydw6L7l; Sun, 13 Dec 2015 12:41:12 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by fraxinus.osuosl.org (Postfix) with ESMTP id 2DBDAA616E; Sun, 13 Dec 2015 12:41:12 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id 809C21C0F12 for ; Sun, 13 Dec 2015 12:41:11 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 7956E9236F for ; Sun, 13 Dec 2015 12:41:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Lr2dBo4c1GfV for ; Sun, 13 Dec 2015 12:41:10 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey-1.7.6 Received: from mail-qg0-f44.google.com (mail-qg0-f44.google.com [209.85.192.44]) by whitealder.osuosl.org (Postfix) with ESMTPS id 4F92192702 for ; Sun, 13 Dec 2015 12:41:10 +0000 (UTC) Received: by qgfb51 with SMTP id b51so27820245qgf.3 for ; Sun, 13 Dec 2015 04:41:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=e-labworks-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id; bh=kvRiihwBVsZo21t/tUfzVHQ+JQ1XP6naI6UYLqyok7M=; b=qz5z8Rg8R3lJse/xQKrmmNPbo4yCH4rX6Zm5WniFAvwyqSjNeXKHrVxQUimB7Y7HMJ X4kiqACBX1S6/pWH0q0/sVeNVtdTi9T67qkJ1L5nyOCA4tRebTrUGS6TDQsxaLL/G1h8 RidtxfyzSGyrxPoOvqg34vv+tvfuy96v25Z3nLC2X9sdXT9n6s/vUkNoEvcFKvBaRm3h BO57RLnOq9J2dpgAREh8blGGMGl94QHQcfwh3//8ZYxe8ePHMtxNWMuAD+AfOdSz49Mg 7WRW/c1Wht8g/ej4962oMK3neyZE8YktUyezJl2aXTTp6QsjXK94wZCCPJxmHH5fCdyA pUqg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=kvRiihwBVsZo21t/tUfzVHQ+JQ1XP6naI6UYLqyok7M=; b=EHakejYhiDqghgKhUPZvRfek5VFCt8SArW8jhjNJJbKvheyUpGww2wyRa6j6zx/3DX b4uNtLBLn4uxQMlvY+1jVcRGAFYc0jvh9i///CD5EXHCgnTbbBRBXXE/t1Jkx35ZM2il EjMNEQpK/hVy3ZONe3k+l0j8kVZbpryNxH5LIhZZZ7PxTsW+TrgNMpCSVebNX/gfpddf OwAadQQPRq+aCvHThHnByDemHV64fN11CWxydV8s7jOYkmdm3hHA9j45C0ceUlLCGivJ 7W28NTx7EKZ2U5hXbiX4mhUpv5RxstTPxqT3+MRig1i04iIDuYGyOex05tETpkid+AKg xVpA== X-Gm-Message-State: ALoCoQkEUFBmPkPCcvygve8z8y5uxi6pdFtUOiDqbh7dgPA74ai0GmOqG1jpxYnCjyrYl41XA0Rz9zgcKCZToL0/pXgppAC1wg== X-Received: by 10.140.97.229 with SMTP id m92mr35303664qge.22.1450010469380; Sun, 13 Dec 2015 04:41:09 -0800 (PST) Received: from localhost.localdomain ([177.141.170.120]) by smtp.gmail.com with ESMTPSA id x44sm11878543qgx.44.2015.12.13.04.41.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 13 Dec 2015 04:41:08 -0800 (PST) From: Sergio Prado To: buildroot@buildroot.org Date: Sun, 13 Dec 2015 10:40:38 -0200 Message-Id: <1450010438-10933-1-git-send-email-sergio.prado@e-labworks.com> X-Mailer: git-send-email 1.9.1 Subject: [Buildroot] [PATCH 1/1] mongodb: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Compiled and tested on arm (beaglebone black), aarch64 (qemu), i386 (qemu) and x86_64 (qemu). Signed-off-by: Sergio Prado --- package/Config.in | 1 + package/mongodb/Config.in | 20 ++++++++++++++ package/mongodb/mongodb.hash | 2 ++ package/mongodb/mongodb.mk | 64 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 87 insertions(+) create mode 100644 package/mongodb/Config.in create mode 100644 package/mongodb/mongodb.hash create mode 100644 package/mongodb/mongodb.mk diff --git a/package/Config.in b/package/Config.in index 00aedad84395..9f4457d0810c 100644 --- a/package/Config.in +++ b/package/Config.in @@ -783,6 +783,7 @@ menu "Database" source "package/gdbm/Config.in" source "package/kompexsqlite/Config.in" source "package/leveldb/Config.in" + source "package/mongodb/Config.in" source "package/mysql/Config.in" source "package/postgresql/Config.in" source "package/redis/Config.in" diff --git a/package/mongodb/Config.in b/package/mongodb/Config.in new file mode 100644 index 000000000000..31f5f7459395 --- /dev/null +++ b/package/mongodb/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_MONGODB + bool "mongodb" + depends on BR2_TOOLCHAIN_USES_GLIBC # needs glibc malloc_usable_size + depends on BR2_USE_WCHAR + depends on BR2_TOOLCHAIN_HAS_THREADS + depends on BR2_INSTALL_LIBSTDCPP + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11 + help + MongoDB is a cross-platform document-oriented database (NoSQL). + + It uses JSON-like documents with dynamic schemas (BSON), making + the integration of data in certain types of applications easier + and faster. + + https://www.mongodb.org/ + +comment "mongodb needs a (e)glibc toolchain w/ wchar, threads, C++, gcc >= 4.8" + depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_GLIBC || \ + !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 diff --git a/package/mongodb/mongodb.hash b/package/mongodb/mongodb.hash new file mode 100644 index 000000000000..0bdd66db93f8 --- /dev/null +++ b/package/mongodb/mongodb.hash @@ -0,0 +1,2 @@ +# Locally computed: +sha256 316496375f41f322839529d36e75e3275fdec468f7656fdbeb53ec8dc1ca5275 mongodb-r3.2.0.tar.gz diff --git a/package/mongodb/mongodb.mk b/package/mongodb/mongodb.mk new file mode 100644 index 000000000000..3bf449a23183 --- /dev/null +++ b/package/mongodb/mongodb.mk @@ -0,0 +1,64 @@ +################################################################################ +# +# mongodb +# +################################################################################ + +MONGODB_VERSION_BASE = 3.2.0 +MONGODB_VERSION = r$(MONGODB_VERSION_BASE) +MONGODB_SITE = $(call github,mongodb,mongo,$(MONGODB_VERSION)) + +MONGODB_LICENSE = AGPLv3, Apache-2.0 +MONGODB_LICENSE_FILES = GNU-AGPL-3.0.txt, APACHE-2.0.txt + +MONGODB_DEPENDENCIES = host-scons + +MONGODB_SCONS_TARGETS = mongod mongos + +MONGODB_SCONS_ENV = CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \ + -j"$(PARALLEL_JOBS)" + +# need to pass mongo version when not building from git repo +MONGODB_SCONS_OPTS = MONGO_VERSION=$(MONGODB_VERSION_BASE)- + +# WiredTiger database storage engine only supported on 64 bits +ifeq ($(BR2_ARCH_IS_64),y) +MONGODB_SCONS_OPTS += --wiredtiger=on +else +MONGODB_SCONS_OPTS += --wiredtiger=off +endif + +# JavaScript scripting engine and tcmalloc supported only on +# x86/x86-64 systems. Mongo target is a shell interface that +# depends on the javascript engine, so it will also only be +# build on x86/x86-64 systems. +ifeq ($(BR2_i386)$(BR2_x86_64),y) +MONGODB_SCONS_OPTS += --js-engine=mozjs --allocator=tcmalloc +MONGODB_SCONS_TARGETS += mongo +else +MONGODB_SCONS_OPTS += --js-engine=none --allocator=system +endif + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +MONGODB_DEPENDENCIES += openssl +MONGODB_SCONS_OPTS += --ssl=SSL +endif + +define MONGODB_BUILD_CMDS + (cd $(@D); \ + $(SCONS) \ + $(MONGODB_SCONS_ENV) \ + $(MONGODB_SCONS_OPTS) \ + $(MONGODB_SCONS_TARGETS)) +endef + +define MONGODB_INSTALL_TARGET_CMDS + (cd $(@D); \ + $(SCONS) \ + $(MONGODB_SCONS_ENV) \ + $(MONGODB_SCONS_OPTS) \ + --prefix=$(TARGET_DIR)/usr \ + install) +endef + +$(eval $(generic-package))