Browse Source

package/lmdb: new package

Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Francois Perrad 1 year ago
parent
commit
eb60c4054c
5 changed files with 50 additions and 0 deletions
  1. 1 0
      DEVELOPERS
  2. 1 0
      package/Config.in
  3. 13 0
      package/lmdb/Config.in
  4. 3 0
      package/lmdb/lmdb.hash
  5. 32 0
      package/lmdb/lmdb.mk

+ 1 - 0
DEVELOPERS

@@ -1141,6 +1141,7 @@ F:	package/libwpe/
 F:	package/linenoise/
 F:	package/linenoise/
 F:	package/ljlinenoise/
 F:	package/ljlinenoise/
 F:	package/lua-inotify/
 F:	package/lua-inotify/
+F:	package/lmdb/
 F:	package/lpeg/
 F:	package/lpeg/
 F:	package/lpty/
 F:	package/lpty/
 F:	package/lrandom/
 F:	package/lrandom/

+ 1 - 0
package/Config.in

@@ -1597,6 +1597,7 @@ menu "Database"
 	source "package/libodb-mysql/Config.in"
 	source "package/libodb-mysql/Config.in"
 	source "package/libodb-pgsql/Config.in"
 	source "package/libodb-pgsql/Config.in"
 	source "package/libpqxx/Config.in"
 	source "package/libpqxx/Config.in"
+	source "package/lmdb/Config.in"
 	source "package/mariadb/Config.in"
 	source "package/mariadb/Config.in"
 	source "package/mongodb/Config.in"
 	source "package/mongodb/Config.in"
 	source "package/postgresql/Config.in"
 	source "package/postgresql/Config.in"

+ 13 - 0
package/lmdb/Config.in

@@ -0,0 +1,13 @@
+config BR2_PACKAGE_LMDB
+	bool "lmdb"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  OpenLDAP Lightning Memory-Mapped Database
+
+	  LMDB is compact, fast, powerful, and robust and implements
+	  a simplified variant of the BerkeleyDB (BDB) API.
+
+	  https://symas.com/lmdb/
+
+comment "lmdb needs a toolchain w/ threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS

+ 3 - 0
package/lmdb/lmdb.hash

@@ -0,0 +1,3 @@
+# Locally computed
+sha256  dd70a8c67807b3b8532b3e987b0a4e998962ecc28643e1af5ec77696b081c9b0  lmdb-0.9.31.tar.gz
+sha256  310fe25c858a9515fc8c8d7d1f24a67c9496f84a91e0a0e41ea9975b1371e569  libraries/liblmdb/LICENSE

+ 32 - 0
package/lmdb/lmdb.mk

@@ -0,0 +1,32 @@
+################################################################################
+#
+# lmdb
+#
+################################################################################
+
+LMDB_VERSION = 0.9.31
+LMDB_SITE = $(call github,LMDB,lmdb,LMDB_$(LMDB_VERSION))
+LMDB_LICENSE = OLDAP-2.8
+LMDB_LICENSE_FILES = libraries/liblmdb/LICENSE
+LMDB_INSTALL_STAGING = YES
+
+define LMDB_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D)/libraries/liblmdb \
+		XCFLAGS="$(TARGET_CFLAGS)"
+endef
+
+define LMDB_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
+		DESTDIR="$(STAGING_DIR)" \
+		prefix=/usr \
+		install
+endef
+
+define LMDB_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/libraries/liblmdb \
+		DESTDIR="$(TARGET_DIR)" \
+		prefix=/usr \
+		install
+endef
+
+$(eval $(generic-package))