[meta-oe][hardknott][PATCH] lmdb: add recipe


Sakib Sajal
 

lmdb provides a high-performance embedded transactional
database in the form of a key-value store.

Signed-off-by: Sakib Sajal <sakib.sajal@...>
Signed-off-by: Khem Raj <raj.khem@...>
---
meta-oe/recipes-dbs/lmdb/files/run-ptest | 25 +++++++++++++++
meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb | 39 ++++++++++++++++++++++++
2 files changed, 64 insertions(+)
create mode 100644 meta-oe/recipes-dbs/lmdb/files/run-ptest
create mode 100644 meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb

diff --git a/meta-oe/recipes-dbs/lmdb/files/run-ptest b/meta-oe/recipes-dbs/lmdb/files/run-ptest
new file mode 100644
index 000000000..a6a7549b9
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/files/run-ptest
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+cd tests
+
+retval=0
+for t in mtest*
+do
+ mkdir testdb
+ ./$t > /dev/null && ./mdb_stat testdb > /dev/null
+ if [ $? -ne 0 ]; then
+ echo "FAIL: $t"
+ retval=$(( ${retval} + 1))
+ else
+ echo "PASS: $t"
+ fi
+ rm -rf testdb
+done
+
+if [ $retval -eq 0 ] ; then
+ echo "PASS: lmdb"
+else
+ echo "FAIL: lmdb"
+fi
+
+exit $retval
\ No newline at end of file
diff --git a/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
new file mode 100644
index 000000000..0746da141
--- /dev/null
+++ b/meta-oe/recipes-dbs/lmdb/lmdb_0.9.29.bb
@@ -0,0 +1,39 @@
+# SPDX-FileCopyrightText: 2017-2019 Volker Krause <vkrause@...>
+# SPDX-FileCopyrightText: 2019 Hannah Kiekens <hannahkiekens@...>
+#
+# SPDX-License-Identifier: MIT
+
+SUMMARY = "Lightning Memory-Mapped Database (LMDB)"
+HOMEPAGE = "https://symas.com/lightning-memory-mapped-database/"
+LICENSE = "OLDAP-2.8"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972"
+
+SRC_URI = "git://github.com/LMDB/lmdb.git;nobranch=1 \
+ file://run-ptest \
+"
+
+SRCREV = "LMDB_${PV}"
+
+inherit base ptest
+
+S = "${WORKDIR}/git/libraries/liblmdb"
+
+LDFLAGS += "-Wl,-soname,lib${PN}.so.${PV}"
+
+do_compile() {
+ oe_runmake CC="${CC}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}"
+}
+
+do_install() {
+ oe_runmake CC="${CC}" DESTDIR="${D}" prefix="${prefix}" libprefix="${libdir}" manprefix="${mandir}" SOEXT=".so.${PV}" LDFLAGS="${LDFLAGS}" install
+ cd ${D}/${libdir}
+ ln -s liblmdb.so.${PV} liblmdb.so
+ rm liblmdb.a
+}
+
+do_install_ptest() {
+ install -d ${D}${PTEST_PATH}/tests
+ for test in mtest mtest2 mtest3 mtest4 mtest5 mdb_stat; do
+ install -m 755 ${S}/$test ${D}${PTEST_PATH}/tests
+ done
+}
--
2.32.0

Join openembedded-devel@lists.openembedded.org to automatically receive all group messages.