From patchwork Fri Oct 2 11:03:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?0JvQtdC+0L3QuNC0INCu0YDRjNC10LIgKExlb25pZCBZdXJpZXYp?= X-Patchwork-Id: 1375653 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=140.211.166.138; helo=whitealder.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=yuriev.ru Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=yuriev-ru.20150623.gappssmtp.com header.i=@yuriev-ru.20150623.gappssmtp.com header.a=rsa-sha256 header.s=20150623 header.b=06nWnJgS; dkim-atps=neutral Received: from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C2nMy44KDz9s1t for ; Fri, 2 Oct 2020 21:10:21 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 908B886B72; Fri, 2 Oct 2020 11:10:17 +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 C9hL1KyqN5jw; Fri, 2 Oct 2020 11:10:14 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id 546B886A7D; Fri, 2 Oct 2020 11:10:14 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 9BE121BF2E3 for ; Fri, 2 Oct 2020 11:10:12 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 97DA186432 for ; Fri, 2 Oct 2020 11:10:12 +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 FBZRxukkhYlk for ; Fri, 2 Oct 2020 11:10:11 +0000 (UTC) X-Greylist: delayed 00:06:01 by SQLgrey-1.7.6 Received: from mail-ed1-f66.google.com (mail-ed1-f66.google.com [209.85.208.66]) by fraxinus.osuosl.org (Postfix) with ESMTPS id CDC8286403 for ; Fri, 2 Oct 2020 11:10:10 +0000 (UTC) Received: by mail-ed1-f66.google.com with SMTP id i1so1251617edv.2 for ; Fri, 02 Oct 2020 04:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yuriev-ru.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WDjcvbbebBA8DtIBX+K8q7RQO+lqOkD7bmMc12YUuJ4=; b=06nWnJgSe9CClSsS4N4EjBXm8+nU8JzuPoAET1k9r5C8ZPauqNPentu+FR3x79R8Cu McDSbYUBwN64fBBgAH2DFHtB+MUTodOsq1IdQBe89fkWWF+N5s/OlYi/DCkiP1SPA/5S 76zONWokYxgSIZ1a1/kJlKUoKONXjGAsXu5qJc8ExV4IaCH34f/dtXYBvg8OD7SGDcTl ouBUuT3ESVP30SUkp/osQCiq7Vt+bJT9RXFZId4B2/6c42VQ5vP4wWzjhb9cqi5YmO5I AqWASdcmbby7HPbslebrpHHmre7vCObQqTRqoJvBG5kkmDMRJNznYJzUf7ccq6YYJp6Z 7LhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=WDjcvbbebBA8DtIBX+K8q7RQO+lqOkD7bmMc12YUuJ4=; b=YqeKwadey534xH/JRrs5SmCOrHEwvO1m4WmmxTMfLfYWJgRM33PtxVTA227265c6Wf XnRSnNCkSKvG5+77nL+mz6j1SYtxwYI06YMbyNxNPD2b5+hIJRg+9kauILrKXSIBUJMs ef+MO88vxNRLXdUi9gFdelkxDJg1zmv9UrArFsZT2UkoRQxVAy0x+e0rxTOQhl+Ekt15 Zp8SM9e/o9uObndaSpHxgoJAN8lkGk/WGU8yqcqy6ZojNLdSQGZERCwri+TzYesItQbx 8J4jKd3c0ivKpWgS8rxX12wJ4U07Q5uA0ze7hEa6bzaISo0tTA7VU1K3cuoAeBdw3jMI Zshg== X-Gm-Message-State: AOAM530/jOoPwGmmREP/pSJtCTUbKAyb6+Gs0hm9VBDIONamsOOLlGYd 9RQtSci+zDNbDcEV2N9ln5rK/SU2DjHF4w== X-Google-Smtp-Source: ABdhPJyapo5+Y5Yh92DnOVnkFl2n7pRxqlrSmwbj1FkyidzCSWzCHYRDgF1T4HSGnDQ5Odk+Yuwb8A== X-Received: by 2002:a2e:82c8:: with SMTP id n8mr610543ljh.62.1601636646977; Fri, 02 Oct 2020 04:04:06 -0700 (PDT) Received: from ly-ThinkPad-X1-Carbon-2nd.router.bigbrother-matrix.ru ([31.130.36.33]) by smtp.gmail.com with ESMTPSA id a11sm228299lfk.262.2020.10.02.04.04.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Oct 2020 04:04:06 -0700 (PDT) From: Leonid Yuriev To: buildroot@buildroot.org Date: Fri, 2 Oct 2020 14:03:36 +0300 Message-Id: <20201002110337.17140-1-leo@yuriev.ru> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Subject: [Buildroot] [PATCH] package/libmdbx: new package (library/database). X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Leonid Yuriev Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" This patch adds libmdbx v0.9.1: - libmdbx is one of the fastest compact embeddable key-value ACID database. - libmdbx has a specific set of properties and capabilities, focused on creating unique lightweight solutions. - libmdbx surpasses the legendary LMDB (Lightning Memory-Mapped Database) in terms of reliability, features and performance. https://github.com/erthink/libmdbx Signed-off-by: Leonid Yuriev --- Changes v1 -> v2: - libmdbx version v0.8.2 -> v0.9.1 (released 2020-09-30) Signed-off-by: Leonid Yuriev --- DEVELOPERS | 3 ++ package/Config.in | 1 + package/libmdbx/Config.in | 35 ++++++++++++++++++++++ package/libmdbx/libmdbx.hash | 2 ++ package/libmdbx/libmdbx.mk | 57 ++++++++++++++++++++++++++++++++++++ 5 files changed, 98 insertions(+) create mode 100644 package/libmdbx/Config.in create mode 100644 package/libmdbx/libmdbx.hash create mode 100644 package/libmdbx/libmdbx.mk diff --git a/DEVELOPERS b/DEVELOPERS index 9352d891d3..301372fc40 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1544,6 +1544,9 @@ N: Leon Anavi F: board/olimex/a10_olinuxino F: configs/olimex_a10_olinuxino_lime_defconfig +N: Leonid Yuriev +F: package/libmdbx + N: Lionel Flandrin F: package/python-babel/ F: package/python-daemonize/ diff --git a/package/Config.in b/package/Config.in index 51583d07d6..f87e0388a0 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1370,6 +1370,7 @@ menu "Database" source "package/kompexsqlite/Config.in" source "package/leveldb/Config.in" source "package/libgit2/Config.in" + source "package/libmdbx/Config.in" source "package/libodb/Config.in" source "package/libodb-boost/Config.in" source "package/libodb-mysql/Config.in" diff --git a/package/libmdbx/Config.in b/package/libmdbx/Config.in new file mode 100644 index 0000000000..7d2d321095 --- /dev/null +++ b/package/libmdbx/Config.in @@ -0,0 +1,35 @@ +config BR2_PACKAGE_LIBMDBX + bool "libmdbx" + depends on BR2_USE_MMU + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 + depends on BR2_TOOLCHAIN_HAS_SYNC_4 + help + One of the fastest compact key-value ACID database + without WAL. libmdbx has a specific set of properties + and capabilities, focused on creating unique lightweight + solutions. + + libmdbx surpasses the legendary legendary LMDB in terms of + reliability, features and performance. + + https://github.com/erthink/libmdbx + +if BR2_PACKAGE_LIBMDBX + +config BR2_PACKAGE_LIBMDBX_TOOLS + bool "install tools" + help + Install libmdbx tools for checking, dump, restore + and show statistics of databases. + +# C++ API is preliminary for now +#config BR2_PACKAGE_LIBMDBX_CXX +# bool "C++ API" +# select BR2_INSTALL_LIBSTDCPP +# help +# Enable modern C++ API for libmdbx. + +endif + +comment "libmdbx needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/libmdbx/libmdbx.hash b/package/libmdbx/libmdbx.hash new file mode 100644 index 0000000000..f48cd81a7d --- /dev/null +++ b/package/libmdbx/libmdbx.hash @@ -0,0 +1,2 @@ +sha256 310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569 LICENSE +sha256 c7fb24381eb4d92f2e2edc17e577cb721269683c816c6cca307c58f6f346e786 libmdbx-amalgamated-0.9.1.tar.gz diff --git a/package/libmdbx/libmdbx.mk b/package/libmdbx/libmdbx.mk new file mode 100644 index 0000000000..894b7f0838 --- /dev/null +++ b/package/libmdbx/libmdbx.mk @@ -0,0 +1,57 @@ +################################################################################ +# +# libmdbx +# +# One of the fastest embeddable key-value ACID database without WAL. libmdbx is +# superior to legendary LMDB in terms of reliability, features and performance. +# +################################################################################ + +LIBMDBX_VERSION = 0.9.1 +LIBMDBX_SOURCE = libmdbx-amalgamated-$(LIBMDBX_VERSION).tar.gz +LIBMDBX_SITE = https://github.com/erthink/libmdbx/releases/download/v$(LIBMDBX_VERSION) +LIBMDBX_SUPPORTS_IN_SOURCE_BUILD = NO +LIBMDBX_LICENSE = OLDAP-2.8 +LIBMDBX_LICENSE_FILES = LICENSE +LIBMDBX_REDISTRIBUTE = YES +LIBMDBX_STRIP_COMPONENTS = 0 +LIBMDBX_INSTALL_STAGING = YES + +LIBMDBX_CONF_OPTS = -DMDBX_INSTALL_MANPAGES:BOOL=OFF -DBUILD_FOR_NATIVE_CPU:BOOL=OFF + +# C++ API is preliminary for now +#ifeq ($(BR2_PACKAGE_LIBMDBX_CXX),y) +#LIBMDBX_CONF_OPTS += -DMDBX_BUILD_CXX:BOOL=ON +#else +#LIBMDBX_CONF_OPTS += -DMDBX_BUILD_CXX:BOOL=OFF +#endif + +ifeq ($(BR2_STATIC_LIBS),y) +LIBMDBX_CONF_OPTS += -DMDBX_INSTALL_STATIC:BOOL=ON +else +LIBMDBX_CONF_OPTS += -DMDBX_INSTALL_STATIC:BOOL=OFF +endif + +ifeq ($(BR2_SHARED_LIBS),y) +LIBMDBX_CONF_OPTS += -DMDBX_BUILD_SHARED_LIBRARY:BOOL=ON +LIBMDBX_INSTALL_TARGET = YES +ifeq ($(BR2_PACKAGE_LIBMDBX_TOOLS),y) +LIBMDBX_CONF_OPTS += -DMDBX_BUILD_TOOLS:BOOL=ON -DMDBX_LINK_TOOLS_NONSTATIC:BOOL=ON +else +LIBMDBX_CONF_OPTS += -DMDBX_BUILD_TOOLS:BOOL=OFF +endif + +else + +LIBMDBX_CONF_OPTS += -DMDBX_BUILD_SHARED_LIBRARY:BOOL=OFF +ifeq ($(BR2_PACKAGE_LIBMDBX_TOOLS),y) +LIBMDBX_CONF_OPTS += -DMDBX_BUILD_TOOLS:BOOL=ON -DMDBX_LINK_TOOLS_NONSTATIC:BOOL=OFF +LIBMDBX_INSTALL_TARGET = YES +else +LIBMDBX_CONF_OPTS += -DMDBX_BUILD_TOOLS:BOOL=OFF +LIBMDBX_INSTALL_TARGET = NO +endif + +endif + +$(eval $(cmake-package))